ATS Guide · 2026-08-13
How Accurate Is an ATS Resume Checker? Our Methodology
Quick answer
ATS resume checkers are useful as repeatable diagnostics, but no independent checker can reproduce every employer’s private ATS configuration. ATSGrader applies 21 published scoring rules across keyword match, structure, impact, clarity, and red flags. Treat its score as a prioritized editing signal—not a pass/fail prediction or interview guarantee.
A resume score is only as honest as the rules behind it. This page documents exactly what ATSGrader checks, the public research each check is based on, and — just as important — what our score cannottell you. No vendor publishes its ranking algorithm, and anyone who claims to have "cracked" Workday or Greenhouse is selling something.
The short version
ATSGrader is a rule-based engine with 21 published scoring rulesthat runs entirely in your browser. It scores the two things that decide whether your resume surfaces and survives: (1) can screening software parse and find it, and (2) can a human recruiter skim and believeit in a few seconds. The score is a directional diagnostic of best practices — not a simulation of any specific company's system.
The exact scoring formula
Every category produces a score from 0 to 100. We multiply each score by the weight below, add the results, divide by the total active weight, and round once to the nearest whole number. There is no hidden machine-learning model, employer database, or subjective human adjustment. The same text and job description produce the same score in the same engine version.
Current scoring specification: 2026.09.02.1. This identifier changes when a threshold, deduction, category weight, keyword weight, or verdict boundary changes materially. Copy edits and visual changes do not create a new scoring version.
| Category | With job description | Without job description | What changes the score |
|---|---|---|---|
| Keyword match | 30% | Not scored | Required and repeated terms found in both documents |
| Impact | 25% | 35% | Action-led bullets and quantified outcomes |
| Structure | 20% | 30% | Contact data, standard sections, bullets, summary |
| Clarity | 15% | 20% | Length, sentence density, readable bullet size |
| Red flags | 10% | 15% | Clichés, first-person phrasing, emoji, all-caps and sensitive details |
Keyword match is intentionally disabled when you do not provide a vacancy. Pretending to calculate “job fit” without a job description would create false precision, so the other four categories are reweighted to 100% instead.
Complete scoring rule table
This table is generated from the same versioned specification imported by the scoring engine. A finding can be useful without changing the number: for example, a missing summary produces an editing tip but deducts zero points. Line-level weak-bullet findings explain the Impact result; they do not apply a second hidden penalty on top of the published formula.
| Category | Detected signal | Exact score effect |
|---|---|---|
| Structure | Email not detected | −25 points |
| Structure | Phone not detected | −15 points |
| Structure | LinkedIn /in/ URL not detected | −5 points |
| Structure | Experience heading not detected | −25 points |
| Structure | Education heading not detected | −12 points |
| Structure | Skills heading not detected | −12 points |
| Structure | Summary heading not detected | Tip only; no deduction |
| Impact | Quantified-bullet share | 55% of category score |
| Impact | Recognized action-verb share | 45% of category score |
| Impact | No detected bullets | Category score = 35 |
| Clarity | Fewer than 250 words | −30 points |
| Clarity | More than 950 words | −20 points |
| Clarity | Bullet longer than 32 tokens | −5 each; −20 cap |
| Clarity | 3+ simple passive-voice patterns | −10 points |
| Red flags | Configured cliché/buzzword phrase | −8 each; −40 cap |
| Red flags | 3+ first-person pronouns | −10 points |
| Red flags | Emoji detected | −15 points |
| Red flags | Date of birth / DOB text detected | −10 points |
| Red flags | More than 3 non-bullet all-caps lines | −8 points |
| Keywords | Ranked term present in resume | Adds that term's weight to coverage |
| Keywords | No job description over 40 characters | Category disabled and reweighted |
Category scores are clamped to 0–100. The overall result is the sum of each category score multiplied by its active percentage weight, divided by 100, then rounded once to the nearest integer. Verdict bands are: 85–100 Strong, 70–84 Good, 50–69 At risk, and 0–49 High risk.
What ATS software actually does
An Applicant Tracking System parses your resume into structured fields, stores it, and gives recruiters tools to search, filter and rank the applicant pool. Adoption is near-universal at scale: Jobscan's 2025 analysis detected an ATS at 97.8% of Fortune 500 companies[2], and Harvard Business School's employer survey found more than 90% of employers use their system to initially filter or rank candidates[1].
The crucial nuance: in most companies the software doesn't "auto-reject" you. The real mechanism is quieter — recruiters run keyword and filter searches over the pool. Greenhouse documents exact keyword matching and required/preferred search terms[4]; Workable documents search across resume text, work history and skills plus AND, OR and NOT operators[7]. Resumes that don't match the search, or that parsed into garbage, are simply never seen. Employers themselves admit this filtering overshoots: 88% agree that qualified candidates are vetted outbecause they don't match the exact job-description criteria[1].
The five score categories and their basis
1. Keyword match (heaviest weight)
We extract weighted terms from the job description you paste — required skills, tools, qualifications — and check which appear in your resume. Multi-word phrases and tokens with technical punctuation are matched literally; single words receive limited suffix normalization for common inflections. The engine does not claim semantic synonym matching. Basis: recruiter search and ranking tools operate on term matching[4][7]; a skill that isn't in your resume can't match anyone's search. This is the closest thing to a "law" in this domain.
2. Structure & contact info
Standard section headers (Experience, Education, Skills), detectable contact block, LinkedIn URL, parseable text. Basis: parsers read linearly and demonstrably scramble or drop content in tables, columns and graphics — Jobscan documented Lever dropping an entire skills section from a two-column layout[5]. Creative headers ("Battle Scars") can orphan whole sections.
3. Impact & achievements
Share of bullets that contain numbers, and bullets that open with action verbs instead of duty phrases ("responsible for"). Basis: this is for the human pass, not the software — Ladders' eye-tracking study clocked the initial recruiter screen at 7.4 seconds[3]. Quantified, front-loaded bullets are the standard advice of every serious career service for surviving that skim; we make the convention checkable.
4. Clarity & length
Word count bands, bullet length, run-on detection. Basis: same 7-second reality[3] plus long-standing recruiter convention (1 page per ~8 years of experience). These are heuristics and we say so.
5. Red flags
Clichés ("team player", "hard-working"), missing contact data, date of birth (a bias-compliance concern in US/UK/EU hiring practice), emoji and exotic glyphs that render as garbage in recruiter views. Basis: hiring-practice convention and parser behavior; these are judgment calls a careful human reviewer would also flag.
The "75%" myth — and why we don't use it
You've seen the claim everywhere: "75% of resumes are rejected by ATS before a human sees them."We traced it to its source so you don't have to. It originates in a 2012 trade-press quote from Preptel, a now-defunct resume-optimization vendor, claiming ATS "kill 75% of candidates' chances"[6]— no methodology was ever published, and the figure later mutated into the "never seen by a human" version. Recruiters who've investigated it estimate the opposite: the large majority of applications do get human review. We used this stat in our own early copy, found it didn't survive scrutiny, and removed it. What the research does support is quoted above: near-universal automated filtering[1][2] that employers themselves admit vets out qualified people[1].
What our score can't tell you
- It is not any vendor's real algorithm.Workday, Greenhouse, Taleo and iCIMS don't publish theirs; ours is an evidence-based proxy for findability and readability.
- A green score is not a job guarantee.Your actual experience, the applicant pool and the recruiter's judgment dominate outcomes.
- We only see text. The scan runs on the text in your browser — visual design issues in the original file are checked only insofar as they affect extractable text.
- Honesty is on you.The keyword table shows gaps; we tell you to add only terms you can defend in an interview. Stuffing skills you don't have gets you past software and burned by humans.
- Parts of the analysis are English-only. This site is published in 13 languages. As of engine
2026.09.02.1the structural half of the analysis is not: section headings are recognised in all 13 (a resume labelled Experiencia,경력 or 職務経歴 now maps to Experience, and did not before), the length check counts words in any script, and the contact and parse checks were never language-bound. What remains English-only is the judgement half: the action-verb list, the cliché list, the passive-voice patterns, the pronoun check, and the keyword extraction and stemming that drive the keyword-match category. On a non-English resume treat those findings as not applicable rather than as failures. One honest caveat on length: Chinese and Japanese are written without spaces between words, so we convert characters to word-equivalents at the usual editorial ratio — an approximation, not a measurement.
How we will publish benchmark data without reading resumes
ATSGrader performs the analysis locally. For the future public benchmark, the browser may send one anonymous aggregate observation per session after a real scan: a broad score band (0–49, 50–69, 70–84 or 85–100), whether a job description was supplied, and the stable IDs of triggered checks. It never sends the resume, job description, extracted keywords, exact score, name, email, document hash or filename. The sample resume is excluded.
We will not publish the benchmark until it contains at least 300 non-demo observations collected across 30 days under the same scoring specification. Every aggregate observation carries the public engine-version identifier; legacy or different-version rows are excluded rather than mixed into one distribution. Every chart will state its sample size, period and limitations; no subgroup will appear with fewer than 100 observations. The unit is a first scan per browser session, not a verified unique person, so the study will describe ATSGrader scan sessions—not the entire job-seeker population.
Versioning and reproducibility
- Versioned: the current public scoring specification is
2026.09.02.1. - Deterministic: identical inputs produce identical outputs for that engine version.
- Local: analysis occurs in the browser; the server cannot inspect or rescore the document.
- Documented: category weights and limitations are visible on this page.
- Auditable: when scoring rules change materially, this page’s review date and benchmark methodology must change with them.
See the methodology in action — scan your resume
Free scan · no signup · your resume never leaves your browser
Check my resume free →Sources
- [1] Fuller, Raman, Sage-Gavin & Hines — “Hidden Workers: Untapped Talent”, Harvard Business School & Accenture, 2021
- [2] Jobscan — “Applicant Tracking System Usage Report” (Fortune 500 analysis), 2025
- [3] Ladders, Inc. — recruiter eye-tracking study update (7.4-second initial screen), 2018
- [4] Greenhouse — “Talent Filtering” (official product documentation, updated March 2026)
- [5] Jobscan — “Why ATS Tables and Columns Ruin Your Resume”, 2026 (parser demonstration)
- [6] Computerworld — “5 insider secrets for beating applicant tracking systems”, 2012 (documented origin of the “75%” claim)
- [7] Workable — “How do I run an advanced/boolean search for candidates?” (official documentation)