Resume keywords
The keyword game has changed. The 'stuff your resume with hidden white text to beat the bots' era is over — modern ATS systems caught up around 2022. Here's how keywords actually work in 2026 and what still matters.
Resume keywords matter, but not in the 'cram every JD term into a hidden white-text block' way. Modern ATS systems weight relevance and context. The right move is to use the JD's exact phrasing for skills you actually have, in places where the phrasing is natural.
How modern ATS keywords actually work
Workday, Greenhouse, Lever, and similar systems run keyword extraction on the JD and on your resume, then score the overlap. They weight context (a keyword in your role title weighs more than the same word in your hobbies) and frequency (mentioning a skill twice is better than once, but ten times is not better than twice). They also down-rank stuffing — repetition past a threshold lowers your score, not raises it.
Match the JD's exact phrasing for skills you have
If the JD says 'PostgreSQL,' don't write 'Postgres' — write the version they used. Same for 'machine learning' vs. 'ML,' 'JavaScript' vs. 'JS,' 'product manager' vs. 'PM.' Modern systems are better at synonym matching than they used to be, but exact-phrase still scores higher. This is one of the few cases where a tiny edit pays off.
Where keywords go in the document
In order of weight: role title > skills section > recent role bullets > older role bullets > summary. A keyword in a role title is worth more than the same keyword anywhere else. A keyword in a hobbies block is essentially worthless. The skills section is where most candidates put their keyword density — it's fine but the bullets are where keywords prove the claim.
What stuffing looks like and why it backfires
Stuffing is when you list keywords that aren't backed by experience, repeat the same keyword more than three times, or paste the JD into the bottom of your resume in white text. All three are caught by modern ATS systems and at least the last one is caught by every recruiter who hits Ctrl+A on a PDF.
Finding the right keywords
Use the JD itself. Highlight every noun and noun-phrase that names a skill, tool, or domain. The ones you actually have are your keyword list — use them in the most natural places in the resume. Don't pull from a generic 'top 50 keywords for [role]' list; the JD in front of you is more accurate than any third-party list.
Side by side
Used the JD's exact phrasing 'PostgreSQL' in the skills section, 'Postgres' in a casual bullet, and named the version (Postgres 16) in the most recent role bullet for specificity.
Listed 'PostgreSQL, Postgres, postgres-sql, PG, RDBMS, SQL database, relational database' in the skills section to game the parser. Modern ATS down-ranks the repetition.
Mistakes that get this wrong
- Pasting the entire JD in white text at the bottom of the resume
- Listing skills you don't have to inflate keyword count
- Using only acronyms or only full forms — modern ATS likes both
- Not matching the JD's exact phrasing for the most important terms
- Treating the skills section as the only place keywords matter
Read the JD, highlight every skill or tool noun, write down the ones you actually have, and use the JD's exact phrasing for them in the most natural places in your resume. Don't stuff — modern ATS catches it and recruiters notice.
Frequently asked
Is white-text keyword stuffing still a thing?
It's still done, and still caught — by both ATS systems and recruiters. Don't.
How many times should a keyword appear?
2–3 times for the most important ones, 1 for the rest. More than 3 mentions of the same skill reads as repetition and gets down-ranked.
Do I need to match every keyword in the JD?
No — that would require lying about most of them. Match the ones you actually have and let the rest go.
Run your resume through the checker.
Free, no signup. Get a read on whether your resume actually clears the bar this tip is pointing at — in under a minute.