ATS score
A resume score you can argue with.
26 deterministic checks across three dimensions. The same resume always gets the same number, and every point lost names the line that lost it and what would win it back.
How the number is made
Three dimensions, weighted by what you can change.
Job match carries the most weight because it is what tailoring can move. Parseability carries less, but acts as a cap: below 50, the overall score cannot exceed it — a resume a parser cannot read is broken, whatever else is true of it.
Parseability30% of the score
Can software read it? We export your PDF and read it back the way an applicant tracking system does.
Extractable text25 pts
The PDF contains real text, not a picture of text. A scanned or image-only resume reads as a blank page.
Reading order25 pts
Text comes out of the PDF in the order it reads on the page. Columns and text boxes are the usual reason it does not.
Section headings15 pts
Every heading survives extraction and is one an ATS recognises — "Experience", not "Where I’ve been".
Contact details15 pts
Email, phone and links can be found in the extracted text, not locked in a header graphic.
Dates8 pts
Every date parses, and no role ends before it starts or starts in the future.
Glyphs7 pts
No icon fonts, private-use characters or letter-spacing tricks that extract as junk.
Single column3 pts
A template that claims to be one column extracts as one column.
File size2 pts
Small enough for any upload form.
Job match45% of the score
Does it show what this posting asks for — and where on the page, and how recently?
Required keywords34 pts
The terms the posting requires appear on your resume — matched through synonyms, so "k8s" counts as Kubernetes.
Preferred keywords10 pts
The posting’s nice-to-haves appear too.
Keyword placement10 pts
Required terms appear where they count. A bullet that shows you using a skill is worth 1×; the summary 0.7×; a skills list only 0.55×.
Recency8 pts
Required terms were true recently: full weight within 2 years, fading to 50% at 8 years and after.
Title alignment12 pts
Your current title reads like the role you are applying for.
Seniority8 pts
Your level matches the posting’s — a lead role asks for lead-sized scope.
Years of experience10 pts
Your total experience, computed from your dates, meets the posting’s minimum.
Certifications5 pts
Certifications the posting requires are listed by name.
Location3 pts
Your location and the posting’s on-site, hybrid or remote terms are compatible.
Work authorisationnot scored
Surfaced so you see it, never scored: only you know your status.
Writing quality25% of the score
Will a person keep reading? Strong verbs, real numbers, lines that fit, no filler.
Action verbs20 pts
Bullets open with what you did, not "responsible for" or "tasked with".
Numbers22 pts
At least 60% of bullets carry a number — how much, how many, how fast.
Bullet length12 pts
Each bullet is 40–260 characters: one or two lines, never a paragraph.
Tense10 pts
Present tense for the job you have, past for the ones you had — and one tense within a role.
Filler12 pts
None of the 61 phrases recruiters skim past: "team player", "results driven", "thinking outside the box".
First person8 pts
No "I", "me" or "we". The page is already about you, and "we" hides whose work it was.
Length8 pts
Page count fits your experience: one page under about 8 years, two under 15, three beyond.
Summary8 pts
A summary exists and runs 150–700 characters: long enough to say something, short enough to be read.
Every point has a reason
What the score actually says.
This is the scorer’s real output for the sample resume from our home page, before tailoring, against its sample job. It scored 81. Each issue names a line, says what is wrong, and says what would fix it.
3 required keywords missing−9.7 pts
Payments, A/B testing and Stakeholder management do not appear anywhere on the resume. Add only what is true of you — a keyword you cannot back up fails the interview instead of the filter.
Move key skills into your experience−1.1 pts
SQL appears only in a skills list. A bullet showing you use a skill counts for far more than a line claiming it.
Put a number in this bullet−0.9 pts
A number is the difference between a claim and evidence. How much, how many, how fast, how much cheaper? If you do not know it exactly, an honest range beats nothing.
Replace "responsible for"−0.8 pts
This bullet opens with "responsible for", which describes the job rather than what you did with it. Open with the action: what changed because you were there?
1 preferred keyword missing−2.5 pts
Go-to-market does not appear anywhere on the resume. Add only what is true of you — a keyword you cannot back up fails the interview instead of the filter.
Drop the first person−0.7 pts
Resume writing leaves out "i" — the whole page is already about you, and cutting it leaves room for what you did. "We" also hides whether the work was yours.
Principles
Why you can trust the number.
Deterministic
No model decides the score. The same resume, job and PDF always produce the same number — so a change in the score means a change in the resume.
Explainable
A score is a list of checks, each with the points it earned out of the points it could. The number is a consequence of the list, not a verdict handed down beside it.
Actionable
Every lost point produces an issue tied to a block of your resume, with a fix attached — the thing the Fix button in the app hands to the editor.
Questions
About the ATS score.
What is an ATS score?
An estimate of how well a resume will survive an applicant tracking system and the recruiter reading its output: whether the file parses, whether it shows what the job asks for, and whether the writing holds attention. Ours is built from 26 named checks, so the number always comes with its reasons.
Is this the score Workday or Greenhouse gives my resume?
No, and nobody outside those companies can honestly offer that. Many applicant tracking systems do not score resumes at all; they parse them and let recruiters search and filter. What we can test, we do test — we export your PDF and read it back the way a parser does — and what is a judgement, we label as one.
Why do I get a different score for different jobs?
Because nearly half of it is job match. The same resume can fit one posting well and another badly. Without a job attached, the match checks are skipped and the score is parseability and writing quality alone.
Why did my score drop when I added keywords to my skills list?
It probably did not drop — but it may not have risen as much as you expected. A term in a skills list counts for about half of the same term in an experience bullet, and stuffing a list does nothing for title, seniority or years. The score is built so that keyword stuffing alone lands in the fifties.
Will an AI ever change my score?
No. The score is computed by code, with no model involved; the same resume and job always give the same number. AI is only used to propose fixes, which you accept or reject.
Read next
- Free toolResume checkerPaste your resume and get an instant score with specific fixes: weak verbs, missing numbers, bullet length, tense, filler and headings. Runs in your browser.Read
- GuideWhat is an ATS? How applicant tracking systems actually read your resumeWhat an applicant tracking system does with your resume, step by step: parsing, search, filters and the recruiter on the other side — and what really goes wrong.Read
- ProductPDF exportYour resume is typeset, not screenshotted: real text, one column, standard headings. We read every export back the way an ATS would and show you what it saw.Read
See your own score in under a second.
Start with the resume you already have. Importing it is free and uses no AI.
Free plan forever · No card · Nothing renews