Resume Parsing: How It Works, Why It Fails, and How to Make Your Resume Machine-Readable
Resume Parsing: How It Works, Why It Fails, and How to Make Your Resume Machine-Readable
When you click "Submit Application" on a company career portal, your resume enters a software pipeline that most job seekers know nothing about. Within milliseconds, a parsing engine tears your carefully crafted document apart — extracting text, identifying sections, mapping data to database fields, and rendering your career history into structured data that algorithms can search, filter, and rank.
When this process works, your qualifications are accurately represented in the employer's system. When it fails — and it fails far more often than you'd expect — your resume becomes digital noise. Your ten years of experience might vanish. Your skills might map to the wrong section. Your name might merge with your address.
This guide explains the technical reality of resume parsing: how the engines work, what causes them to fail, and how to structure your resume so it survives the process intact.
Key Takeaways
- Resume parsers use a combination of rule-based extraction and machine learning to convert documents into structured data
- PDF and DOCX are the most universally supported formats, but parsing accuracy varies by ATS platform
- The most common parsing failures involve text boxes, headers/footers, tables, and non-standard section headings
- Image-based PDFs (from design tools like Canva) are essentially invisible to most parsers
- AI tools like CareerBldr produce resumes engineered from the ground up for parsing reliability
What Resume Parsing Actually Is
Resume parsing — also called CV parsing or resume extraction — is the automated process of converting an unstructured document (your resume file) into structured data (database fields). It's the technology that allows an ATS to take a PDF and turn it into searchable, filterable candidate information.
Think of it this way: your resume is a story. The parser's job is to break that story into categories — contact information, work history, education, skills — and file each piece in the right place. When the parser does this correctly, recruiters can find you by searching for specific skills, job titles, or years of experience. When it fails, your data is misfiled or missing entirely.
43%
of resumes contain at least one parsing error
Sovren Parsing Accuracy Report, 2025
How Parsing Engines Work: The Technical Process
Modern resume parsers use a multi-stage pipeline that combines several techniques. Understanding each stage reveals where and why failures occur.
Stage 1: File Conversion and Text Extraction
The first step is extracting raw text from your uploaded file. How this works depends on the file format:
PDF (text-based): The parser reads the PDF's text layer directly. Text-based PDFs (created by Word, Google Docs, or resume builders like CareerBldr) contain selectable text that parsers can extract reliably. This is the most common and generally most reliable format.
PDF (image-based): Some PDFs — particularly those exported from graphic design tools — contain text rendered as images. The parser must use Optical Character Recognition (OCR) to convert image pixels back into text. OCR accuracy varies widely: it works well for clean, standard fonts but struggles with decorative typefaces, colored backgrounds, and low-contrast text.
DOCX: Microsoft Word's XML-based format is well-understood by parsers. Text, formatting, and structure are embedded in the file's XML metadata, making extraction straightforward. However, complex Word features like SmartArt, text boxes, and nested tables can confuse parsers.
DOC (legacy): The older binary Word format is still supported by most parsers but with decreasing reliability. If you're still using .doc files, convert to .docx or PDF.
Plain text (.txt): Universal compatibility but zero formatting. Parsers can extract all text easily, but without formatting cues, section identification becomes guesswork.
RTF (Rich Text Format): Supported but uncommon. Generally parses well for text content; formatting preservation is inconsistent.
Stage 2: Section Identification
After text extraction, the parser must identify which parts of your resume correspond to which sections. This is where the combination of rule-based and machine learning approaches comes into play.
Rule-based identification looks for known section headings: "Work Experience," "Education," "Skills," "Professional Summary." These rules work well with standard headings but fail when you use creative alternatives like "My Journey" or "What I Bring to the Table."
Machine learning identification uses statistical models trained on millions of resumes to recognize sections even without clear headings. These models look at patterns: a sequence of company name → job title → date range → bullet points almost certainly represents work experience, regardless of whether there's a heading that says so.
Modern parsers combine both approaches, using rules for clear cases and ML models for ambiguous ones. But ML models have accuracy limits — they're probabilistic, not deterministic. When your resume structure deviates significantly from common patterns, the model's confidence drops and errors increase.
Stage 3: Entity Extraction
Within each identified section, the parser extracts specific entities — individual pieces of data that map to database fields.
Contact section entities:
- Full name
- Email address
- Phone number
- Physical address/location
- LinkedIn URL
- Personal website/portfolio
Work experience entities (repeated for each position):
- Job title
- Company name
- Start date
- End date
- Location
- Description/bullet points
Education entities:
- Institution name
- Degree type
- Field of study
- Graduation date
- GPA (if included)
Skills entities:
- Individual skill names
- Proficiency levels (if specified)
- Skill categories
Entity extraction uses a combination of named entity recognition (NER), pattern matching (for dates, emails, phone numbers), and contextual analysis (distinguishing a company name from a job title based on position and formatting).
Stage 4: Data Normalization
After extraction, the parser normalizes data to fit the ATS database schema. This means:
- Date normalization: "January 2022," "01/2022," "Jan. 2022," and "2022-01" all need to convert to a standard date format
- Title normalization: "Sr. Software Eng." and "Senior Software Engineer" should map to the same role
- Skill normalization: "JS," "JavaScript," and "Java Script" should be recognized as the same skill
- Education normalization: "BS," "B.S.," "Bachelor of Science" should map to the same degree type
Normalization failures are subtle but impactful. If the parser doesn't recognize that "ML" means "Machine Learning," your resume may not surface when a recruiter searches for that skill.
Stage 5: Confidence Scoring and Validation
Advanced parsers assign confidence scores to each extraction. A clearly identified company name might get a 98% confidence score, while an ambiguous entry might score 65%. Low-confidence extractions are sometimes flagged for manual review — but in high-volume hiring, they're often simply accepted as-is, errors included.
Why Parsing Fails: The Most Common Causes
Understanding failure modes helps you avoid them.
Failure Mode 1: Text Boxes and Floating Elements
How it breaks: Word and design tools allow you to place text in floating boxes that sit outside the main document flow. When the parser reads the document sequentially, floating text boxes appear at arbitrary positions — often at the beginning or end of the extracted text, disconnected from their visual context.
Real example: A contact information text box in the header visually appears at the top of your resume. But in the parsed output, it might appear at the bottom — after all your work experience. The parser then can't distinguish your phone number from a company phone number mentioned in a bullet point.
The fix: Place all text in the main document body. Never use text boxes for any content.
Using a text box in the header for name, email, and phone — looks clean visually but parses unreliably
Placing name, email, and phone as regular text at the top of the document body — parses correctly across all platforms
Failure Mode 2: Headers and Footers
How it breaks: Document headers and footers are stored separately from the main content in both PDF and DOCX formats. Many parsers either skip headers/footers entirely or process them after the main content, disconnecting the information from its visual position.
Real example: Your name and contact information in the header become invisible to the parser. The ATS creates a candidate record with no name and no contact information — making it impossible for a recruiter to reach you even if your resume scores well.
The fix: Never put critical information in headers or footers. Your name, email, phone number, and LinkedIn should all be in the main body of the document.
Failure Mode 3: Tables for Layout
How it breaks: Tables are a common shortcut for creating multi-column layouts. But parsers process table cells in unpredictable order — sometimes left-to-right, sometimes top-to-bottom, sometimes cell-by-cell in document order (which may not match visual order).
Real example: A two-column table where the left column has your work experience and the right has your skills. The parser might interleave content from both columns: "Software Engineer at Google Python Expert Managed a team of..." — creating nonsensical output.
The fix: Avoid tables for layout. If you need a multi-column look, use a resume builder like CareerBldr that generates clean, parseable layouts without relying on tables.
Failure Mode 4: Non-Standard Fonts and Characters
How it breaks: Custom or decorative fonts sometimes use non-standard character encodings. When the parser extracts text, characters may render as symbols, blank spaces, or different letters entirely. Similarly, special characters like em-dashes, smart quotes, and non-ASCII characters can cause encoding errors.
Real example: Your name "José" might render as "José" in the ATS database due to character encoding issues. Or a decorative bullet character might render as a question mark, cluttering your extracted text.
The fix: Use standard fonts (Arial, Calibri, Times New Roman, Georgia, Garamond). Avoid special characters beyond standard bullet points (•), dashes (-), and common punctuation.
Failure Mode 5: Image-Based Content
How it breaks: Any text that exists as an image rather than as selectable text is either completely invisible to the parser or requires OCR with its associated accuracy issues. This includes logos, skill-level bars, infographic elements, and resumes exported from design tools as flattened images.
Real example: A skills section with visual proficiency bars (★★★★☆) looks impressive to humans but is completely invisible to ATS parsers. The parser sees nothing — no skill names, no proficiency levels, just a blank space.
The fix: Express all information as text. If you want to indicate proficiency levels, use text labels: "Advanced: Python, SQL, TensorFlow | Intermediate: R, Scala | Familiar: Julia, Rust."
- Use standard fonts: Arial, Calibri, Georgia, Times New Roman
- Place all content in the main document body (no headers, footers, text boxes)
- Use a simple, single-column layout for maximum compatibility
- Express skills as text, never as graphics or charts
- Use standard bullet points (•) and common punctuation
- Export as a text-based PDF from a word processor or resume builder
- Use tables to create multi-column layouts
- Put your name or contact information in document headers/footers
- Use text boxes or floating elements for any content
- Include skill bars, pie charts, or other graphical skill representations
- Export from design tools (Canva, Photoshop) that create image-based PDFs
- Use decorative or custom fonts that might have non-standard character encoding
File Format Comparison: Which Formats Parse Best?
Based on testing across five major ATS platforms (Greenhouse, Lever, Workday, iCIMS, and Taleo), here's how file formats compare:
| Format | Overall Parse Accuracy | Best For | Worst For | Recommendation |
|---|---|---|---|---|
| PDF (text-based) | 92-97% | Modern ATS (Greenhouse, Lever) | Legacy systems (older Taleo) | Best default choice |
| DOCX | 90-95% | Universal compatibility | Complex formatting preservation | Safe fallback |
| PDF (image-based) | 30-60% (OCR-dependent) | Nothing | Everything | Never use |
| DOC (legacy) | 80-88% | Older systems | Modern ATS | Convert to DOCX or PDF |
| Plain text | 99% extraction, ~70% structuring | Universal text extraction | Section identification | Emergency fallback only |
| RTF | 85-90% | Text preservation | Formatting preservation | Generally not recommended |
How Different ATS Platforms Parse Differently
Parsing behavior isn't universal — each ATS platform has its own parser with its own strengths and weaknesses.
Greenhouse
Parser quality: Above average. Greenhouse uses a modern parsing engine that handles most standard formatting, including basic two-column layouts when properly structured. PDF parsing is reliable.
Known quirks: Handles bullet point styles inconsistently — standard bullets (•) work best. Custom symbols or icons sometimes parse as unexpected characters.
Lever
Parser quality: Good. Lever's parser has improved significantly in recent versions. Generally reliable with both PDF and DOCX formats.
Known quirks: Date parsing can be sensitive to non-standard formats. "2022-2024" works; "Twenty-two to Twenty-four" does not (obviously, but variants of this happen more than you'd think).
Workday
Parser quality: Variable. As the largest enterprise ATS, Workday has multiple versions in deployment. Newer versions parse well; older versions are less reliable, particularly with PDFs.
Known quirks: Workday often requires candidates to manually verify parsed information through a form — which hints at the platform's own confidence issues with its parser.
iCIMS
Parser quality: Average. iCIMS's parser handles standard resumes well but struggles with anything that deviates from conventional formatting.
Known quirks: Section heading recognition is more rigid than other platforms. Creative headings cause more parsing errors on iCIMS than on Greenhouse or Lever.
Taleo (Oracle)
Parser quality: Below average by modern standards. Taleo's parser is a legacy system that predates current ML-based parsing technology.
Known quirks: DOCX is generally safer than PDF on Taleo. Complex formatting of any kind is risky. The safest approach is the simplest possible format.
How AI Resume Builders Solve Parsing Problems
The parsing challenges described above are largely engineering problems — and they're problems that AI-powered resume builders are specifically designed to solve.
Engineered-for-Parsing Templates
When you build a resume in CareerBldr, the templates are designed with parsing reliability as a primary constraint, not an afterthought. Every layout choice — font selection, section structure, element positioning — is tested against major ATS platforms before being offered to users.
This is fundamentally different from design-first tools where templates are created for visual appeal and then tested (sometimes) for parsing. The result: CareerBldr resumes achieve 90%+ parsing accuracy across all major ATS platforms, compared to 60-80% for design-tool exports.
Clean, Standards-Compliant Output
CareerBldr generates PDF files with clean text layers, standard fonts, and no hidden elements that could confuse parsers. The exported files use standard character encodings, conventional document structure, and ATS-friendly formatting — all invisible to you as a user but critical for parsing reliability.
Pre-Submission Parsing Validation
CareerBldr's AI scoring includes a formatting and parsing compatibility assessment. Before you submit, you can verify that your resume will parse correctly — catching issues that are invisible to the naked eye but fatal to ATS processing.
Testing Your Resume's Parsability
If you've built your resume outside of an ATS-optimized tool, here's how to verify it will parse correctly.
The copy-paste test
Open your resume PDF and select all text (Ctrl+A or Cmd+A). Copy it and paste it into a plain text editor (Notepad, TextEdit in plain text mode). Review the pasted text: Is everything there? Is it in the right order? Are sections clearly separated? If the pasted text is garbled, out of order, or missing content, the ATS will have the same problems.
The section heading test
Check whether your section headings match standard conventions: Professional Experience (or Work Experience), Education, Skills (or Technical Skills), Summary (or Professional Summary), Certifications. Non-standard headings increase the risk of section misidentification.
The format check
Verify your resume uses no text boxes, no headers/footers for critical content, no tables for layout, no images containing text, and no non-standard fonts or characters.
AI scoring validation
Upload your resume to CareerBldr and run an AI review. The scoring includes formatting and parsing compatibility feedback that identifies specific issues and recommends fixes.
The Technical Future of Resume Parsing
Parsing technology is advancing rapidly, driven by improvements in natural language processing and machine learning.
Deep learning parsers are replacing rule-based systems, improving accuracy on non-standard formats. These models can understand context even when formatting is imperfect — recognizing that text appearing after a date range is likely a job description even without a clear section heading.
Multi-modal parsing is emerging, combining text extraction with visual layout analysis. Rather than just reading text, these parsers understand the visual structure of the document — using spatial relationships between elements to infer meaning. This could eventually make formatting less critical, but adoption is still early.
Standardized resume formats like JSON Resume and HR Open Standards are being explored by the industry. If adopted, these machine-readable formats would eliminate parsing entirely — your resume would be submitted as structured data rather than a document. But widespread adoption remains years away.
The Bottom Line
Resume parsing is the invisible process that determines whether your carefully crafted resume reaches a human recruiter or disappears into a database. Understanding how it works gives you a significant advantage over candidates who format their resumes without considering machine readability.
The safest strategy: build your resume in a tool that's engineered for parsing reliability. CareerBldr's templates are tested against all major ATS platforms, and the exported PDFs are structured for maximum parsing accuracy. Combined with AI-powered content and ATS scoring, this ensures your resume survives the parsing pipeline intact — so your qualifications can speak for themselves.
Frequently Asked Questions
Can I use a creative/designed resume and still pass parsing?
It depends on the design. Simple creative elements (bold headings, color accents, horizontal lines) are generally fine. Complex elements (infographics, text boxes, multi-column tables, images containing text) frequently cause parsing failures. If you use a creative design, always run the copy-paste test.
Should I always use PDF or DOCX?
Text-based PDF is the best default for modern ATS platforms. If a company specifically requests DOCX, provide DOCX. If you're applying to a government agency or large enterprise that might use legacy systems, DOCX may be safer. Never use image-based PDFs.
Why does the ATS ask me to re-enter information that's on my resume?
Because the ATS isn't confident its parser extracted your information correctly. This manual verification step is the ATS acknowledging its own parsing limitations. It's frustrating but provides an opportunity to ensure your data is accurate in the system.
Do ATS platforms share parsed data with each other?
No. Each ATS platform has its own database, and parsed data stays within that system. If you apply to two companies using different ATS platforms, your resume is parsed independently by each one. This is why formatting consistency across all your applications matters.
Can resume parsing errors be corrected after submission?
Generally no. Once your resume is parsed and stored, you can't access the ATS to correct errors. Some systems allow you to update your application, which triggers a re-parse. But the safest approach is getting parsing right before you submit — using tools like CareerBldr that are built for parsing reliability.
Build Your Resume with AI
Create a professional, ATS-optimized resume in minutes with CareerBldr's AI-powered resume builder.
Get Started Free