How CheckATS scores your resume

CheckATS · Updated October 13, 2026

The short answer: CheckATS calculates a simulated score as 60% selected job-description keyword coverage plus 40% extracted-text checks. It runs locally in your browser. Optional AI review is a separate writing assessment. The score is not an employer ATS score or a probability of being hired.

What goes into the score?

Simulated score = round(0.60 × keyword coverage + 0.40 × text-check score)

Keyword coverage is the rounded percentage of selected job-description terms found in the resume. Each selected term contributes equally; the tool does not infer which requirements an employer considers mandatory.

How are job keywords selected and matched?

The browser loads a cross-occupation skills dictionary, then selects up to 40 dictionary matches from the job description. If fewer than five are found, it supplements them with statistical word extraction, excluding common filler words. If the dictionary cannot load, this fallback can change the selected terms.

Resume matching ignores case, normalizes whitespace and long dashes, and checks Latin word boundaries. Chinese terms use direct substring matching. It does not expand synonyms, stem words, or map acronyms: K8s alone does not match Kubernetes, and Amazon Web Services alone does not match AWS in this tool. Repeating an already matched term does not raise coverage.

The four extracted-text checks

Each passing check adds 25 points to the text-check score, which contributes up to 40 points to the overall score.

CheckCurrent rule
ContactAn email address is found. Phone detection is supplementary and does not determine whether this check passes.
DatesAt least two supported month dates, all in the same format: YYYY.MM, YYYY-MM, MM/YYYY, or Chinese year/month dates. English month names such as Jan 2024 are not recognized by this check.
Clean textNo replacement characters, at most two private-use characters, and no more than 5% other symbol characters after whitespace is removed.
LengthBetween 300 and 3,000 non-whitespace Unicode characters. This heuristic does not determine an ideal page count or resume length for every role.

A worked example

If the selected job terms are Python, SQL, Docker, Kubernetes, and AWS, and the resume contains the first three, keyword coverage is 3 ÷ 5 = 60%. Passing all four text checks gives 100%. The simulated score is round(0.60 × 60 + 0.40 × 100) = 76/100. These are illustrative inputs, not an employer benchmark.

What this score cannot measure

For unchanged inputs and the same selected terms, the local score is deterministic. AI reviews and rewrites may vary and should be checked before use. Include missing terms only when they truthfully describe your experience.

How is this different from Greenhouse or Workday?

CheckATS is an independent preparation tool and is not affiliated with those vendors. ATS features and employer configurations vary. For example, Greenhouse's Talent Matching FAQ describes related-term matching and says that feature does not automatically reject or advance candidates. CheckATS does not reproduce that system or Workday's screening.

Is it free?

Local checks require no account and do not use the AI allowance. Standard AI limits are 5 review requests and 2 rewrite requests per IP per UTC day, resetting at 00:00 UTC. A shared network shares its IP allowance. Automatic review refreshes after a rewrite also consume review requests, and a failed request can consume an allowance.

Where is my resume processed?

The site's Worker uses IP-based request counters. Provider logging and retention are governed by their policies; local scoring does not establish a guarantee about external AI or email retention. The site also loads third-party fonts, a PDF library, and analytics.

Sources and implementation

The formula and limits above document the CheckATS source repository, specifically the local scoring code and AI Worker. See the Greenhouse source above for that vendor's feature. Product rules can change; this page describes the current implementation.

Check the selected terms, then make accurate edits.

Try the free resume checker →

Software engineer resume checklist · All guides