Skip to content

Home/Keyword Scanner

Resume keyword scanner — see what your resume is missing.

Paste a job description and your resume. We extract the JD's ranked keywords (required skills, preferred skills, key responsibilities) and show which ones are missing from your resume. Top 10 keywords ranked by JD-stated importance.

Honest about what we do: this finds keywords that appear in the JD but not on your resume. We don't recommend stuffing — we recommend surfacing keywords you truthfully have in the right places. If a keyword doesn't apply to you, leave it off.

The Working Tool

Scan your JD now.

Paste the JD, upload your resume (PDF or DOCX, 5MB max). You'll get the full ranked keyword list, what's matched vs. missing, and a Resume Match Score across 6 components. Takes ~30 seconds.

First tailoring is fully unlocked — full keyword list, match score, bullet rewrites, cover letter. No signup.

Behind the scenes

How keyword matching actually works.

Two pieces. First, the JD goes through a structured-extraction model that returns four ranked lists: required skills, preferred skills, keywords (most to least important), and key responsibilities. The schema is fixed, so the same JD returns the same output every time.

Second, each keyword gets matched against your resume's searchable corpus — bullets across experience, projects, activities, and volunteer; your skills line; your certifications; your awards; and your languages. The match is semantic with normalization, not exact-string. So "PostgreSQL" matches "Postgres," "CI/CD" matches "CI/CD pipelines," and "BLS" matches "Basic Life Support".

A keyword shows as missing when no part of your resume contains a recognizable form of it. It shows as matched when at least one resume location surfaces it. The deterministic part of this matters: the same resume + same JD will always return the same matched vs. missing classification.

Placement

Where to put keywords on your resume.

Keyword placement matters. The same word in different sections does different work for the recruiter and the parser.

Skills section

best for tools, platforms, and certifications. The recruiter scans here for fast yes/no fit-checking ("Do they know Python?"). Keywords here read as "I have this".

Experience bullets

best for verbs, methodologies, and concept keywords (Agile, Code Review, Stakeholder Management). Keywords here read as "I did this" — much stronger than skills-line presence.

Certifications

best for credentials (BLS, ACLS, CPA, AWS Cloud Practitioner). For credential-heavy sectors (healthcare, finance, education), this section matters as much as skills.

Summary

best for top 1–2 keywords that frame your candidacy. The summary is high-real-estate but low-density; use it for signature claims, not keyword soup.

The mistake to avoid is assuming keyword presence in any section is equal. A keyword in your bullets does meaningfully more work than the same keyword in your skills line, because bullets demonstrate while skills lines assert. Recruiters and modern ATS scoring both weight contextual usage above raw mention.

Mistakes

The 5 keyword traps that backfire.

Putting the keyword only in the skills line

If a JD asks for 'project management,' just listing 'Project management' in your skills doesn't tell the recruiter what you actually managed. Surface the keyword in the bullet that demonstrates it: 'Managed a 6-person team across 3 sprints to deliver…' The keyword still scans; the bullet now earns it.

Using a synonym the parser doesn't link

A JD asking for 'CRM' might not match your resume that says only 'Salesforce' if our semantic matcher misses the link. Spelling out the category — 'Salesforce (CRM)' — fixes it. Same for 'BLS' vs 'Basic Life Support,' 'M&A' vs 'mergers and acquisitions,' and so on.

Stuffing irrelevant keywords just because the JD listed them

Including 'Kubernetes' on your resume because the JD mentioned it — when you've never touched Kubernetes — is a fast way to fail an interview. The recruiter asks about Kubernetes during the screen, you've got nothing real to say, and the gap between resume and substance gets surfaced. Only include keywords that are truthfully yours.

Hidden white-text keyword stuffing

