RefolkCandidates
StandardApplying at volume

The Parse-Clean Resume Standard, Graded Before the Batch

You will grade your master resume pass or fail on every ATS-extracted field, prove it with an extraction test, and fix each failure before you send a batch.

15 min readLast reviewed September 27, 2026Read as Markdown

This is a gradeable definition of done for one master resume, scoped for someone about to run it through dozens of different portals. It is for job seekers applying at volume who want to prove, once, that their file extracts cleanly before a single application goes out. It delivers pass/fail criteria for every field an applicant tracking system must extract, the extraction test that proves parseability, and a fix for each failing element.

Most pages on this topic are anxiety loops: a list of "seven formatting mistakes" you re-read before every application, never knowing if you fixed the right thing. A standard is different. You apply it once to a master file, you record the verdict, and two people grading the same file reach the same result. That is the job here.

What an ATS actually extracts, and what silently drops

An applicant tracking system reads plain text out of your file and slots it into structured fields: name, job titles, employers, start and end dates, education, and skills. Recruiters then search and filter on those fields. If a value never lands in its field, it is not that you rank low; you are invisible for that filter.

The common parsers named across sources are Workday, Greenhouse, Lever, Taleo, and iCIMS. They all try to map the same core fields. What varies is how they cope with layout, and the documented ways layout causes a field to drop are consistent:

  • Multi-column layouts and tables scramble reading order, so a job title from column one merges with a date from column two into nonsense.
  • Text boxes sit outside the document flow and get skipped entirely.
  • Headers and footers are stored separately, so contact info placed there is often skipped or extracted without being linked to your record.
  • Images and skill-bars are invisible to the parser; a graphic showing "Python 90%" carries zero text.

The top three disruptors, in order, are multi-column layouts, text boxes, and headers and footers. Note what they share: each one looks perfectly fine to a human eye. That is the whole problem. Your reviewer is not the recruiter first; it is a parser that reads storage order, not visual order.

Contact loss is a storage problem

Here is the insight that reframes the whole exercise. Word headers and footers live in separate XML files, like header1.xml, that many parsers skip. So the parser starts building your record from your summary line, and your name and contact details go nowhere. The resume that "looks fine" arrives nameless. The fix is structural, not cosmetic: the text has to live in the document body, not the header region.

One 2026 benchmark showed an email in a running page header extracted three times, once per page, and that duplication pattern is enough to make some engines discard the region outright. So a header is not neutral. It is an active liability.

Why file structure beats file type

DOCX is the safer default, but structure matters more than the extension. A messy DOCX can parse worse than a clean PDF. The reason DOCX usually wins is narrow: it removes one specific failure mode, the missing text layer.

In one eight-month test, .docx files parsed reliably 100% of the time across Workday, Greenhouse, and iCIMS. PDFs had edge-case failures, and those failures traced specifically to files created with "Print to PDF" rather than "Save As." A printed PDF can be a flat image with no text layer, so the system sees a blank page. A text-based PDF made with Save As closes most of that gap. The extension is really a proxy for text-layer integrity.

The practitioner figures below are vendor and technical write-ups, not controlled academic studies, so read them as direction rather than precision. But the ordering is consistent and useful.

File or layoutReported parse/extraction successSource
.docx simple85%dev.to technical analysis
Text-based PDF75%dev.to technical analysis
Formatted .docx60%dev.to technical analysis
Single-column skills extraction65% (93% purpose-built)ResumeAdapter 2026
Multi-column skills extraction46%ResumeAdapter 2026

Two things jump out. First, a formatted DOCX at 60% scores worse than a plain text PDF at 75%, which proves structure beats extension. Second, columns cost you exactly where it hurts: the drop from 93% to 46% is concentrated in the skills section, which is precisely where keyword matching happens. A two-column resume that "looks tidy" fails hardest at the one job the parser is doing on your behalf.

46%
Skills-section extraction from a multi-column layout
Against 65% for a basic single column and 93% for a purpose-built single-column template.

The per-application rule that follows from all of this is simple: upload DOCX when the portal allows it, otherwise a text-based (not scanned) PDF. Keep the structure single-column either way.

Who is on the other side of the upload

