10 min read

Resume Parsing Explained: What ATS Actually Reads

August 22, 2026
Updated September 1, 2026

Steps to verify what an ATS parser extracts from your resume file.

Diagram-like desk scene: resume going into a scanner/parser with extracted fields on a monitor, no readable titles

Your resume looks perfect on screen. Then Workday imports it and your phone number lands in the employer field, your latest job has no dates, and half your skills vanish. That's not a rejection—it's resume parsing doing its job badly because the file gave it a puzzle instead of a straight line of text.

Most candidates think the ATS "scans for keywords" and grades them. Parsing is simpler and weirder than that. It turns your file into fields recruiters search later. Ranking, knockout questions, and human review happen after—and they're not the same thing. Before you upload again, check your resume for free and see what text actually comes out.

I've opened thousands of candidate profiles where the attachment was fine and the parsed record was garbage. The fix is almost always layout, not content. Let's walk through what the ATS reads, what it ignores, and what you can control.

Quick Wins

  • Copy your resume into Notepad or TextEdit and read the order top to bottom.
  • Search your PDF for your phone number—if it doesn't highlight, the text isn't selectable.
  • Open Word, turn on gridlines, and check whether dates sit inside hidden tables.

What is resume parsing?

Resume parsing is automated extraction: your file goes in, text comes out, and software tries to slot pieces into fields—name, email, phone, employer, title, start date, end date, degree, skills. The original PDF or DOCX may still attach for human review, but recruiters often search and filter the structured record first.

Parsing answers "what text and fields can we recover?" It does not answer "should we hire this person?" Those are different systems—and different people.

This is not the same as ATS ranking or matching. A parser can extract a perfect resume that ranks poorly because required criteria are missing. It can also scramble a messy file while a recruiter still understands the attachment. Neither outcome means every platform behaves identically.

Workday's candidate-profile importer, Greenhouse text extraction, Taleo field mapping, and Lever's resume storage all follow this pattern with different quirks. For platform-specific layout rules, see Workday resume format (2026) .

What the ATS actually reads: section by section

The pipeline: file → text → fields → search → review

When you upload, the system receives a file and extracts text. A parser identifies regions, line order, labels, and patterns. It classifies text into candidate fields. After parsing, knockout questions, recruiter filters, search queries, and hiring-manager review act on that record—often in different orders.

If a phone number lands in the employer field, that's parsing. If a search for Python doesn't return a resume that never says Python, that's retrieval. If you answer no to a mandatory license question, workflow may reject regardless of formatting. Naming the stage prevents useless fixes.

Contact and header: what parsers hunt first

At the top, parsers look for identity patterns: a likely name, email syntax, phone number, location, URLs. Place those in ordinary body text. Parsers may skip headers, misread icons, or treat a portfolio label as the name. One professional email, one phone, city and state.

Before: phone and email beside icons in the document header only. After: "Chicago, IL | 312-555-0100 | [email protected] | linkedin.com/in/name" as selectable body text. The change doesn't add qualifications—it protects contact extraction.

Experience: employer, title, dates, bullets

In Experience, parsers group employer, title, location, dates, and nearby descriptions into records. Consistency helps. If one role uses employer-title-date while another uses date-location-title in floating boxes, classification gets harder. Dates should use month-year: "Jan 2023 – Present."

Before: left column says "2019–2024" while the right column says "Operations Manager, Northstar Distribution." After: "Operations Manager | Northstar Distribution | Chicago, IL | 2019–2024" as one record. Clearer proximity signals for both parser and human.

Edge case — promotions: one employer with separate titles and date ranges works when the hierarchy stays linear. Don't nest promotions inside a paragraph.

Education, certifications, and skills

Education needs institution, qualification, field, and date. Skills may extract from a dedicated section and from experience text. A list makes terms searchable; experience proves context. Parsers don't infer skill from a five-star graphic.

Before: five-dot rating labeled SQL; bullet says "Worked with databases." After: Skills states "SQL: joins, CTEs, window functions;" Experience states "Wrote SQL exception queries to reconcile duplicate order records before weekly finance close."

Parsing vs ranking vs recruiter search

Ranking compares records with role criteria. Search retrieves terms and filters. A sourcer might search ("account executive" OR "sales executive") AND Salesforce AND healthcare. Some systems add stemming or synonyms; others depend on literal terms.

Use exact posting terminology where it truthfully matches your work. Spell out uncommon abbreviations once. Connect each important term to a dated accomplishment. Read what a good ATS score means so you don't treat a third-party diagnostic as employer access.

Formatting that breaks reading order

Columns are risky because visual order and encoded order differ. A human sees left rail then main body; extracted text might alternate lines or read the entire left column first. Tables can dump dates before job titles. Text boxes can be skipped. Headers and footers may be ignored. Image-only PDFs contain pixels unless OCR runs—and OCR adds errors.

Icons are poor substitutes for words: an envelope doesn't reliably mean email. Use black or high-contrast text, standard bullets, readable hyperlinks. Test with plain-text copy, but understand its limit—it approximates order; it doesn't reproduce every employer parser.

Workday and Greenhouse in practice

Workday Recruiting often populates structured work and education rows. Candidates see fields filled from the resume and can correct them. Detached date columns and header-based contact cause extra cleanup. Recruiters may filter structured data separately from attachment text.

Greenhouse extracts resume text, supports search, and preserves the source attachment. Employers connect additional tools—but there's no universal Greenhouse algorithm. Clear text and job-related terms support search without depending on a secret score. In both systems, the recruiter is not limited to the parse—they may open your resume, review application answers, compare candidates, and collaborate with a hiring manager.

