What this checker looks at
Five structural checks, each one a thing that measurably breaks when an applicant tracking system opens your file. They are deliberately boring: nothing here is a guess about what a recruiter will think of your career, because no tool can know that.
| Check | How we test it | Why it matters |
|---|---|---|
| Text is machine-readable | We extract the text from your file and confirm there is enough of it to parse. | A resume exported as a scanned image has no text at all. Most systems read nothing and rank you on nothing. |
| Contact details are detectable | We look for a valid email address in the extracted text. | Contact details tucked into a page header or footer are routinely skipped, which makes you unreachable even after a recruiter likes your resume. |
| Standard section headers | We check for recognisable headings — Experience, Education, Skills, Summary, Work History. | Parsers use headings to decide which text is a job and which is a qualification. Invented headings like "My Journey" leave content uncategorised. |
| Single-column layout | For PDFs, we analyse the text positions to detect a multi-column layout. | Most modern systems handle two columns, but older ones read straight across and interleave the two, turning your resume into nonsense. |
| Bullet points | We count bulleted lines in your descriptions. | Less about parsing, more about the six seconds a human spends on it. Dense paragraphs get skimmed and forgotten. |
Paste a job description as well and we extract the 12–15 concrete terms a hiring manager would scan for — tools, certifications, methodologies — then check which of them appear in your resume. The terms come out of the posting itself, not from a generic industry list, so the result tells you something about this application rather than about resumes in general.
How the score is worked out
Without a job description, the score is simply how many of the five checks you pass. With one, it is 60% the checklist and 40% the keyword match. Structural problems weigh more because a resume that parses badly cannot be rescued by keywords — if your employment history lands in the system as one undifferentiated block of text, matching every term in the posting will not save it.
Aim for every structural check green. On keywords, 70–80% against a specific posting is a realistic target; we explain why chasing a higher number backfires in what a good ATS resume score actually is.
What this checker cannot tell you
It cannot tell you what the employer's own system will do. Workday, Greenhouse, Taleo, SuccessFactors and dozens of others each parse and rank differently, on rules nobody publishes, against a requisition we have never seen. Any tool claiming to reproduce that number is guessing.
It also cannot tell you whether you are a good candidate. A resume that scores 100 and says nothing specific about what you achieved will lose to a resume that scores 80 and does. Treat the score as a proofreading pass on the file, and spend the saved time on the writing — which is what how to write a resume that gets read is for.
What to do about a failed check
- Not machine-readable — your file is an image. Re-export from the original document as a real PDF rather than scanning or screenshotting it.
- No contact details found — move your email out of the page header and into the body of the first page.
- Non-standard headings — rename sections to the plain words: Experience, Education, Skills. Personality belongs in the bullets, not the headings.
- Multi-column layout — switch to a single-column template, or accept the small risk knowingly. What makes a template ATS-friendly covers the trade-off.
- No bullet points — break the paragraphs into four to six bullets per role, each one a thing you did and what came of it.
Or skip the fixing.
Upload the same file to DraftCareer and it becomes an editable profile, which you can render into any of 48+ templates — 14 of them ATS-friendly by construction, so every check above passes by default. Start free, and the PDF comes out without a watermark.
Frequently asked questions
Is this ATS checker really free?
Yes — no account, no card, no email address. Upload a resume and you get the score, the full checklist and the keyword breakdown. We ask nothing in return except that you consider building your next version here.
What file formats can I upload?
PDF or DOCX, up to 5MB. PDF gives you the most accurate result, because the column-layout check can only run on a PDF.
What is a good ATS score?
Every structural check should pass — those are objectively right or wrong. On the keyword half, 70–80% against a specific job description is a realistic target, and a near-perfect match usually means you have copied the posting, which reads badly to the human who opens it next.
How is the score calculated?
Without a job description, it is simply the share of the five checks you pass. With one, it is 60% checklist and 40% keyword match — structural problems are weighted heavier because a resume nobody can parse cannot be rescued by keywords.
Does this tell me what the employer's ATS will say?
No, and neither does any other checker. Employers run Workday, Greenhouse, Taleo, SuccessFactors and dozens more, each with its own parser and its own ranking rules, none of which are public. What we test is whether your file is readable and well structured — the part that is true across all of them.
Do you store my resume?
No. The file is parsed in memory to produce your score and is not saved to an account or a database. The job description you paste is used once, to extract its key terms.
Will a low score mean I get rejected?
An ATS almost never rejects anyone by itself — that is a knockout question the employer configured, like work authorisation. What a low score predicts is quieter and worse: your resume parses badly, so you never appear in the recruiter's search at all.
How often should I check my resume?
Once after any change to the layout, template or file format, since those are what break parsing. Re-checking after an edit to the wording only matters if you are matching against a specific posting.