Methodology
How our scanner works, and what it can't tell you.
Every number on this page comes from the code that runs your scan, and every test result below comes with the file, so you can check it yourself.
What we are, and what we are not
We are a parsing check. Before any applicant tracking system can search or rank a resume, it has to pull the text out of the file. We do that step with open-source libraries, show you exactly what came out, and run checks on it for the problems that scramble or lose text.
We are not Workday, Greenhouse, Taleo or any employer's system. Nobody outside an employer can run a file through that employer's ATS, and each employer configures its own. We do not claim that a clean result here means a clean result in a particular ATS, and we do not claim results for any vendor.
What that means in practice: the problems we flag are in the file itself (text order, glued words, missing text), so they are there before any ATS opens it. Fixing them removes a risk; it does not guarantee a shortlist.
Step 1: text extraction
- PDF: pdf-parse 1.1.4, which is built on Mozilla's pdf.js. If it returns nothing, we retry with pdfjs-dist 4.10.38.
- Word (.docx): mammoth 1.12.0, after converting line breaks inside paragraphs so lines are not joined.
- No OCR. If a file is a scan or an image, we tell you so rather than reading the picture, because we cannot assume an employer's system would.
Step 2: 11 parsing checks
Each check looks at the extracted text. Critical items are the ones that change what a recruiter's search or a parsed profile would contain.
Step 3: 9 recruiter red-flag checks
Personal details that recruiters in the US, UK and much of Europe do not expect, and that can work against you: Date of birth, Marital status, Religion, Father's or family names, ID or passport numbers, Salary details, "References available on request", Photo, First-person pronouns. These are shown separately and do not change the score, because they are a convention, not a parsing fault, and some countries expect some of them.
Step 4: the Parsing Readability Score
100 minus 15 for each critical issue, 5 for each warning and 1 for each info item, never below 0. There is no AI in the score and nothing random: the same file always gets the same number. 90 and above reads cleanly; 75–89 has minor issues; below 75 has problems worth fixing first.
What the score is not:
- Not a chance of an interview. 90/100 does not mean a 90% chance of anything. It means we found little wrong with how your file reads.
- Not a job-match score. It says nothing about whether your experience fits a role. The paid job match is a separate, explicit comparison.
- Not the employer's score. Employers' systems rank and filter on their own criteria, such as knockout questions, keywords and location, which we cannot see.
Test files you can check yourself
Every file below is a fictional person. Download it, scan it on our home page and you should get the same score. Before every release, an automated check rebuilds these files, scans them, and stops the release if any result here no longer matches the scanner. Results generated 2026-10-17.
If you find a file we score wrongly, email hello@atsverification.com with it. We will fix the check and list the fix below.
False alarms we have found and fixed
A check that fires on a good resume is as harmful as one that misses a bad one. These are the ones we know about. Every check we corrected now has a test case that runs before every release.
- 17 Oct 2026: Dates written as month number and year ("01/2021 – Present") were reported as ambiguous, costing 5 points, although month and year is what we recommend. The data report's ambiguous-dates figure before this date includes those false alarms.
- 13 Oct 2026: A company name in capitals ("KONE CORPORATION") was read as the candidate's name and reported as a fault. Found by a customer; fixed the same day and the $5 refunded.
- 13 Oct 2026: A section heading directly under a clean name was reported as a merged name.
- 13 Oct 2026: Resumes that open with Education or a Profile were reported as two-column.
- 13 Oct 2026: Plural acronyms such as "APIs" were reported as glued table cells.
- 13 Oct 2026: Line breaks inside a Word paragraph were dropped, which joined lines in .docx files.
- Sep–Oct 2026: Names with particles (de, van, bin, al) were reported as not found. The public data report re-measures the affected figures from 15 Oct.
- Oct 2026: An Enhancv two-column template we had scored 41/100 read in order when re-tested with the file Enhancv supplied. The 41 was withdrawn.
Known limits
- We read the file the way a text extractor does. An employer's system may extract differently, and may add its own field detection on top.
- Our checks are rules written by us, not a model of any vendor. A clean result means we found nothing wrong, not that nothing can go wrong.
- Our public data report counts issues in files people chose to scan. People who suspect a problem are more likely to scan, so those rates describe our sample, not all resumes.
Privacy and data handling
- The free scan reads your file in memory and discards it when the scan finishes. It is never written to disk.
- Paid products send your resume text to Anthropic's Claude API to structure and rewrite it.
- After a paid step we keep the finished resume for up to about 25 hours, only to email it to you if you leave before downloading. It is deleted when you download, or automatically after that.
- The full list of services we use and how long anything is kept is in our privacy policy.
See it on your own file
Free scan, no signup. You see the extracted text and every check that fired.
Free scan →