Putting white-text keywords at the bottom of the resume (so the ATS reads them but a human doesn't see them) used to be a lazy hack 5+ years ago. Modern ATS systems flag this, and recruiters who paste your text into a plain editor see it immediately. Don't do this — it's the resume equivalent of cheating on a take-home, and it's caught.

Ignoring the ranked order

The keyword scanner returns keywords ranked by JD-stated importance. The first 3 carry far more weight than #10. If you only have time to incorporate three new keywords into your bullets, prioritize the top 3 and leave the rest.

Sample output

What a real keyword scan looks like.

A Stripe SWE Intern JD scanned against a Berkeley CS student's resume. The full output for the first tailoring is unlocked — including the full bullet rewrites and cover letter generated from the same inputs.

JD: Software Engineer Intern · Stripe

Top 10 ranked keywords

6 / 10 matched · 4 missing

  • 1.Distributed Systems
    Missing
  • 2.Microservices
    Missing
  • 3.Kubernetes
    Missing
  • 4.PostgreSQL
    Matched
  • 5.REST APIs
    Matched
  • 6.CI/CD
    Matched
  • 7.Code Review
    Missing
  • 8.Observability
    Missing
  • 9.Python
    Matched
  • 10.Docker
    Matched

The four missing keywords (Distributed Systems, Microservices, Kubernetes, Code Review, Observability) are the JD-stated priorities the candidate should consider surfacing in their bullets — only if they truthfully did that work.

FAQ

Frequently asked.

  • Is the keyword scanner free?

    Yes. Every browser gets one full tailoring (which includes the keyword scan + match score + bullet rewrites + cover letter) free, no signup. From the second tailoring onward, the score and top 3 missing keywords stay free; the full ranked keyword list is part of the $0.99 unlock per job.

  • How does keyword extraction work?

    We pass the job description to a structured-extraction model that returns the JD's required skills, preferred skills, ranked keywords, and key responsibilities. We then check each keyword against your resume's bullets, skills, certifications, and other sections — using semantic matching, not exact-string matching. So 'PostgreSQL' on your resume matches a JD asking for 'Postgres,' and 'BLS' matches 'Basic Life Support.'

  • How many keywords does it extract per JD?

    Up to 10 ranked keywords from the JD's keyword list. We deliberately cap at 10 because beyond that you start hitting low-signal terms (industry jargon, generic words like 'communication') that aren't worth chasing. The top 10 ranked by importance is what moves the score.

  • Why does the scanner miss keywords I think are in my resume?

    Two common cases. (1) The keyword is on your resume but in a section the JD wouldn't expect — e.g., 'Excel' in a paragraph rather than the skills line. The recommendation is to surface it explicitly. (2) You used a different word for the same concept — e.g., 'team-led' vs the JD's 'leadership.' Semantic matching catches most of these but not all; if the missing-keywords list shows something you actually have, the fix is usually to use the JD's wording directly somewhere on the resume.

  • Is keyword stuffing safe?

    No. ATS systems (and recruiters) flag obviously stuffed keyword lists. The right move is to surface real keywords in the right places — your skills section, the bullet for the relevant experience, your certifications block — not to dump a list of 50 keywords into a hidden white-text box (which we've genuinely seen advised online; it doesn't work and can get your resume rejected for fraud). If the keyword doesn't truthfully apply to you, leave it off.

  • How is this different from copy-pasting the JD into ChatGPT?

    ChatGPT can extract keywords with a careful prompt. Three differences: (1) we use structured output with a fixed schema, so the result is consistently shaped (required, preferred, keywords, responsibilities). (2) The matching against your resume is deterministic, not LLM-judged — same resume, same JD, same answer every time. (3) We rank by JD-stated importance, not just frequency.

  • Does it work for non-English JDs?

    The current scanner is English-only. Multilingual support (Spanish and Brazilian Portuguese first) is on the roadmap but not yet shipped.

  • Can I scan a JD without uploading my resume?

    Not in the main flow — the value comes from comparing JD against resume. If you only want to extract JD keywords for a separate purpose, paste a placeholder resume; the keyword-extraction result is independent of your resume content.

First tailoring fully unlocked

Ready to scan?

Top 10 ranked keywords, full match score, bullet rewrites, cover letter — no signup, no email.

    Free Resume Keyword Scanner — See What Your Resume Is Missing | Laxu Resume — Laxu Resume