Bhinish Dhiman
How to test what an ATS parser reads from your resume
Open your resume in a checker that shows the extracted text beside the page, or run pdftotext on it, and read the output top to bottom. Your name, email and phone should come first, every job title should sit next to its dates, and no sidebar line should land inside a job. Odd characters, letters spaced apart or a jump between columns are the places a parser will misfile you.
Every applicant tracking system starts the same way. Before it ranks, filters or searches anything, it pulls the characters out of your file and puts them in an order. Whatever goes wrong at that point goes wrong for everything after it, and it is the one step you can reproduce exactly on your own machine.
Text extraction is that step: reading the characters a PDF or Word file stores, with their positions, and turning them into lines. Parsing comes after it, and is the guesswork about which line is a job title, which a company and which a date. Vendors keep their parsing private. Extraction they cannot hide, because it depends only on your file.
Run the test in four steps
- Open the ATS resume checker and press Choose your resume, or drop the PDF or .docx you actually send to portals. It is read in the tab; nothing is uploaded.
- Look at the two panes. On the left, every run of text on your page has a box, numbered in the order it is read. On the right, under What the parser reads, are the same lines as plain text. Choose any line to find its box.
- If your page has a sidebar, switch between Straight across and Column by column. The first is a parser that reads each row the full width of the page; the second is one that finds the gutter first.
- Read the fields underneath: name, email, phone, location, links, each job with its dates, education and skills. Anything marked Not found is a field a recruiter cannot search on. Then open each finding and press Show on the page to see the region it is about.
When you are done, Copy the extracted text puts the parser’s view on your clipboard, and Fix it in the resume builder hands the file to the resume builder in the same browser, already filled in.
What broken extraction looks like
You rarely see the cause on the page, only its symptom in the text. These are the patterns worth recognising, and what produces each.
| What you see in the extracted text | What caused it | What to change |
|---|---|---|
| A skill between a job title and its dates | Two columns read straight across each row | One column, or a one-column copy for portals |
| E X P E R I E N C E | Letter-spacing (tracking) on a heading | Remove the tracking; use capitals or bold |
| Certi�ed, or profile with one odd glyph | A ligature drawn as one shape with no character behind it | Ligatures off, or a standard font |
| [U+F0E0] beside your email | An icon font standing in for a word | Write “Email” and “Phone” as text |
| Nothing at all | A scan, or text exported as outlines | Export again with real text |
| Strings of control characters | Embedded fonts with no ToUnicode map | Export again with standard fonts |
| ’19 – ’23 attached to the company | Two-digit years the date reader skips | Mar 2019 – Jan 2023 |
| jane@example.co on one line, uk on the next | A narrow column broke the address | A wider column or a shorter link |
A ToUnicode map is the table inside a PDF font that says which character each drawn shape stands for. Design apps and some PDF printers leave it out to save space. The page still looks perfect, because the shapes are there; the characters are not, so what comes out is noise.
A deliberately broken resume, measured
The checker opens with a sample resume built to fail: a fictional product designer, Jordan Ellis, with a sidebar, letter-spaced headings, icon-font symbols, two-digit years, a portfolio link split across two lines and contact details tagged as a page header, the way Word exports one.
Read straight across, the order switches between the two columns 27 times, and because the spaced-out “EXPERIENCE” heading shares a row with a sidebar skill, no Experience heading is found at all. Read column by column, both jobs come back, but neither has a date, and the company of the first is filed as “’19”. That is ten findings from one page that looks entirely professional.
The same checks, run against the resume builder’s own PDFs, are the control. Across its 16 templates and all 16 example fields, the one-column templates raise no finding, and the 4 sidebar templates raise only the columns one. A check that fires on clean files teaches you to ignore it, which is why that sweep runs on every build.
Things extraction cannot tell you
Extraction shows what reaches the parser, not how a particular system scores it. No vendor publishes a ranking formula, so any percentage from a checker is a guess presented as a measurement; this one gives none. The often-quoted claim that software rejects three resumes in four has no published method behind it either: in Enhancv’s 2025 interviews, 23 of 25 US recruiters said they set no automatic rejection on resume content (where the 75% figure comes from).
Font size is a similar case. Text at 6pt extracts exactly like text at 11pt, so the checker flags anything under 7pt as worth knowing rather than as a parsing failure: it matters to the person who opens the file, and tiny text is a known way of hiding keywords.
A Word file has no fixed page, so it is shown as the paragraphs it holds, with header parts, tables and text boxes marked. Those three are what most often go missing from a .docx in a parser.
Other ways to check
On a Mac or Linux machine with poppler installed, pdftotext -layout input.pdf output.txt writes the text a layout-preserving extractor sees. You can also select everything in a PDF viewer, paste it into a plain text editor and read it. Both show the text; neither shows where on the page each line came from, which is the part that explains a scrambled order.
To confirm nothing is uploaded, open your browser’s developer tools on the Network tab before you choose the file: the only requests are for this site’s own files, such as the PDF reader, and none carries your resume.
When the text comes out clean, in order, with every job dated, a parser has what it needs. When it does not, the resume builder can take the file and lay it out again in one column, with fonts that keep their characters.