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 failed

We 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 failed

We 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 failed

We look for text matching a real email pattern ([email protected]), not just an "@" symbol anywhere in the document.

Phone number detected

10 pts if failed

We 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 failed

We count the words in the extracted text. Under 200 words fails this check.

2 pages or fewer

5 pts if failed

We 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 failed

We 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 failed

Same 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 failed

We 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