Resume Keyword Scanner
Drop your resume and a JD. Get an ATS match score, missing keywords and per-bullet improvement tips.
Private
Instant
No upload
PDF / DOCX
ATS friendly
Your resume
Drop PDF / DOCX / TXT to extract text
Job description
Drop PDF / DOCX / TXT to extract text
Role preset
Fetch JD from URL
How scoring works. The tool splits the JD into Required and Preferred sections (looking for headers like "Requirements", "Must have", "Preferred", "Bonus", "Nice to have"). Required keywords get 2x weight in the score. Synonyms count as a match (
k8s = kubernetes, js = javascript, ml = machine learning). Word stems are matched too: manage / managing / managed / management all collapse to one keyword. Years of experience are extracted from the JD ("5+ years") and compared against the work-section date ranges in your resume (Education / Certifications dates are excluded).
- Aim for 70%+. Most ATS systems rank above that threshold.
- Required-section gaps are weighted heavier. Fix those first.
- Use the exact phrasing the JD uses for hard skills (e.g.
Node.jsnotNodeJS) since some ATS still match literal strings. - The Resume Health audit flags weak verbs, missing numbers, and too-short bullets. Quantified bullets ("reduced latency by 40%") rank higher with recruiters skimming.
Keyboard shortcuts
Cmd/Ctrl+EnterRun scan
Cmd/Ctrl+KFocus resume box
Cmd/Ctrl+JFocus JD box
Cmd/Ctrl+SSave current resume + JD to history
Cmd/Ctrl+PPrint / Save as PDF
?Open this help
EscClose any modal
Cover letter draft
Generated locally from your resume + the JD. Tone is auto-detected (formal vs casual). Edit before sending.
Skill graph
Top JD skills positioned by frequency. Larger = JD asks for it more. Green = on your resume. Red = missing. Hover for counts.
Resume history
Saved in your browser only. Last 5 sessions kept. Use Cmd/Ctrl+S to save the current view, or it auto-saves after each scan.