Free ATS Keyword Checker

Check how well your resume matches a job description. See matched and missing keywords instantly. Free, no sign-up required.

Let AI fix the gaps automatically.

Try RolePatch free →

How it works

Paste your resume in one box and the job description in the other, hit Analyze, and the tool computes a 0–100 match score entirely in your browser. It tokenizes the job description, removes English stop words and generic resume filler (words like “experience”, “team”, “required”), and extracts single-word terms plus two-word bigrams.

Keywords that appear two or more times in the JD are treated as “important” and carry 70% of the score weight; one-off keywords carry 30%. The tool then checks which of those keywords appear as a substring in your resume and splits them into a matched list and a missing list, so you can see exactly which terms to add.

This is the same scoring engine RolePatch uses inside the full tailor flow. The difference is that here you bring both texts yourself; in the app you paste a job URL, RolePatch scrapes the JD, rewrites your resume to close the keyword gaps, and shows you a word-level diff before you accept.

Frequently asked questions

How is the ATS keyword match score calculated?

The tool tokenizes the job description, strips stop words and generic filler words (like "experience", "team", "role"), and extracts single words plus two-word bigrams. Any keyword appearing two or more times in the JD is treated as "important" and weighted at 70% of the score; the rest are "regular" and weighted at 30%. The final score is the weighted percentage of keywords found in your resume.

Does the keyword checker send my resume anywhere?

No. The comparison runs entirely in your browser. Both textareas are processed locally with JavaScript — there is no upload, no account, and no server call.

Why are some keywords marked "important" and others "regular"?

Keywords that appear two or more times in the job description are promoted to "important" because repetition signals the employer weights them heavily. If no keyword repeats, every keyword is promoted to important so you still get a usable score.

What counts as a keyword versus a filler word?

The extractor removes common English stop words (the, and, of, with…) and resume filler words (experience, skills, responsibilities, required, preferred…). It also ignores tokens shorter than three characters. What remains — skills, tools, technologies, domain terms — are treated as keywords.

How do I improve my match score?

The "Missing keywords" list shows exactly which JD terms are not in your resume. Add the ones you genuinely have using the same phrasing as the job description. RolePatch can do this automatically — paste the job URL and the AI rewrites your resume, then shows you a word-level diff.