The reason to satisfy Workday's reading behavior first is that Workday-skilled recruiters dominate the population you are applying to. In Refolk's index of professional profiles, 551 US recruiters and technical recruiters list Workday as a skill, against 154 who list Greenhouse. That is a 3.58x gap.

ATS skillUS recruiters listing itRatio to Greenhouse (derived)
Workday5513.58x
Greenhouse1541.00x

Optimizing a master file for Workday's left-to-right, top-to-bottom, single-column reading therefore covers the largest documented slice of recruiters. The counts come from Refolk's index; the ratio is derived from those two counts.

The scale of the population matters too. Refolk's index lists 110,708 recruiters and technical recruiters in the United States and 7,206 in the United Kingdom, so the US market is roughly 15.4 times larger. When you apply at volume, you are pushing one file past a large and varied pool of screeners running different systems. That is the argument for a single hardened master file rather than per-application tinkering: you cannot know which system each portal runs, so you satisfy the strictest common denominator once.

MarketRecruiters in indexShare of US baseline (derived)
United States110,7081.00x
United Kingdom7,2060.065x

If you want to see the specific recruiters and systems behind a role you are targeting, Refolk can surface them from public profiles so you know which ATS your batch is really going into.

Dates that parse, and dates that quietly break tenure

Use one date format everywhere and use "Present" for current roles. Consistency is the actual requirement; parsers cope with several formats, but they cope badly with a mix.

Four formats parse correctly across engines one vendor tested: full month and year, abbreviated month and year, MM/YYYY, and year-only for older roles. Pick one and hold it. The failure modes are specific:

  • Year-only for recent roles makes the parser act conservatively; it might credit 1 day or 365 days for the range, so your tenure computes wrong.
  • Apostrophe two-digit years like '23 are treated as typos or garbage by many engines. This pattern from 1990s and 2000s templates is not recognized by most ATS built since 2015.
  • Seasons like Summer 2023 fail because "Summer" is not a month.
  • "Ongoing" and "current" fail; use "Present."

How a parser turns your file into a record

  1. Read file
    The parser pulls the text layer in storage order, not visual order.
  2. Segment
    It splits text into blocks: contact, experience, skills, education.
  3. Map fields
    It slots blocks into structured fields recruiters can filter.
  4. Compute
    It derives tenure from dates and matches skills to the posting.
Each stage can drop a field silently, which is why you grade the output, not the input.

The trap here is the resume that reads fine to a human but has one recent role in year-only format. A person sees "2022-2023" and understands. The parser sees an ambiguous range and miscredits it. Grade every recent role for month plus year.

Grade and prove it: the extraction test

This is the procedure. Run it top to bottom on your frozen master file. Each step has a done condition, and each done condition is the pass criterion for that field.

The parse-clean grading run

  1. Freeze one master file
    Pick the single file, DOCX preferred, that will go to every portal. Done when one canonical file exists, single-column, with standard headings: Summary, Experience, Skills, Education.
  2. Run the Ctrl+A body test
    Click into the body and press Ctrl+A. Done when name, phone, and email all highlight, meaning nothing lives only in a header, footer, or text box.
  3. Run the copy-paste extraction test
    Select all, copy, and paste into Notepad or TextEdit as plain text. Done when all text appears, in reading order, top to bottom.
  4. Grade reading order
    Compare the paste against the original. Done when there is no interleaving of columns, no glued tokens like SAPOracle, and no blank gaps where images sat.
  5. Grade date fields
    Confirm every role uses one format from Month YYYY, MMM YYYY, or MM/YYYY, plus Present for current roles. Done when there are no seasons, no apostrophe-years, no ongoing or current, and no year-only for recent roles.
  6. Grade field capture with a parser preview
    Upload to a browser-side parser to see the mapped fields. Done when name, contact, each title/employer/date pair, and skills each land in the right field.
  7. Fix and re-test
    Move header contact into the body as normal paragraph text, remove tables and text boxes, and standardize dates. Done when steps 2 through 6 all pass on the corrected file.
  8. Lock as baseline
    Record the pass/fail grid so the verdict is reproducible. Done when two people grading the same file reach the same verdict.

Reading the copy-paste result

