Resume & Job Description Matcher

Paste a job posting and your resume to see which of the posting’s terms are missing from yours. Requirements count more than nice-to-haves, and the equal-opportunity boilerplate counts for nothing.

Job description

No text yet.

Your resume

No text yet.

Both boxes are analyzed in your browser. Nothing is uploaded and nothing is saved — close the tab and the text is gone.
What this is: a coverage report showing which of the posting’s terms appear in your resume, weighted by where in the posting they appear. What it is not: an ATS score, a pass/fail, or a prediction of anything. There is no number to “beat” here, and adding a skill you cannot defend in an interview costs you far more than it gains.

The “75% of resumes are rejected by an ATS” claim is not real

Every keyword tool on the internet is sold on the same line: three quarters of resumes are thrown out by a robot before a human sees them. Sometimes it is 70%, sometimes 90%. Follow the citation and it never arrives: each article cites another article, which cites a vendor blog post, which cites nothing. There is no study. We will not repeat a number we cannot source, and you should distrust any tool that does while selling you the fix for it.

Here is what an applicant tracking system actually is. Workday, Greenhouse, Lever, iCIMS, Taleo and the rest are databases with a search box and a workflow attached. Your application lands in a table. A recruiter opens it, filters by requisition, and searches for the two or three things they were told to find — a license, a system name, a certification. The system returns everyone who matches and a person reads them. There is no scoring robot deciding your worth.

Automatic rejection does exist, but it is narrower and more visible than the myth suggests. Employers configure knockout questions on the application form: are you authorized to work here, do you hold an active RN license, do you have a valid CDL. You answered those yourself, on screen. The other real failure mode is parsing — a two-column layout or a text box can come out of the parser scrambled — and that is a formatting problem, not a keyword problem.

So what is keyword matching actually for? Surfacing. If the recruiter searches “Epic” and your resume says “electronic health records”, you are not in the result set. Using the employer’s own words for things you have genuinely done is how you show up in the search. That is the whole benefit: real, worth twenty minutes, and not a robot to defeat.

How this tool scores a posting

Most free matchers intersect two bags of words and show you the overlap. That produces garbage, because a job posting is largely not about the job: a good part of it is company blurb, benefits and legal boilerplate. We have not measured a representative sample of postings, so we are not going to put a percentage on that — but leave that text in and a naive matcher will happily tell you that you are missing “opportunity”, “employer” and “dental”. This tool works in one pass, in your browser, like this:

  • Segment the posting. Headings are detected and each block is weighted: requirements and qualifications count double, ordinary body text counts once, preferred and nice-to-have blocks count 0.6, and “about us”, benefits and equal-opportunity sections count zero. Sentences containing EEO language are zeroed wherever they appear, headings or not.
  • Strip boilerplate. 161 authored phrases — “the ideal candidate”, “other duties as assigned”, “fast-paced environment”, “reasonable accommodation” — are removed before any counting, and each removal breaks the sentence so no phrase is built across the gap.
  • Extract one-, two- and three-word terms and filter them against 258 stopwords. Punctuation is kept inside tokens, so C++, C#, .NET, Node.js and A/B testing survive intact, while hyphens split, so “detail-oriented” matches “detail oriented”.
  • Collapse word endings. A small, predictable stemmer folds manage / managed / managing / management / manager onto one root, and rolls back any rule that would leave a stub under three characters. It never touches a token carrying a symbol.
  • Rank by specificity. Weighted frequency is multiplied by how unusual the wording is, measured against a shipped list of 835 very common English and business words, then by category: certifications outrank hard skills, which outrank soft skills. That is why Kubernetes beats communication.

Matching against your resume uses the same stemming plus 157 acronym pairs, so PM and project management, AR and accounts receivable, RN and registered nurse, CDL and commercial driver’s license are understood as the same thing — and reported honestly as “present only as an acronym” rather than counted as a clean match.

A worked example, with the arithmetic

Load the built-in example (a warehouse operations supervisor posting) and look at two terms. “Cycle counting” appears twice: once under Responsibilities (weight 1.0) and once under Requirements (weight 2.0), so its weighted frequency is 3.0. Neither word is on the common-word list, so its specificity is 1.5. It is in the hard-skills list (×1.25) and it is a two-word phrase (×1.1). Its score is 3.0 × 1.5 × 1.25 × 1.1 = 6.19.

“Communication” appears once, in the Requirements block, so its weighted frequency is 2.0 — higher than you might expect. But it is on the common-word list, so its specificity is 0.5, and it is a soft skill (×0.7). Its score is 2.0 × 0.5 × 0.7 = 0.70. Cycle counting therefore ranks about nine times higher, which is the correct answer: a hiring manager can teach you to communicate on the job, and cannot teach you their inventory process in the interview.

