Search for résumé advice and you will be told, roughly four hundred times, to make your résumé ATS-friendly. You will rarely be told what that means in terms you can act on. It is advice shaped like a specification with no specification inside it, which is why so many people rewrite a résumé twice and still have no idea whether they fixed anything.
So here is the specification. Below is every check a résumé scanner runs: 23 of them, named, grouped, with the thresholds each one uses. Most tools treat this as proprietary. It isn't, and it shouldn't be, because a check you can't see is a check you can't fix. You can run all of them on paper in about ten minutes, and the last section of this post shows you how. If you would rather have it done in thirty seconds, the EvoResume ATS checker runs the lot in your browser.
First: three failures that cap your score outright
Most scoring is additive: you gain and lose points across a lot of small checks. Three failures don't work that way. They are structural, they break the parse rather than weaken it, and while any one of them holds, your score is held under a ceiling no matter how good the rest of the document is. A résumé that would otherwise score 91 scores 55 if a parser cannot find an email address, because from the software's point of view the other 36 points describe a candidate it cannot contact.
- No parseable email address, ceiling 55. This is the field an ATS uses to identify you as a record. Without it you are an anonymous document. An email inside an image, inside a header region, or split across a line break all count as missing.
- No standard section headings, ceiling 65. If nothing on the page says Experience, Education or Skills in words a parser recognises, the document cannot be split into fields, and every downstream check is guessing.
- No role carries a date range, ceiling 70. Undated experience cannot be ordered, so the system cannot tell what you do now from what you did in 2014. Recruiters filter on recency constantly.
The ten checks that decide your score
These carry the weight. They fall into three categories: Sections (can the document be parsed), Content (do the bullets prove anything), and ATS Essentials (does it hold up once a human opens it). The weights matter, because quantified impact is worth more than twice length, and people usually spend their time on the wrong one.
Sections: can a parser take it apart
- Contact information (weight 14). Email, phone and a LinkedIn URL, all in the body of the document rather than the header. Email is most of the weight; a missing LinkedIn is a nudge, not a failure.
- Section headings (weight 10). At least three standard headings, written verbatim on their own line. Where I've Made Magic maps to no field a parser knows about.
- Dates on every role (weight 8). Every position carries a date range. One undated role is a gap in the record; all of them undated trips the ceiling above.
Content: do the bullets prove anything
- Quantified impact (weight 18, the heaviest check on the résumé). At least half your bullets should carry a real figure: a percentage, an amount, a count, a timeframe. Dates and phone numbers don't count. Half is the bar recruiters read as evidence rather than assertion.
- Every role carries a number (weight 8). Not just your best job. A role with no figure anywhere in it reads as a copied job description, which is often exactly what it is.
- Action-verb phrasing (weight 12). Seventy per cent of bullets should open on a strong verb (Led, Built, Cut, Grew) rather than on Responsible for or Worked on.
- Filler and clichés (weight 8). Stock phrases such as team player, results-driven and proven track record, measured as a rate across your lines rather than as a blacklist. A couple is nothing; a résumé built out of them says nothing.
ATS Essentials: does it survive a human
- Depth per role (weight 10). Three to six bullets per role on average. This check also looks at which role is fullest: if your most recent job is thinner than a job from 2016, that is backwards, because the recent one is read hardest.
- Length (weight 8). Roughly 400 to 800 words. Under 350 is too terse to judge; well over 850 stops being read.
- Third-person voice (weight 4). No I or my. The lightest check on the list, and worth exactly the thirty seconds it takes.
Responsible for managing the social media accounts and was a key team player in growing our online presence.
Grew combined social following from 4k to 31k in 11 months, lifting referral traffic 22%.
That single rewrite moves four separate checks at once: quantified impact, every role carries a number, action-verb phrasing, and filler. This is why bullet rewriting is high-leverage. The checks are not independent, and one honest number tends to fix a cluster of them.
The thirteen checks that read you, not your formatting
The remaining three categories measure something different. They are not asking whether a machine can read the document. They are asking what a recruiter concludes about you in the eight seconds after it opens. These are scored separately and reported as a category percentage; the individual findings are the part behind the pass.
- Recruiter Red Flags: repeated verb openings (six bullets all starting Managed), passive voice, buzzword density, tense drift between current and past roles, unexpanded acronyms, and parser-hostile glyphs.
- Seniority Signals: whether the document argues the level it claims, through leadership language, scope and scale, detail proportionate to the years claimed, and whether skills are grouped or dumped in a list.
- Bias & Date Exposure: what your formatting reveals before anyone reads a bullet, including inconsistent date formats, employment gaps, and age signals such as a graduation year you were never required to include.
Why "upload your résumé" should give you pause
Nearly every free ATS checker asks you to upload your résumé, and a good number ask for an email address before showing the score. It is worth being clear about what that document is: your full legal name, your phone number, your home city, your employment history, and often enough detail to answer a security question. You are handing it to a company whose business model you have not read.
The checks described in this post do not require a server to run. They are text analysis (heading detection, figure detection, verb detection, rate calculations) and a browser is perfectly capable of all of it. So the EvoResume checker does it there: a PDF is read locally with pdf.js, the text stays in your tab's session storage and is discarded when you close it, and no copy of your résumé is posted anywhere. There is nothing for us to keep, which is a stronger guarantee than a promise not to keep it.
Run all ten checks yourself in about ten minutes
No tool required. Open your résumé and work down this list with a pen. The point is that these are legible criteria, not a black box.
- The paste test. Select all the text in your PDF and paste it into a plain text editor. If nothing selects, your résumé is an image and every check below scores zero. If it pastes scrambled or out of order, you have a column or table problem. That paste is roughly what the ATS sees.
- Find your email in that paste. Present and on its own line? Good. Missing means it was trapped in a header region, so move it into the body.
- Count standard headings. You want at least three of Experience, Education and Skills, spelled exactly like that.
- Check every role has a date range. All of them, in one consistent format.
- Count your bullets, then count the ones with a number in them. Under half is the single biggest score drag on most résumés.
- Check each role separately for at least one number. Roles with none are the ones to rewrite first.
- Read the first word of every bullet. Seven in ten should be strong verbs. Anything starting Responsible for is a rewrite.
- Circle every stock phrase. Team player, detail-oriented, results-driven, proven track record. Replace each with what you actually did.
- Count bullets per role. Three to six, and confirm your most recent role is the fullest.
- Word-count the document (400 to 800), then search for I and my and delete them.
If step one already failed, stop auditing and change the container. No amount of bullet polishing survives a document a parser can't read. That is a format problem with a format fix: see the ATS template guide for what a parser-safe layout looks like, or rebuild the résumé you already have into one.
What a score genuinely cannot tell you
Worth saying plainly, because tools in this category tend not to. No checker knows any employer's actual scoring rules. Workday, Greenhouse, Lever, iCIMS, Taleo, SuccessFactors and Ashby differ in their parsing details, none publish their internals, and most do not score résumés at all in the way people imagine. Recruiters search the database, and the résumés that don't surface were never rejected, just never found.
- It is not a grade any employer sees. No number generated here is stored, transmitted or visible to anyone hiring. It is an estimate of how your document behaves inside their software.
- A high score is not an interview. It means the parse is clean and the writing carries evidence. Whether you match the role is a separate question, answered by the posting rather than by a checker.
- Keyword matching is per-posting. A general scan grades the résumé on its own. Coverage against a specific job description is a different measurement, and how to mine a posting for keywords covers doing it by hand.
- Chasing 100 is a waste. Above 85 the remaining points come from checks with small weights. Fix the ceilings, fix quantified impact, then go and apply.
If you want the reasoning behind the number rather than the checklist behind it, what an ATS score actually measures takes that angle.
Run all 23 checks on your résumé
Ten come back in full detail with your own lines quoted. No account, and your résumé never leaves your browser.
Frequently asked questions
What does an ATS resume checker actually check?
Parsing structure and writing quality. In EvoResume's case, 23 named checks across six categories: contact information, standard section headings, dates on every role, quantified impact, whether each role carries a number, action-verb phrasing, filler and clichés, depth per role, length and third-person voice, plus recruiter red flags, seniority signals, and bias and date exposure. Ten of the 23 decide the score itself.
How can I check if my resume is ATS-friendly for free?
Two ways. Manually: select all the text in your PDF, paste it into a plain text editor, and check that every job, date and bullet is present and in the right order. That paste is roughly what the ATS sees. Automatically: paste your resume into the EvoResume ATS checker and get a score out of 100 with the failing lines quoted back. That costs nothing and needs no account.
Is it safe to upload my resume to an ATS checker?
Treat it as sharing your full name, phone number, location and employment history with a company you haven't vetted. Ask specifically whether the document leaves your browser, rather than whether it is stored. EvoResume's checker runs entirely client-side: a PDF is read locally with pdf.js, the text is held in your tab's session storage and discarded when you close it, and nothing is posted to a server.
Why is my ATS score low when my resume looks fine?
Usually a score ceiling. Three structural failures cap the score regardless of everything else: no parseable email address caps it at 55, no standard section headings at 65, and no role carrying a date range at 70. A resume that reads beautifully but keeps its contact details in the page header hits the first one. Check those three before rewriting any bullets.
What is the most important thing an ATS checker measures?
Quantified impact. It carries the heaviest weight of any single check. The bar is that at least half your bullets contain a real figure: a percentage, an amount, a count or a timeframe. Dates and phone numbers don't count. Most resumes fail this one, and fixing it moves several other checks at the same time, because a rewritten bullet usually also gains a strong opening verb and loses a stock phrase.
How many checks are free, and what costs money?
Ten of the 23 are free for everyone, returned in full with each finding quoting the line from your resume that caused it, and no account required. The other 13, covering recruiter red flags, seniority signals, and bias and date exposure, report a category percentage and keep their individual findings for a $4.99 seven-day pass, which also covers the AI rewrites and the PDF export and does not auto-renew.
Do applicant tracking systems really reject resumes automatically?
Mostly not in the way people picture. Knockout questions in the application form auto-reject; the resume parser generally does not. What happens instead is quieter: recruiters search the ATS database by keyword and job title, and a resume that parsed badly or lacks those terms never appears in the results. The outcome is the same, but the fix is different, because you want to make it findable rather than try to beat a filter.
What is a good ATS score?
Above 85 is strong. Between 70 and 84 usually means the structure is fine and keywords or quantified results are thin. Below 70 normally points at something structural, such as a two-column layout, missing headings or undated roles, rather than at your writing. Chasing 100 has poor returns, because the last few points sit on the lowest-weighted checks.