The copy-paste test is the core of the standard, so read it carefully. A pass looks like all your text appearing in the editor, top to bottom, in the order a reader would follow. A fail looks like large chunks missing, or nothing at all. If pasting produces no text, your PDF is almost certainly an image, which means the ATS sees a blank page.

Watch for two specific tells. Glued tokens like "SAPOracle" or a name mashed into one word mean cells or letters ran together, which points at a table or text box. Blank spots where content should be mean that region was really an image. Sources disagree on whether step 6, the real parser preview, is mandatory or optional; some treat the copy-paste test as sufficient. For a master file about to go out in volume, do the parser preview. The copy-paste test proves rough readability. It does not catch everything a real parser flags.

Refolk builds a resume from your own history and tailors it to each posting, so if your master file fails reading order or field capture, generating a clean single-column version is faster than surgery on the broken one.

A corrupted resume does not get rejected. It ranks last, silently, with no error to tell you.

How this goes wrong: false positives and traps

The dangerous failures are the ones that look like passes. A standard is only worth adopting if it catches them, so this section carries the weight. Each row below is a way the quick tests lie, and the check that exposes it.

Failure modeWhat it looks likeThe check that catches it
Copy-paste passes, real parser failsFull, clean pasteRun a browser-side parser preview (step 6)
Hidden header lossFull paste, but no name at topCtrl+A body test: name must highlight
Image PDF that looks selectableOpens crisply on screenPaste yields blank or garbled text
Year-only recent rolesDates read fine to a humanConfirm every recent role has month plus year
DOCX assumed safeRight extension, tables insideGrade structure, not extension
Two-column "tidy" resumeVisually balancedReading-order grade against the paste

A few of these deserve a sentence more.

Clean paste, hidden header loss is the most common trap. The body text pastes perfectly, so you relax, but your name was in a header and dropped without a trace. The Ctrl+A test is the only cheap guard: if your name does not highlight with the body, the ATS will not see it.

PDF looks selectable but is image-based catches people who exported from a design tool. It renders sharp, you can even sometimes drag a selection box over it, but paste produces garbage. Trust the paste, not the screen.

Over-trusting the 75% rejection stat is a conceptual failure rather than a formatting one. That widely cited figure is disputed and weakly sourced. It conflates ranking with rejection. A 2025 study of 25 US recruiters across 10-plus ATS platforms found 92% do not configure content-based auto-rejection. Treat parseability as a ranking-visibility problem, not a hard gate. The honest framing is that the mechanism exists but the scale is unproven.

Fixing each failing element

For each field that fails, the fix is mechanical. Move header and footer contact into the document body as regular paragraph text at the very top, formatted to look identical to a header so you keep the appearance while the text lives where the parser reads it. Remove tables and text boxes and rebuild those sections as plain single-column text. Replace any skill-bar graphics with a plain comma-separated or line-broken skills list. Standardize every date to one format plus "Present."

Parse-safe resume skeleton
FIRST LAST
City, ST | phone | email | profile URL

SUMMARY
One to three lines of plain text.

EXPERIENCE
Job Title, Employer
Jan 2022 - Present
- Achievement bullet as plain text.
- Achievement bullet as plain text.

Job Title, Employer
Mar 2019 - Dec 2021
- Achievement bullet as plain text.

SKILLS
Skill, Skill, Skill, Skill, Skill

EDUCATION
Degree, Institution, 2018

Single column, plain text headings, contact in the body. Replace bracketed content and delete the brackets.

Note the contact block: name on its own line at the top of the body, then location, phone, email, and profile on one line separated by pipes. No header, no footer, no text box. After every fix, re-run steps 2 through 6. A fix is not done until the re-test passes.

100%
DOCX parse reliability across Workday, Greenhouse, and iCIMS in one eight-month test
PDFs had edge-case failures, concentrated in Print to PDF files that lacked a text layer.

Lock it as policy and keep it current

Record the pass/fail grid so the verdict is reproducible and adoptable as team policy. The point of writing it down is that two people grading the same file reach the same verdict, which is what turns a personal habit into a standard.