The same example also shows the acronym check working. The posting says “lockout tagout”; the sample resume says “LOTO”. A human sees no difference, a search does, and the report says so instead of scoring it as a miss.

The example is also the only place we will put a number on boilerplate, because it is the only posting we can measure for you. It is 198 words — the counter under the box says so the moment you load it. Of those, 65 are in the two paragraphs the tool never scores: the company blurb under “About us” and the equal-opportunity notice at the end. Eight more are removed as boilerplate phrases from lines that do count — “hands-on experience”, “working knowledge of”, “is a plus”. That is one posting we wrote, not evidence about postings in general, but it is the difference between a report about the job and a report about the benefits package.

Edge cases, and what this does not model

It matches words, not meaning. Phrase order matters: if the posting says “inventory management” and your resume says “managed inventory”, the phrase is reported missing — though the report will tell you that every word is present but not side by side, which is usually the more useful information. It cannot tell alternatives apart, so “high school diploma or GED” produces two terms and you should only add the one you hold. It has no idea how your PDF parses, whether your columns survive, or what the recruiter will actually search for. It does not read your dates, so if the posting asks for five years, write the number somewhere rather than expecting anyone to add up your job history.

Two practical notes. Paste the posting with its original line breaks, because block detection depends on headings; the report warns you when it could not find any. And if it flags a word you have used five or more times, that is not a keyword win, it is a tell — two or three uses is plenty, and beyond that a human reader sees padding. When the fix is a rewrite rather than a word swap, the bullet point generator and the resume checker are the next two stops.

Weightings: requirements block ×2.0, body text ×1.0, preferred block ×0.6, boilerplate ×0. Vocabulary: 258 stopwords, 161 boilerplate phrases, 835 common words, 482 hard skills, 127 certifications, 81 soft skills, 240 job titles and 157 acronym pairs, all hand-written for this tool and last reviewed 8 August 2026. The exact list sizes are printed under every report you run. There are no external constants in this tool — no rate table, no government figure, nothing with an expiry date — and no third-party data source. Nothing you paste leaves your browser.

Resume and job description matcher FAQ

Is this an ATS scan?
No, and nothing sold online is. This compares two pieces of text you paste and tells you which words the posting leans on that your resume does not contain. It never sees the employer’s software, their search terms, or their shortlist. Treat it as a proofreading pass on vocabulary, not a verdict.
Is it true that 75% of resumes are rejected by an ATS before a human sees them?
There is no source for that figure. It has circulated for over a decade, always attributed to “studies” that nobody produces, and every trail ends in a vendor’s marketing page. Applicant tracking systems are mostly databases with a search box: a recruiter runs a search and reads the results. Employers can configure knockout questions on the application form — work authorization, a required license, a minimum year count — and those do auto-reject, but you answered them yourself and they are visible on screen.
What coverage percentage should I aim for?
None. We deliberately do not publish a target, because there is no threshold anyone can honestly defend. The percentage exists to make the before-and-after visible when you edit your resume. The useful output is the list of specific missing terms, not the number above it.
Should I add keywords I do not actually have?
No. A missing term is only worth adding if it is true and you can talk about it for two minutes in an interview. Stuffing a resume with terms you cannot back up wastes the interview you get and burns the relationship. The tool flags anything you repeat more than four times for exactly that reason.
Why is a term marked missing when my resume says something similar?
Because the tool matches words, not meaning. It collapses word endings, so “managed” and “management” count as the same term, and it knows 157 acronym pairs. It does not know that “ran a $2M P&L” answers “budget ownership”. When a multi-word phrase is missing but all its words appear on your resume separately, the report says so.
What does "acronym only" mean?
It means one document uses the short form and the other spells it out — your resume says K8s while the posting says Kubernetes, or your resume says commercial driver’s license while the posting says CDL. A person reading it sees no difference; a keyword search does. The fix is to write both once: “Kubernetes (K8s)”.
Does this work for jobs outside tech?
Yes. The built-in vocabulary covers healthcare, skilled trades, logistics, finance, administration, sales, education and hospitality alongside software. Terms it does not recognize are still scored and reported — they just do not get a category label, and they have to appear in a requirements block or repeat before they clear the noise floor.
Is my resume uploaded anywhere?
No. Both boxes are read by JavaScript in your own browser. Nothing is sent to a server, nothing is stored in your browser, and there is no account. Close the tab and the text is gone.

Ready to put your application together?

Every tool is free, runs in your browser, and needs no account. Start with the resume builder or jump straight to a cover letter.