Back to home

How CheckATS Checks Your Resume: Method & Limits

What the CheckATS v1 resume scorer measures, what it cannot know, and how to use its result without treating it as a universal ATS score.

Last updated: 2026-09-26

A score for a specific diagnostic job

CheckATS reports a score from its own v1 rules. It is a repeatable editing aid, not a score issued by an employer, an ATS vendor, or a hiring team. There is no universal ATS score: employers use different parsers, fields, screening rules, and review practices.

The result has two modes:

  • With a job description: the tool extracts selected requirements, compares them with the text it extracts from your resume, and shows evidence lines where it can find them. It groups missing items into hard skills and tools, soft skills, and other wording.
  • Without a job description: the tool reports a diagnostic result for text, sections, contact details, and format signals. It does not assign a job-match score. The keyword sub-score is unavailable until you add a JD.

Use the number to compare revisions made under the same v1 rules. Do not use it as a hiring probability, an interview prediction, or proof that a particular employer will accept your file.

The v1 heuristic vocabulary and requirement logic are designed for English-language resumes and job descriptions. Other languages may produce incomplete keyword matches; the current site supports English only.

What the current rules do

The scorer first works from extracted text. It looks for standard sections such as experience, education, skills, projects, and certifications; basic contact details; date and length signals; and selected requirements from the JD. It keeps format or parsing risks separate from writing suggestions so a wording idea does not pretend to be a file-structure test.

Skill matching uses explicit definitions, word boundaries, and documented aliases. For example, AWS can match Amazon Web Services, and Kubernetes can match k8s. Java does not match JavaScript. A related match is directional: a resume that says MySQL may support a JD requirement for SQL, but SQL alone does not establish MySQL experience. Short terms such as R, C, C#, and C++ receive special handling so punctuation and surrounding words matter.

The tool also reads requirement language such as required and preferred when it can identify it. A missing preferred term is not presented with the same urgency as a missing required term. A term found in a sentence that negates or merely discusses a skill is not treated as positive evidence.

These are rules of this version, not a claim about how every ATS behaves. The version marker is included in results so future changes can be compared with the appropriate contract.

What the current rules cannot know

CheckATS does not connect to an employer's ATS, inspect a recruiter account, or know the screening configuration behind a job posting. It cannot prove that a resume will be ranked, read in a particular order, or reach a person.

The browser extractor does not turn a visual layout into a complete rendering model. A text result cannot certify that every table, column, text box, header, footer, icon, or spacing choice will be interpreted the same way elsewhere. A PDF with little or no selectable text may be a scan or an extraction failure; the tool can flag that risk, but it does not perform OCR or certify another parser's behavior.

The checker also cannot validate a claim in your work history. If a JD names a technology, license, degree, or clinical skill, only add it when your own evidence supports it. A keyword is not a substitute for experience.

For background on why parsing can fail in a real hiring system, see Greenhouse's explanation of unsuccessful resume parsing. That document describes Greenhouse's workflow; it is not evidence that every ATS uses the same rules.

Privacy and data paths

The free extraction and scoring path runs in your browser after the page has loaded. A local check is not saved as a public result. The optional AI rewrite is a separate one-time paid pack: its pre-use notice explains that extracted text and the JD are sent to the service and its providers for moderation and generation. Read the Privacy Policy and pricing page before using that feature.

A small reproducible test

To test a change without using a real person's resume, use the synthetic plain-text fixture. It is deliberately fictional. Upload it, optionally paste the sample JD from the format guide, and compare the extracted text and result after each edit. The fixture demonstrates the tool's behavior; it is not a benchmark for Workday, Greenhouse, or any other employer system.

If the tool misreads a file, tell us the extension and browser through Contact. If you are working from a specific posting, use the job-description match tool. Please do not email a real resume.

Return to the home checker, browse the resume guides, or read the pricing page before choosing an AI rewrite.

Who maintains the checker?

The CheckATS team maintains this tool, its diagnostic rules, and these examples. The product focuses on English resume text checks and clear evidence for editing. We do not represent an employer or ATS vendor, and the score is not a recruiter endorsement.

For a scoring question, send the rule version, file type, browser, and a synthetic example through Contact. Do not send a real resume or private employment information. We use reproducible examples to investigate issues; this page does not claim independently certified accuracy or undisclosed recruiting credentials.