ATS resume checker
Paste your resume and see what a parser can actually read, what I am only inferring, and what no tool can check from pasted text. Nothing is uploaded, the analysis runs entirely in your browser.
How to check your resume
- Get clean plain text out of your file. Open your resume in whatever you built it in, select all, copy, and paste it into the first box. If your PDF will not let you select any text at all, stop there: that is the single most useful thing this page can tell you, because it means the file is an image with no text layer and a parser will read nothing from it.
- Paste the job posting into the second box if you have one. It is optional and it never touches the resume score. All it produces is a separate keyword overlap table, so you can see which terms the posting leans on that your resume never uses.
- Read the findings in their three groups. Detected problems are things I can prove from the characters you pasted, and they are scored. Possible signals are inferences, so they are hedged, the evidence is quoted, and they cost half a rule at most. The checklist at the bottom covers what pasted text cannot show at all, and none of it is scored.
What an ATS actually does
An applicant tracking system is a database with a search on top. It takes your file, parses it into fields such as name, email, employer, job title and dates, stores that record, and then lets a recruiter search, filter and rank the pile. It is closer to a customer database than to a judge. Nothing in it forms an opinion about your resume.
That matters because the popular version of this story has the software rejecting you, and it does not. The employer sets the filters. Harvard Business School and Accenture put real numbers on this in their 2021 report Hidden Workers: Untapped Talent, by Joseph Fuller and colleagues, built on a survey of 8,720 workers and 2,275 executives across the United States, the United Kingdom and Germany. More than 90% of employers said they use a system to filter or rank applicants. And 88% of employers agreed that qualified higher skill candidates are screened out because they do not match the exact criteria set in the job description.
Sit with that second figure for a second, because it is the whole story. It is not candidates complaining. It is employers saying, about their own hiring, that their criteria are excluding people who could do the job. The exclusion is real and it is common. The cause is a filter someone configured, usually a required qualification or an exact job title or a minimum years number, and not a robot with a view on your font choice.
Three things follow from that, and all three contradict the usual advice.
- An ATS does not auto reject. It filters and it ranks, and a person works down the result. If you never heard back, the likeliest explanations are that a filter you did not know about excluded your record, or that a human read it and moved on. Both are worth fixing. Neither is fixed by tricking a parser.
- Modern parsers read PDFs. The advice to always send a Word file is years out of date. The real failure is a PDF with no text layer, from a scan or an image export, and you can test for that in two seconds by trying to select a sentence with your cursor.
- There is no magic match percentage. No threshold exists that moves you into the interview pile. Different systems score differently, most recruiters search rather than sort by a score, and no number a checker shows you, this one included, is the number anyone on the other side sees.
You have probably also seen a much repeated statistic about the share of resumes that never reach a human. I am not going to print it, even to argue with it, because printing a number is how it spreads. What is worth knowing is where it came from: it traces back to a 2012 vendor sales pitch with no published methodology behind it. There is no study under it, no sample, and no way to check it. The Harvard Business School and Accenture figures above are from a published report with its sample described, which is why they are the ones on this page.
What this checker can and cannot see
This tool receives plain text and nothing else. That is a real limit, and most checkers in this category paper over it by scoring things they cannot possibly know from pasted text. So every finding here lands in one of three groups, and which group it is in is the first thing you see.
Detected
Provable from the characters you pasted, so I state it plainly and score it at full weight. Whether an email address is present. How many bullets run past thirty words. How many open with a verb from my list. How many contain a number. Whether your dates mix two formats. Whether the text contains soft hyphens or zero width characters, which are a real sign of a damaged text layer. You can verify any of these yourself by looking at the same text.
Possible signal
An inference rather than a fact, so it is hedged, the evidence is quoted back to you, and it can never cost more than half of that rule's points. Whether a heading I do not recognise is really your experience section. Whether two dated blocks are two separate roles and therefore out of order. Whether your sections are unbalanced, which depends on my having split them correctly in the first place. Where I am wrong, you can see exactly what I looked at and ignore me.
Cannot check
Needs the original file, so it is advice and never a score. Fonts, margins, colour and the real page count. Columns, text boxes, tables, headers and footers as layout properties rather than as spacing I guessed from. Images, logos, charts and skill rating dots, none of which survive a copy. Whether the PDF has a text layer at all. Document metadata and where your links really point. And above all, whether any named system would parse it: I have zero access to Workday, Taleo, Greenhouse, Lever or iCIMS, no checker outside those vendors does, and anyone claiming to show you how one of them reads your file is telling you something they cannot know.
Two more things this checker will not do. It never looks for employment gaps and never scores them, because filtering on a gap is a choice an employer makes and it is not going into a number I hand you. And it never deducts for a graduation year, a university email address, the length of your career, the shape of your name, or a phone or address format from outside the United States. Those are proxies for who you are rather than measures of how readable your resume is.
Frequently asked questions
Does an ATS really reject my resume automatically?
Not the way the story is usually told. An applicant tracking system is a database with a search on top. It parses your file into fields, stores the record, and then sorts, filters and ranks it for a human recruiter. The filters are set by the employer, not by the software. Harvard Business School and Accenture surveyed 8,720 workers and 2,275 executives across the United States, the United Kingdom and Germany for their 2021 report Hidden Workers: Untapped Talent, and found that more than 90% of employers use a system to filter or rank applicants, and that 88% of employers agree qualified higher skill candidates are screened out because they do not match the exact criteria set in the job description. Read that second figure again. Those are employers describing their own filter settings. People genuinely do get excluded before a human sees them, and a human configured the rule that excluded them.
Should I send a PDF or a Word file?
Either one, unless the posting names a format, in which case send that. Modern parsers read both perfectly well, and the advice to avoid PDFs is years out of date. The failure that actually matters is different: a PDF with no text layer, which is what you get from a scan, a photo of a printout, or an export that flattened the page into an image. Open your file and try to select a sentence with your cursor. If nothing highlights, no parser will read a single word of it, and no amount of keyword work will help.
Do you store my resume?
No. Nothing is uploaded. There is no server route behind this page and no network request anywhere in the code that runs it. The whole analysis happens in your browser tab, and it disappears when you close the tab. Reload the page and your text is gone. If you want to keep a result, use the copy button before you leave.
What score should I aim for?
Higher is better, and honestly that is about all the number deserves. The bands here are mine. I chose the weights, I chose the thresholds, and I put every rule and its weight on the screen so you can disagree with any of them. No checker's score, mine included, predicts whether you get an interview, because that is decided by a person reading your words. Use the itemised list rather than the total: fix the detected problems first, then read the possible signals and overrule me where I have guessed wrong, then work through the checklist that needs the original file open in front of you.
Why do other checkers give me a different score?
Because every vendor invents its own rubric. There is no standard for this, no governing body, and no shared test set. One tool puts half the total on keywords, another deducts for a two column layout it inferred from spacing, another rewards things this one deliberately refuses to score. They are measuring different things and all calling the result a score. That is exactly why I show a rule ID and a weight next to every finding: you can read my whole rubric on the page and check my arithmetic, which a bare number never lets you do.