How to Find Keywords in a Job Description: A 4-Step Method Tested on 3 Real Postings

By Charlie Morrison
July 25, 2026 · 8 min read

Every piece of job-search advice tells you the same thing: pull the keywords out of the job description and put them in your resume. Almost none of them tell you which words actually qualify as keywords. So you end up staring at 600 words of corporate prose, highlighting things that feel important, and hoping.

The stakes are not imaginary. According to the Harvard Gazette's write-up of the Harvard Business School study on hidden workers, about 99 percent of Fortune 500 companies use automated tracking systems to screen applicants before a person sees them. The underlying HBS research puts it bluntly: hiring processes built to find "perfect" candidates efficiently end up systematically excluding qualified ones. Getting the vocabulary right is not gaming a system. It is making sure the filter can recognise what you already are.

So I stopped theorising and ran an experiment. I took three real job postings published on the same day, pushed each one through the free job description keyword extractor I built on this site, and looked hard at what came back. The result was more useful than I expected, mostly because so much of the output turned out to be junk.

The three postings I tested

All three went live on 24 July 2026 and were pulled from a public remote-jobs feed. I picked deliberately unrelated industries, because a pattern that holds across an ice cream museum, a software company and a logistics platform is a pattern worth trusting.

RoleCompanyIndustryLength
Creative Project ManagerMuseum of Ice CreamExperiential brand3,825 characters
People Operations SpecialistBlackthornB2B software4,894 characters
Head of OperationsOpenTrackLogistics data3,973 characters

No editing, no trimming. I pasted each description in whole, exactly as a candidate would.

What ten seconds of extraction actually gives you

Here is the raw output for the Museum of Ice Cream posting, straight from the tool:

Keyword extractor results for a Creative Project Manager job description, showing 20 keywords found across technical skills, soft skills, and tools categories
The extractor's output for the Creative Project Manager posting: 20 keywords, 7 of them repeated. Read the "Technical Skills" row closely.

Twenty keywords, seven of which appeared more than once, sorted into technical skills, soft skills, tools and action verbs. Ten seconds of work. And if you took that list at face value and started rewriting your resume around it, you would make your application worse.

Look at the Technical Skills row: spark and make. Neither is a technical skill. They come from the phrase "we exist to spark joy" in the company's opening paragraph. The Tools row lists Asana, which is genuinely correct and genuinely useful, sitting right next to word, which is a false positive that showed up in all three postings I tested.

This is not me trashing my own tool. An extractor is a fast candidate generator, and it does that job well. What it cannot do is judge. That part is yours, and it takes about four minutes.

Step 1: Collapse the duplicates and the stems

The first pass is mechanical. Extractors do not reduce words to their root form, so the same idea shows up two or three times and inflates its apparent importance. In the Blackthorn posting I got organization and organizational as separate entries, plus Flexible and flexibility. In the ice cream posting, Creative and creativity.

Collapse each pair to a single term and you immediately lose a fifth of the list. That matters, because a list of 20 feels like a checklist you must satisfy, while a list of 15 real terms feels like something you can be deliberate about.

Step 2: Sort what is left into three buckets

This is the step that does the real work, and it is the one no extractor performs for you. Every surviving keyword goes into exactly one of three buckets.

Bucket A: checkable facts

Named tools, platforms, certifications, methodologies, and explicit quantities. A recruiter can verify these, and a filter can match them exactly. Across my three postings, bucket A was tiny:

Four items across three postings and roughly 12,700 characters of text. These are the keywords worth restructuring a bullet point for.

Bucket B: domain vocabulary

The industry nouns a person inside that world uses without thinking. OpenTrack's list included cargo, which an extractor cannot distinguish from noise but which is obviously the vocabulary of freight logistics. Blackthorn surfaced compliance and negotiation, which are the actual substance of a recruiting and people-operations role.

Bucket B will not usually be an exact-match requirement. Its job is different: it signals you have worked in this world before. Use these words naturally in the way you describe your experience, not as a list.

Bucket C: universal claims

Leadership. Communication. Organizational. Autonomy. Cross-functional. Detail-oriented. Problem-solving. Every candidate writes them, no candidate can prove them in a resume line, and they were the overwhelming majority of every result I got.

The finding that surprised me

I expected the three postings to look different. They are an experiential brand, a software company and a logistics platform, hiring for creative, people and operations roles respectively. Here is what bucket C looked like side by side:

