Resume Keyword Checker
Paste a job posting and your resume to see which key terms you match. No file upload, no signup, nothing leaves your browser.
How this works (and what it cannot tell you)
This tool performs exact string matching, with one concession for spelling variation. Here is what it does:
- Converts both texts to lowercase and removes most punctuation (keeping hyphens in compound words, periods in version numbers like "node.js", plus signs in "c++").
- Splits on whitespace and removes a built-in list of ~180 English stopwords (the, a, and, etc.), plus job-posting boilerplate that recurs in nearly every posting (position, role, required, years, ability, excellent, etc.).
- Finds which unigrams and bigrams (one-word and two-word terms) repeat at least twice in the posting, up to the 40 most-frequent terms.
- For each kept term, checks if it appears in your resume text. When matching, strips trailing s, es, ed, ing from both sides — so "analyzed" matches "analyze", "testing" matches "test".
- Reports coverage as: (# of matched terms) / (# of kept terms) in the posting.
What it cannot tell you: This is vocabulary overlap, not ATS prediction. An ATS might weight these terms, ignore context, require exact spelling, parse your file incorrectly, or use ML to score relevance. This tool does none of that. 100% match does not guarantee an interview. 40% match does not disqualify you. If your resume says you built a system and the posting asks for "systems design experience", this tool sees two different words and logs a miss — but a human recruiter would read that as a hit.
What to do with the missing terms
Three honest moves:
- Add back what is true of you. If the posting repeats "machine learning" and you have real ML projects, make sure your resume mentions the specific model or library you used — not just "data analysis". Use the exact language from the posting where it is genuinely accurate.
- Rename what you call something else. If you call it a "backend API" and the posting says "REST service", either term works — pick whichever you actually used, or pick both if both are true. The posting is not the law; it is a hint at vocabulary.
- Ignore boilerplate you cannot change. If the posting lists "5 years of Python experience" and you have 3 years, adding "5" to your resume is a lie. Do not do that. Most screen criteria are soft; HR and hiring managers negotiate. What they do not negotiate is whether you lied.
Why we do not claim to be an ATS checker
ATS systems are proprietary, vary by company, and often malfunction. Vendors market "ATS optimizers" that score your chances of passing; we do not do that, because:
- No vendor (including us) can see inside a specific company's ATS to know what it weights.
- ATS misses legitimate resumes regularly — bad PDF parsers, unicode bugs, weird formatting rules. A high score here does not protect you from that.
- Humans read most resumes after the ATS. Even if the ATS filters you in, you still have to write a good resume, and this tool does not measure that.
- Optimizing only for keyword density makes your resume sound like spam. Recruiters hate it. Stay honest.
This tool tells you what language you and the posting have in common. Use it to make sure you are not hiding your real skills in jargon the posting does not expect. That is all it should do.
See the stopword and boilerplate lists
English stopwords (~180 words):
a about above after again all am an and any are as at be because been before being between both but by can could did do does doing down during each few for from further had has have having he her here hers herself him himself his how i if in into is it its itself just me might more most must myself no nor not of off on once only or other our ours ourselves out over own same she should so some such than that the their theirs them themselves then these they this those through to too under until up very was we were what when where which while who whom why will with would you your yours yourself yourselves
Job-posting boilerplate:
equal opportunity employer candidate applicant candidates role position team work working ability strong excellent experience years required preferred responsibilities qualifications
Questions
Why no file upload?
File upload would mean sending your resume to a server. This tool does not have a server — it runs in your browser and never sends anything anywhere. Paste the text instead. If your resume is a PDF or DOCX, open it and copy the text; that is what ATS systems do anyway (and often poorly).
What if I get 100% match?
That means every repeated term in the job posting also appears in your resume text. Congratulations — but it does not mean you will get an interview. It means the vocabulary is aligned. You still need a clear, specific resume and a solid cover letter. The posting might weight certain terms more than others. You might not have the right kind of experience (deep expertise vs. exposure, for example). And the human reader might just prefer someone else.
What if the posting is very short?
The tool looks for terms that repeat at least twice in the posting. If a posting is under 60 words, it is unlikely to repeat much, so the tool falls back to terms that appear at least once. Either way, you will see a note explaining why the term count is low.
Does stemming work for all words?
No. The tool strips common verb endings (s, es, ed, ing) from both the term and the resume text before comparing. This handles "analyze/analyzed/analyzing" but not irregular forms like "go/went". It also does not handle synonyms — "design" and "architect" are different words to this tool, even if they mean similar things.
Can I trust this over a recruiter's feedback?
No. A recruiter who says "your resume does not have enough keywords" is reading your actual resume and your actual experience. This tool only sees text. If a recruiter tells you to add a skill, they are usually right — but make sure what you add is true. If a recruiter tells you to add a skill you do not have, that recruiter is bad at their job.
Sources
- Teaming: Teal resume & job matching interface — for the concept of comparing job descriptions against resume text as a concrete list, not a magic number.
- Harvard Mignone Center for Career Success: Plain-spoken guidance on resume structure and keyword strategy for entry-level roles.
- Society for Human Resource Management (SHRM) publications on ATS and resume screening processes.
- University career center guidance: Most U.S. college career centers teach resume writing without ATS-score claims, emphasizing substance over keyword density.