A clean parse improves discoverability and reduces confusion; it does not override required qualifications or guarantee attention. Your goal is faithful transmission of evidence from document to profile to human reader.

Edge case — title mismatch: your official title was "Associate II" but the work was account support. Keep the official title; add a parenthetical clarifier and write bullets in target language. Parsers map the title field; humans read the bullets.

Edge case — freelance and contract work: label the relationship accurately. "Independent Consultant" or "Contract Analyst (via Agency Name)" is fine when true. Don't list contract roles as full-time employment without context.

The parsing audit: do this on the upload file

  1. Confirm text is selectable in the PDF.
  2. Copy all content into plain text; inspect sequence.
  3. Verify name, email, phone, location appear before experience.
  4. Check every employer-title-date grouping.
  5. Inspect Education and Certifications.
  6. Search extracted text for role title and critical skills.
  7. Remove text boxes, detached date rails, icon-only fields.
  8. Use standard headings: Experience, Education, Skills.
  9. Export in employer-requested format.
  10. Upload and examine populated fields; correct errors.

If parsing stays poor, simplify the source—fresh DOCX, one column, paste text without design formatting. Reapply headings and bullets. A cleaner source beats converting a complex design between PDF, DOCX, and online editors. See how to beat an ATS system for the full workflow.

Myth busting: what parsing does not do

Parsing does not grade your writing style, your font choice (when text is embedded), or your use of color—unless color means the text isn't readable. It does not automatically reject you for using Calibri instead of Arial. It does not understand that a logo icon represents LinkedIn.

Avoid the myth that adding invisible white keywords will trick the machine. Hidden text can surface in extracted views, create inconsistent records, and damage trust when a recruiter opens the attachment. Copying a posting verbatim has similar credibility problems.

Another myth: "the robot rejected me" minutes after submit. That timing often follows knockout answers, role closure, duplicate handling, or location rules—not a parsing penalty. You generally cannot infer the reason from timing alone.

What a parser cannot establish from your resume

Extraction can identify that a document contains "budget forecasting," but it cannot reliably establish how independently you forecasted, whether the method was sound, or how you handled disagreement. It cannot validate every credential, measure interview communication, or know why a role ended. Those questions belong to screening, assessment, references, and human review.

Write enough context to make good follow-up possible without pretending the parser understands professional quality. Parsing identifies information; later evaluation tests credibility, depth, and judgment. Recruiters may search extracted text, filter structured fields, review knockout questions, and inspect the original file long after upload—so both the record and the attachment need to tell the same true story.

Common resume parsing mistakes (and fixes)

Assuming "the robot rejected me." Rejection minutes after submit might follow knockout answers, role closure, or workflow—not parsing. Diagnose the stage before rewriting bullets for the wrong problem.

Trusting the visual preview. Your resume can look perfect while structured fields are blank. Always verify auto-filled Workday or Greenhouse fields after upload.

Hidden white keywords. Hidden text can surface in extracted views and damage trust. Copying a posting verbatim has similar credibility problems. Use job terms only when they describe real work.

Two-column "modern" templates. Skills beside a timeline force the parser to guess reading order. It often guesses wrong, attaching skills to the wrong job.

Contact info only in header/footer. Some Workday configurations don't scan those regions. Your profile ends up with no phone number even though it's visible on the page.

Scanned or flattened PDFs. No selectable text means empty fields. Export from Word or Google Docs as text-based PDF, not a photo of a page.

Creative section headers. "My Journey" or "Where I've Been" don't map to Experience or Education fields. Workday's importer looks for recognizable keywords—not poetry. Stick to Experience, Education, Skills, Summary.

Fix layout before you rewrite content for the wrong stage. If extraction fails, no amount of keyword tuning will make your phone number searchable in the recruiter database.

Test parsing before the employer upload

Run your exact submission file through HireFlow's free ATS resume checker . You'll see category-level parsing feedback: contact extraction, section order, likely keyword coverage. Fix structure first, then tailor language with the job match score when you have a specific posting.

What to upload: the same PDF or DOCX you'll submit—not an editable master with different formatting. What to look at: missing dates, scrambled employers, skills that didn't extract. If contact details fail, move them into body text before you touch bullet wording.

Pair a clean parse with a letter from the cover letter generator when the role allows it. The letter carries context parsing can't structure—career changes, relocation, or project highlights.

If you're rebuilding from a broken template, start from the free resume builder with single-column structure. Export once, test once, upload once—don't iterate on five different file types and wonder why each parser sees something different.

Frequently asked questions

Resume parsing is the conversion of a resume file into extracted text and structured fields such as name, contact details, employers, titles, dates, education, and skills. Parsing organizes information; it does not by itself decide whether a candidate should be hired.

Not simply because a parser ran. Rejection can result from knockout questions, required qualifications, recruiter disposition, workflow rules, or employer review. Parsing errors can reduce search visibility or create bad fields, but the robot rejected me is usually too broad an explanation.

Text boxes, multi-column reading order, tables, detached dates, image-only text, headers and footers, icons used instead of labels, unusual section names, and inconsistent job-entry patterns create common problems. The exact result varies by parser and file.

No. Parsing extracts and classifies data. Ranking or matching compares candidate information with role criteria using employer configuration or another scoring method. Recruiter search retrieves records using terms and filters. These are related but distinct operations.

Copy the document into plain text, inspect reading order, then run a parser or ATS check. Verify contact details, titles, employers, dates, education, and critical skills. The employer upload remains the decisive test, so review and correct its application fields.

Tags

resume parsingATS parserwhat ATS readsresume data extractionATS rankingrecruiter searchWorkday parsingGreenhouse parsingresume parsing errorsATS mythsresume field mapping