PostingShared soft-skill termsUnique to it
Creative Project Managerleadership, communication, cross-functional, strategycreativity
People Operations Specialistleadership, organizational, autonomy, planningattention to detail, ownership
Head of Operationsleadership, communication, organizational, autonomy, cross-functional, strategy, planningdecision-making, analytical

Three unrelated industries, and the soft-skill vocabulary is nearly interchangeable. leadership appears in all three. communication and organizational appear in two each. Meanwhile the terms that genuinely separate these jobs from one another, Asana and Salesforce and API and cargo, number about six in total.

Which produces an uncomfortable conclusion: the words an extractor gives you most of are the words that differentiate you least. If you write a resume optimised for bucket C, you have written a resume that matches every other applicant for a completely different job.

Step 3: Weight by repetition, not by position

Within the buckets, frequency is the signal worth trusting. The extractor flags how many times each term appeared, and that count is the closest thing you get to the hiring manager telling you what they actually care about. In the Museum of Ice Cream posting, Creative appeared twelve times and Asana twice, while most terms appeared once. A word repeated twelve times in 600 words is not decoration. It is the role.

Position in the posting is a much weaker signal than people assume. The opening paragraph is usually employer branding written by marketing. The requirements a filter was configured around tend to sit in the middle, in the least readable part of the document.

Step 4: Mirror bucket A exactly, everything else in your own words

For bucket A, copy the posting's exact string. If it says Salesforce, write Salesforce, not "CRM platforms". If it says "5+ years of experience", make sure a number and the word "years" appear somewhere a parser will find them. Exact-match is the entire mechanism here, and synonyms are where good candidates quietly lose.

For buckets B and C, do the opposite. Never paste a soft-skill term as a claim. Attach it to something that happened instead. "Cross-functional" as a bullet point is worth nothing; "ran the weekly handoff between design and warehouse ops for 14 months" contains the concept, survives a human read, and cannot be written by someone who did not do it.

Put together, the whole method takes about four minutes per application: extract, collapse, sort into three buckets, mirror bucket A word for word, and turn buckets B and C into evidence. If you want to see whether the result actually lands, the free ATS resume checker scores your draft against the same posting.

Try it on the posting in front of you

Paste a job description, get the candidate keywords in about ten seconds, then run the four steps above. Free, no signup.

Open the keyword extractor

What this changes about "keyword stuffing"

The standard warning is that you should not stuff your resume with keywords. True, but it misses why stuffing fails. Stuffing fails because it is almost always bucket C being stuffed, and bucket C is where every applicant already lives. Nobody was ever rejected for naming Salesforce three times in a resume for a Salesforce-heavy job. Plenty of people are ignored for a resume that promises leadership, communication and a detail-oriented approach in the first two lines.

The useful version of the advice is narrower: match exactly on the small set of checkable facts, speak the domain's vocabulary naturally, and convert every soft claim into a thing you did. That is a much shorter task than "optimise for the ATS", and unlike most keyword advice it survives contact with a real posting.

FAQ

How many keywords should I actually use from a job description?

Based on these three postings, the checkable ones are fewer than you would guess: one to three per posting. Mirror those exactly. Beyond that, aim to cover the domain vocabulary naturally rather than hitting a count. A target number is the wrong frame, because it pushes you toward padding with generic terms.

Do I need a tool, or can I do this by hand?

You can do it by hand, and for one application you probably should. The tool earns its place when you are applying to many roles and want a consistent first pass, since reading for keywords manually gets less reliable the more tired you are. The judgement steps stay manual either way.

Why did "word" show up as a keyword in all three postings?

It is a false positive, most likely from matching against the common software term. It is a good illustration of the general rule: any extractor produces some noise, and a keyword you cannot explain the source of should be dropped rather than trusted.

Does exact matching still matter, or do modern systems understand synonyms?

Some do handle related terms, but you have no way to know which system a given employer runs or how it is configured. Exact matching on named tools and stated requirements costs you nothing and removes the guesswork, so it remains the safer default.

Methodology footnote

Three job descriptions, all published 24 July 2026, pulled in full from a public remote-jobs API and pasted unedited into the extractor on this site. Categorisation into the three buckets is my own judgement, applied after the tool ran. Three postings is a small sample and I would not claim the exact counts generalise; the pattern I am drawing on, that soft-skill terms dominate the output while checkable terms are rare, was consistent across all three and matches what I saw earlier in a larger run of 30 backend job descriptions.

Job Search AI Toolkit

45+ prompts for resume rewriting, keyword tailoring, cover letters and interview answers. One file, no subscription.

Get the toolkit — $12

Related career posts on this site

← All posts