Parse-clean master resume, definition of done

  • One canonical file exists, single-column, DOCX preferred, with standard headings.
  • Ctrl+A highlights the name, phone, and email along with the body.
  • Copy-paste to plain text shows all content in reading order, top to bottom.
  • No glued tokens, no interleaved columns, no blank gaps in the paste.
  • Every role uses one date format from Month YYYY, MMM YYYY, MM/YYYY, plus Present.
  • No seasons, apostrophe-years, ongoing/current, or year-only recent roles.
  • A parser preview maps name, contact, each title/employer/date pair, and skills correctly.
  • Contact info lives in the document body, not a header, footer, or text box.
  • The file is a text-based PDF or DOCX, never a scanned or Print-to-PDF image.
  • The pass/fail grid is recorded so a second grader reaches the same verdict.

To keep it current, re-run the grid whenever you change the layout, add a role, or export to a new file. Do not trust that an edit preserved parseability; a single pasted table can undo a pass. Re-grade after any structural change and before any new batch.

Two of the numbers in this guide are time-sensitive in a way you should re-check locally rather than take on faith. The format success rates are vendor and practitioner figures, not controlled studies, so treat the ordering as durable but the exact percentages as approximate. The apostrophe-year support and the "since 2015" engine cutoff describe how parsers behave, not a fixed date to memorize; re-run the copy-paste and parser preview if you are ever unsure whether a specific portal handles a format. The mechanism is what you are grading against, and the mechanism is stable: parsers read storage order, map fields, and compute tenure. Build to that, prove it, and send the batch.

Questions job seekers ask

Is my resume ATS readable if it looks fine on screen?

Looking fine on screen proves nothing. A PDF can open crisply and still be an image with no text layer, and a name in a header can render perfectly while the parser drops it. The only readable signal is the copy-paste extraction test: select all, paste into a plain-text editor, and confirm every word, including your name at the top, appears in reading order.

How do I test resume ATS parsing without paying for a tool?

Two free tests cover most of it. First run the Ctrl+A body test in Word: click into the body, press Ctrl+A, and confirm your name, phone, and email highlight with everything else. Then run the copy-paste test into Notepad or TextEdit. Both are directional, so for a master file about to go out in volume, add a free browser-side parser preview to see mapped fields.

Should I upload a PDF or a DOCX?

DOCX is the safer default. In one eight-month test, .docx parsed reliably 100% of the time across Workday, Greenhouse, and iCIMS, while PDFs had edge-case failures, mostly from Print to PDF files that lack a text layer. Upload DOCX when the portal allows it; otherwise use a text-based PDF made with Save As, never a scanned or printed one. Structure still matters more than extension.

What date formats break ATS parsing?

Seasons like Summer 2023, apostrophe years like '23, and the words ongoing or current all fail. The apostrophe two-digit-year pattern is not recognized by most engines built since 2015. Year-only ranges make the parser act conservatively and miscompute tenure. Pick one of Month YYYY, MMM YYYY, or MM/YYYY, use it everywhere, and use Present for the current role.

Does the 75% rejection statistic mean formatting gets me auto-rejected?

No. That figure is disputed and its methodology is weak. A 2025 study of 25 US recruiters across 10-plus ATS platforms found 92% do not configure content-based auto-rejection. Treat parseability as a ranking and visibility problem, not a hard gate: a corrupted resume tends to rank last silently rather than trigger a rejection, which is exactly why grading before you send matters.

Put this to work

Paste your career in once. Every application after that is written for you.

Drop a resume or a LinkedIn URL. I rank the live openings against it, rewrite the resume and write a cover letter for the best of them, and fill in the employer's form when you press the button. You read, you decide what goes out.

  1. 01Drop your resume

    A PDF or a LinkedIn URL. About a minute, once.

  2. 02I rank the openings

    Every weekday morning, the live catalog scored against your history. Up to 20 worth your time, not two hundred links.

  3. 03Each one is written up

    Resume rewritten for the posting, a cover letter, a fit score. Press send, or let me fill in the form.

  • New matches ranked and written before you are up.
  • Every bullet stays inside what your history supports. Nothing invented.
  • Queued, submitted, interviewing, offer: one screen, not a spreadsheet.

500 free credits on sign-up. No card. Nothing is sent until you say so.

Read next