Resumes
Resume Parsing Explained
How applicant tracking systems extract fields from your file—and why columns, headers, and images make qualified people look like empty records.
Recruiters do not open your PDF first. In most companies the first "reader" is a parser: software that copies your file into fields in Greenhouse, Workday, Lever, iCIMS, Taleo. Ranking, recruiter search, and the preview pane all run on that copy.
If the copy is wrong, nothing downstream can save you. This page is the systems explainer. ATS Resume Format is the fix-it checklist. Both belong to the Ultimate ATS Resume Guide.
What parsing is trying to fill
A typical extractor is hunting for:
- Identity and contact (name, email, phone, URL)
- Section boundaries (Experience vs Education vs Skills)
- Role lines (title, employer, location, start, end)
- Body text under each role
- A skills list
- Education and credentials
It is not scoring your leadership. It is not "rejecting" a font. It is filling a form. Empty form, empty candidate.
That is why format failures do not look like failures. There is no error toast. There is a plausible-looking profile with a blank skills field, and every search against that field misses you.
How the machine actually reads
Rough pipeline:
- Text extraction. PDF/DOCX → a stream of characters. Scanned pages need OCR; many pipelines skip or cheap out.
- Reading order. Tokens are ordered as the file encoded them, not as your eyes read a sidebar.
- Section mapping. Headings that match known labels (
Experience,Education,Skills) become buckets. "My Journey" often becomes leftover text. - Field assembly. Repeated patterns (Title, Company, Dates) train the guess for the next role. Inconsistent date formats break the guess.
- Skills harvest. Lists, commas, and known skill dictionaries. Icons and bars harvest nothing.
Two-column layouts die at step 3. The stream becomes Senior Engineer React Acme TypeScript 2021–Present led migration... and the skills field stays empty because those words landed in Experience.
Headers and footers die at step 1. Plenty of extractors never look there. Your email never enters the record.
What good extraction looks like
You do not need vendor software to approximate it.
Paste test. Select all in the PDF, paste into a plain-text editor. Check:
- Name and email first, not missing
- Experience in chronological blocks, not spliced with a sidebar
- Dates glued to the right jobs
- Skills as words, not
□□□□
If you cannot reconstruct the resume from paste, neither can Workday.
Form test. When a portal auto-fills application fields from the upload, read them. Wrong titles and missing jobs are parse errors you can still correct in the form—and a signal to fix the file.
Human preview. Some ATS preview panes show the parsed record, not your design. If a recruiter comments that your resume "looks sparse," ask whether they are looking at parse vs PDF.
Parse check — before you tailor wording
- Text is selectable in the PDF
- Paste order matches visual order
- Contact is in the body
- Headings are Experience, Education, Skills (or close cousins)
- Dates use one pattern
- Skills appear as words in paste
- Portal auto-fill matches the file; you correct mismatches
Related reading
- ATS Resume Format — the layout rules this pipeline requires
- How Applicant Tracking Systems Rank Candidates — what happens after fields fill
- Resume Scoring — scores on top of a bad parse are fiction
- Resume Templates — which files never reach step 1 cleanly
- Get started with Kyrolane