Every article explaining resume parsing is written for HR software buyers. How parsing helps recruiters process volume. How it saves time. How it integrates with your HRIS.

Nobody writes it from the other side — the candidate side. What actually happens to your resume when you hit submit. What the system does with it. Why it sometimes works and why it sometimes fails in ways that make you completely invisible.

I've been a technical recruiter for over twenty years. I've reviewed resumes inside a dozen enterprise ATS platforms. Here's what I've never seen in any of those recruiter-facing explainers: an honest account of what parsing failure looks like from the candidate's seat.

"The parser reads your resume before any human does. If it struggles with your file, you may never exist in the system — regardless of how qualified you are."

What resume parsing actually is

Resume parsing is the automated process that happens the moment your file lands in an applicant tracking system. The ATS doesn't read your resume the way a human would — scanning the page, absorbing context, making judgments. It runs your file through parsing software that attempts to extract specific data points and populate them into structured database fields.

Those fields typically include:

Contact information
Name, email address, phone number, LinkedIn URL, city and state. If any of these land in the wrong field or don't get extracted, a recruiter searching for candidates may not find you — or may find you with wrong contact details.
Work history
Job titles, company names, start and end dates, job descriptions. This is the most complex extraction. Dates especially are prone to misreading depending on format.
Education
Degree type, institution name, graduation year. For recent grads, this section carries more weight — and more parsing risk.
Skills
Technical skills, tools, certifications, languages. What the parser extracts here determines whether you surface in keyword searches.

Once extracted, this data gets normalized and stored. From that point forward, recruiters interact with your data — not your document. They search, filter, and rank based on what the parser put into those fields. If the parser got it wrong, your data is wrong. And wrong data in an ATS is functionally the same as no data.

The three-step process — and where each step fails

Understanding the parsing pipeline helps you see exactly where problems enter.

Step 1: Document conversion

Before any data extraction happens, the ATS has to convert your file into machine-readable text. PDFs and Word documents handle this differently. A Word document is already structured text — conversion is straightforward. A PDF is more complex: it may be text-based (made from a word processor) or image-based (scanned or exported from design software). Image-based PDFs require OCR — optical character recognition — to extract any text at all. Some ATS platforms handle this well; others don't.

If you built your resume in a graphic design tool and exported to PDF, there's a meaningful chance the parser sees an image, not text. Everything you wrote is invisible.

Step 2: Structure recognition

Once the parser has raw text, it has to figure out what each piece of text is. Is this a job title or a company name? Is this date a start date or an end date? Is this a skill or a responsibility? The parser uses pattern recognition, NLP (natural language processing), and predefined rules to make these determinations.

This is where formatting does its damage. Two-column layouts are the most notorious example. The parser reads left-to-right across the full page width — not column by column. Content from your left column and right column gets mixed together in a single reading pass. Job titles merge with dates. Skills get appended to company names. The result is a scrambled candidate record that no search will surface correctly.

What this looks like in the ATS

A candidate with a two-column resume applies for a software engineering role. The parser reads their left-column job title "Senior Software Engineer" and immediately picks up their right-column skill list "Python | React | AWS" as part of the same field. Their job title in the ATS reads: "Senior Software Engineer Python React AWS." Their actual skills field is empty. A search for "Python" doesn't find them.

Step 3: Field population and normalization

Extracted data gets written into the ATS database. At this stage, the system also normalizes certain fields — standardizing date formats, resolving common company name variations, mapping skills to a predefined taxonomy. This is generally helpful, but normalization can introduce errors when the input data was already wrong from step two.

Dates are especially vulnerable here. "Present," "Current," "Now," "Ongoing" — parsers handle these differently. Abbreviated years like "2019-21" instead of "2019-2021" can confuse tenure calculations. Missing end dates on your current role can make your experience appear to have ended years ago.

See what the parser actually extracted from yours.

ParseProof runs your resume through the same parsing infrastructure hiring software vendors license — and shows you exactly what it found. Use ParseProof's free ATS resume checker to see every field that was extracted, every field that was missed, and what that means for your visibility.

Get Your Free Score

Free · Full report $19 one-time · No subscription

The specific things that break parsing

After reviewing thousands of parsed resumes in real ATS environments, these are the formatting choices that consistently cause problems.

Why this matters more than you think

Here's the part nobody says clearly: when a recruiter opens a candidate record and the data is wrong or missing, they almost never investigate why. They move to the next candidate. There are hundreds more applications waiting. The assumption is that the candidate simply didn't include that information — not that the parser dropped it.

This is the invisible problem. You did everything right. You tailored your resume. You applied through the correct portal. You submitted before the deadline. And you may still be invisible in the system because of a formatting decision you made two years ago when you downloaded a template that "looked professional."

"Parser quality varies across ATS platforms. But even modern systems have failure modes. And most enterprise systems are not running the latest version."

What good parsing looks like

When a resume parses cleanly, the recruiter sees a complete candidate record: your name and contact info in the right fields, your work history in chronological order with accurate dates, your skills extracted and searchable, your education correctly attributed. You show up in searches. Your tenure calculates correctly. Your LinkedIn URL links through.

The resume that achieves this is almost always boring to look at. Single column. Standard section headers. Simple formatting. No graphics, no tables, no creative layouts. It's the resume that a human might call "plain" — and that a parser reads perfectly.

That doesn't mean your resume has to be ugly. It means the formatting choices that signal creativity to a human eye often signal noise to a machine. The goal is to give the parser nothing to trip on — so your actual content, your actual experience, your actual qualifications get through cleanly.

Find out if yours is getting through.

ParseProof checks 28+ ATS factors — contact completeness, date formatting, skills extraction, LinkedIn presence — and shows you exactly what the system extracted from your resume. Free in 60 seconds. No job posting needed.

Get Your Free Score

Free · Full report $19 one-time · No subscription

The practical checklist

Before you apply to your next role, run through these:

  1. Single-column layout only. If your current template uses two columns, rebuild it in single column before your next application. The formatting cost is real.
  2. Contact info in the body, not the header. Put your name, email, phone, and LinkedIn URL in the main document body — not in a Word header or footer element.
  3. Standard section names. Use "Work Experience" or "Professional Experience," "Education," "Skills," "Certifications." Not creative alternatives.
  4. Consistent date format throughout. Pick one format — "Month YYYY" is safest — and use it everywhere. Don't mix formats across roles.
  5. LinkedIn URL present and correct. Include your full LinkedIn URL. Make sure the profile it links to is complete, with a photo.
  6. No images, icons, or graphics. Remove headshots, skill bars, logo icons, or any embedded images. They're invisible to parsers.
  7. Check what the parser actually sees. Use a free ATS resume checker to verify what hiring software extracted before you apply. Don't assume — confirm.

None of this is exciting. It won't get shared as a career tip on LinkedIn. But it's the difference between a resume that exists in the ATS and one that gets lost in it — and between hearing back and hearing nothing.

J
Jamie Koback
Senior Technical Recruiter · 20+ Years Experience
Enterprise and agency recruiter who has reviewed resumes across dozens of ATS platforms over 20+ years. Built ParseProof because too many qualified candidates were invisible for preventable reasons.