Transparency
Here's exactly what we check.
No tool outside an employer's own applicant tracking system can tell you your real ATS score — including this one, and including every other "ATS score" tool you'll find online. What we can do is run your resume against a specific, fixed set of rules that commonly trip up resume parsers, and show you exactly which ones you pass or fail. No black box, no mystery number.
The checker runs entirely in your browser — your PDF is never uploaded anywhere. Here are all 9 rules it applies, in the exact order it applies them.
Readable text layer found
−30 pts if failedWe compare the amount of text extracted from your PDF to its page count. If almost nothing comes out, the file is likely a scanned image or a flattened graphic rather than real text.
This is the single biggest ATS killer we can detect — a scanned resume looks perfect to a human and is completely invisible to ATS software. If you fail this one, fix it before anything else.
Single-column layout
−15 pts if failedWe group your resume's text by its position on the page and look at where narrower lines actually start. A single-column resume clusters around one left margin; a multi-column template produces two or more distinct starting positions — the signature of a sidebar or table-based layout.
This is a heuristic based on text position, not a simulation of any specific ATS parser. Some modern parsers handle columns fine; many still read straight across the page and scramble them. Treat a fail as 'worth checking,' not certain doom.
Email address detected
−15 pts if failedWe look for text matching a real email pattern ([email protected]), not just an "@" symbol anywhere in the document.
Phone number detected
−10 pts if failedWe look for common phone formats, including (555) 555-5555, 555-555-5555, 555.555.5555, and +1 555 555 5555.
This covers common US and international formats, not every possible one. A fail here is worth a manual double-check, not an automatic red flag.
Enough content to parse (200+ words)
−10 pts if failedWe count the words in the extracted text. Under 200 words fails this check.
2 pages or fewer
−5 pts if failedWe check your PDF's page count directly.
Senior, academic, and some technical resumes legitimately run longer — a fail here isn't automatically wrong for your situation.
Work experience section identified
−10 pts if failedWe first look for a short standalone line that reads like an "Experience" heading. If we don't find one, we fall back to checking whether "experience," "work," or "employment" appears anywhere in the text.
Skills section detected
−10 pts if failedSame approach as work experience: we look for a short line that reads like a "Skills" heading first, then fall back to checking for skills-related words anywhere in the text.
Bullet characters parse cleanly
−5 pts if failedWe flag "•" or "●" characters in the extracted text.
Honestly: most modern ATS platforms handle these bullets fine today. This check is a conservative, older heuristic we kept because a few parsers still choke on them — treat a fail here as low-priority, not a red flag.
Optional
Job description matching.
If you paste a job posting alongside your resume, we pull its ~20 most frequent meaningful words (after stripping common words like "the" and "and," and lightly stemming word endings — so "managing" matches "manage"), then check which of those words show up in your resume.
This is word-frequency matching, not AI and not semantic understanding. It won't know that "led a team" and "team leadership" mean the same thing, and it doesn't affect the pass/fail score above — it's a separate signal about content relevance, not parseability.
Want to see where your resume stands?
Try the checker