Resume Builder and Keyword Matcher
Scores your resume against a posting by how RARE each matched word is. Matching "communication skills" is worth nothing.
Paste the job description
Nothing is uploaded. The comparison runs in this page.
Worth adding, most valuable first
Terms in the posting that are not in your resume. Only add what is true.
Checks on what you have written
Your resume as a parser reads it
Single column, plain text, in extraction order. This is the whole document — there is no hidden layout.
The words every posting shares are the ones worth nothing
Across the 8 sample job descriptions bundled with this page — engineering, nursing, accounting, teaching, warehouse work, sales, design — there are 181 distinct terms. Three of them appear in every single posting: communication, experience, skills. A handful more appear in most: strong, preferred, required, environment, fast-paced. Meanwhile 159 of the 181 terms — 88 per cent — appear in exactly one posting. Kubernetes. Forklift. NetSuite. Wireframes. Reconciliations.
So a keyword score that counts raw matches rewards precisely the wrong words. Writing "strong communication skills, results-driven team player, thrives in a fast-paced environment" matches something in almost every posting ever written and tells a reader nothing about whether you can do the job. Naming the one tool the posting actually needs matches one posting in eight and says a great deal.
That is why two numbers are shown above rather than one. The raw match is what a naive keyword checker reports. The weighted match counts each term by how rare it is across those 8 roles, so matching "experience" is worth zero and matching something specific is worth nearly one. When the raw number is much higher than the weighted one, the resume is matching the filler and missing the substance.
What this page does not claim
It does not tell you whether an applicant tracking system — the software most employers use to store and search applications — will accept your file. Those are many different products with different parsers, and any page promising to beat them is guessing. What it does instead is give you plain single-column text where the reading order and the extraction order are the same thing, because that is the failure that is actually common: a two-column layout with contact details in a page header can extract in an order nobody intended, and there is no way to see it has happened.
The 8 sample postings are written by hand as representative examples, not scraped from a job board. They are there to measure how term frequency behaves across different kinds of role, which is a structural property rather than a claim about any particular employer's wording.
How to use
- Fill in the fields; the plain-text version updates as you type.
- Paste the job description you are applying to, then press Compare.
- Ignore the raw match — look at the weighted one and the missing terms.
- Add only what is true. A keyword you cannot talk about costs you the interview.
Frequently asked questions
Why are there two match scores?
Because a raw keyword count rewards the wrong words. Across the eight sample postings bundled here, three terms appear in every single one — experience, communication and skills — while about 88 per cent of terms appear in exactly one. The raw score counts all matches equally; the weighted score counts each by how rare it is, so matching "experience" is worth zero and matching a specific tool is worth nearly one.
What does it mean if my raw score is much higher?
That you are matching the filler and missing the substance. A resume full of "strong communication skills" and "fast-paced environment" will match something in almost every posting ever written, which is exactly why it distinguishes you from nobody. The gap between the two numbers is the size of that problem.
Which words are actually worth matching?
The ones that identify the role rather than describe work in general. Kubernetes, forklift, NetSuite, wireframes, reconciliations, differentiated instruction. Roughly nine tenths of the distinct terms in a posting are of this kind, and they are the ones a human reader is scanning for.
Should I add every missing keyword?
No. Add the ones that are true and that you could talk about for two minutes if asked. A keyword you cannot discuss is worse than a missing one — it gets you into an interview where the first question exposes it, which costs both sides more than not being called.
Will this get my resume past an applicant tracking system?
Nothing can promise that, and pages claiming to are guessing. An applicant tracking system is the software employers use to store and search applications, and there are many different products with different parsers. What this does instead is produce plain single-column text where the reading order and the extraction order are identical, which removes the failure that is actually common.
What actually goes wrong with resume formatting?
Two-column layouts and page headers. Software pulls the text out and discards the layout, so a two-column design can extract as interleaved nonsense, and contact details placed in a page header are sometimes dropped entirely. The visual order and the extracted order stop matching, and there is no way to see it has happened from looking at the document.
Why does the tool want numbers in my bullets?
Because a number is the difference between "improved performance" and "cut page load from 4 seconds to 1.2 across 12 services". The first could describe almost anyone; the second could only describe you. It is the same principle as the keyword weighting — specificity is the entire signal.
What is wrong with "responsible for"?
It describes the job rather than what you did in it. Every person who has held that title was responsible for the same things; only some of them achieved anything. Opening with a verb — built, cut, led, migrated, negotiated — forces the sentence to say what happened.
How long should a resume be?
Long enough to be judged and short enough to be read, which in practice is one page early in a career and up to two later. Nothing enforces a limit, but the further down the page a line sits the less likely it is to be read at all, so the ordering matters more than the count.
Where do the sample job descriptions come from?
They are written by hand as representative examples across eight kinds of role, not scraped from a job board. They exist to measure how term frequency behaves across different fields, which is a structural property rather than a claim about any real employer's wording. The page says so rather than implying a dataset it does not have.
Why is my resume shown as plain text?
Because that is what the first reader sees. Producing the plain text and showing it to you means what you check is what gets parsed, with no hidden layout in between. You can paste it into whatever document you like afterwards — keeping one column is the part that matters.
Is anything uploaded?
No. Your resume, the job description and the comparison all stay in your browser — nothing is sent anywhere, and nothing is stored between visits. Closing the tab loses what you typed, so download the text file if you want to keep it.
🔒 This tool runs entirely in your browser. Nothing you enter is uploaded, logged, or stored.