Skip to content
ATS Score Checker

How we score

A resume "fails" an ATS in two ways: the parser fills the wrong fields, or the recruiter's search never surfaces it. A third, human way: nobody can skim it in seven seconds. The score measures those three things and nothing else. It is deterministic: the same file always gets the same number.

Rubric v1.0, live since 13 Sep 2026. A pass keeps all of a check's points, a warning keeps half, a fail keeps none. Checks that do not apply (no job description, a fresher with no dated roles) are removed from the denominator, not scored zero. Each category is scaled to its weight.

35Parse fidelity13 checks
30Findability9 checks
25Impact8 checks
10Language5 checks

Parse fidelity

P1Text layer present6 pts · FAIL

A scanned or image-only PDF gives a parser nothing to read. Textkernel: parsing is only as accurate as the text extracted; Greenhouse lists image uploads as a parse-failure cause.

Source: Textkernel developer FAQ; Greenhouse 'Unsuccessful resume parse'

P5Not encrypted or copy-restricted1 pts · FAIL

A parser cannot extract text it is not allowed to copy.

Source: Extraction prerequisite

P7No letter-spaced text2 pts · FAIL

Greenhouse lists 'spacing between letters' as a cause of failed parses: J O H N is four words to a parser.

Source: Greenhouse 'Unsuccessful resume parse'

P6Glyphs extract as text2 pts · WARN

Icon fonts and broken ligatures come out as private-use characters or gaps ('of ce'), so the words around them are lost to search.

Source: Unicode private-use mechanism; Canva text-layer reports

P9Single column4 pts · WARN

Read left to right, two columns interleave. Textkernel's own study moved clean renders of column CVs from 62% to 90%, so one in ten still fails at the market leader.

Source: Textkernel 'Improving extraction from column resumes'; Greenhouse 'columned designs'

P10No tables around experience or education3 pts · WARN

Tables are the most common cause of merged or split jobs and education entries in a parse.

Source: Greenhouse 'Unsuccessful resume parse' (tables, complex layouts)

P11No text boxes or floating frames1 pts · WARN

Text boxes sit outside the main story in a Word file; many extractors skip them entirely.

Source: Greenhouse 'complex layouts'; DOCX extractor behaviour

P12Contact details in the body, not the header3 pts · FAIL

Header and footer text is dropped or duplicated by several parsers; Greenhouse names contact info in the header as a parse-failure cause.

Source: Greenhouse 'Unsuccessful resume parse'; pdf.js header test (atsverification)

P13No hidden or white text2 pts · FAIL

White-on-white keyword lists are indexed by the parser and visible to the recruiter in the parsed view. Several ATS flag it and recruiters blacklist for it.

Source: Recruiter reports on 'white fonting'; Cangrade, Hiration

P14No photo or graphics carrying information2 pts · WARN

Images are skipped. A photo also biases a human reader; skill bars carry no parseable proficiency.

Source: Greenhouse; Textkernel data model (profile pictures = additional info only)

P17Email and phone found3 pts · FAIL

Lever and Greenhouse map email and phone to core fields; without them the recruiter has no way to contact you.

Source: Lever/Greenhouse candidate field model

P18Standard section headings3 pts · FAIL

Parsers segment by heading dictionaries. RChilli treats 'no sections detected' as fatal.

Source: RChilli Resume Quality; OpenResume section detection

P19Every role has a title, an organisation and dates3 pts · FAIL

Missing dates make tenure incomputable, so experience filters cannot fire. RChilli treats missing dates as fatal.

Source: Lever/Greenhouse fields; Textkernel date model; RChilli Resume Quality

Findability

F1Skills section with atomic, canonical terms5 pts · WARN

Recruiter search and match engines look for exact terms. A prose paragraph hides them.

Source: SmartRecruiters taxonomy normalisation; Naukri Resdex EZ Keywords

F2Abbreviations spelled out once3 pts · WARN

Lever stems words but does not expand abbreviations; Resdex Boolean is literal. 'AWS' will not match a search for 'Amazon Web Services'.

Source: Jobscan Lever guide; Naukri Recruiter Zone

F3Listed skills are evidenced in a bullet4 pts · INFO

Ashby and Greenhouse review criteria look for evidence in the work history, not a list. Recruiters do the same.

Source: Ashby AI-Assisted Application Review; Greenhouse Talent Matching

F4Recognisable job title3 pts · INFO

LinkedIn Recruiter retrieves by exact standardised title first. 'Ninja' and 'Rockstar' do not standardise.

Source: LinkedIn engineering blog on Recruiter search

F5Total experience computable and consistent3 pts · WARN

Resdex and Workday filter on years of experience computed from your dates, not from your summary.

Source: Greenhouse extracts years of experience; Naukri Resdex filters

F6Location stated2 pts · INFO

Resdex and Workday filter by location; a resume without a city falls out of city-scoped searches.

Source: Naukri Resdex filters

F7LinkedIn or portfolio link as plain text2 pts · INFO

Parsers extract online profiles from visible URLs, not from icon-only hyperlinks.

Source: Lever/Greenhouse online-profile fields

F9Core skills for the role are named5 pts · INFO

Recruiters search the same handful of terms for each role. If two of the ten most searched terms for your role are missing, you are missing from those searches.

Source: Role skill profiles compiled from job descriptions; Flexiple skill registry (v1.1)

F10CTC and notice period stated3 pts · INFO

Naukri Resdex lets recruiters filter on current CTC and notice period. Stating them puts you inside those filters.

Source: Naukri Recruiter Zone (notice-period search, CTC on CV page)

Impact

I1Bullets start with a strong verb5 pts · WARN

72% of surveyed recruiters name short, active bullets as what they skim for.

Source: Enhancv 2025 recruiter survey (n=25)

I2Bullets carry a number6 pts · WARN

Measurable achievements are a top-three signal for recruiters (52% in the 2025 survey).

Source: Enhancv 2025 recruiter survey

I3Bullets are 8–30 words3 pts · INFO

Long bullets are skipped in a seven-second skim; very short ones say nothing.

Source: Recruiter skim behaviour (survey)

I4No weak openers3 pts · INFO

'Responsible for' and 'Worked on' describe a job description, not what you did.

Source: Resume Worded / Jobscan content checks; recruiter interviews

I5No clichés or filler2 pts · INFO

'Team player', 'go-getter', 'seeking a challenging position' carry no information and mark a template.

Source: Recruiter surveys; Indian template analysis

I6Summary present and under 60 words2 pts · INFO

The first thing a recruiter reads. A 40-word summary with your title, years and two proofs beats a paragraph of adjectives.

Source: Recruiter skim behaviour

I73–6 bullets per role, most on the latest2 pts · INFO

The latest role is read first and longest.

Source: Recruiter skim behaviour

I8Length matches experience2 pts · INFO

One page under 5 years, two pages otherwise; a 290-word resume for 4 years leaves proofs on the table.

Source: Textkernel long-CV caveat; recruiter survey (1–2 pages 64%)

Language

L1Spelling4 pts · WARN

Typos read as carelessness. We ignore technical terms, company names and Indian names.

Source: Hunspell en_US with an allow-list of skills and names

L2Tense consistent2 pts · INFO

Past roles in past tense, current role in present or past, never mixed inside one role.

Source: Style convention

L3No first-person pronouns1 pts · INFO

Resumes are written without I, me, my.

Source: Style convention

L4One date format throughout2 pts · INFO

Year-only ranges lower a parser's confidence in tenure; mixed formats read as careless.

Source: Textkernel date model; RChilli date handling

L5No sentence over 30 words1 pts · INFO

Long sentences are skipped.

Source: Readability convention

India and bias flags (never counted)

Photo

Private sector: Parsers skip images and a photo can bias a human reader. Remove it for private-sector roles. Govt / PSU: Government and PSU formats usually expect a passport photo.

Date of birth or age

Private sector: An age signal. MNC policies reject it; it adds nothing to your fit. Govt / PSU: Often required on government forms.

Father's or husband's name, marital status, nationality, religion, caste, gender

Private sector: Bias signals that parsers store (Textkernel even normalises gender and nationality). Remove for private-sector roles. Govt / PSU: Expected on many government formats.

Aadhaar, PAN or passport number

Private sector: Never put government ID numbers on a resume you email around. Govt / PSU: Never put government ID numbers on a resume; provide them on the form when asked.

Declaration block

Private sector: Harmless to parsers, wastes two lines. Delete it. Govt / PSU: Some government formats want the signed declaration. Keep it for those only.

10th and 12th marks in a table

Private sector: The table is the parse hazard, not the marks. Three plain lines are fine; drop them after your first job. Govt / PSU: Keep the marks as plain lines; mass hirers and government forms may ask for them.

CTC and notice period

Private sector: Naukri Resdex filters on both. Keep them for Indian roles. Govt / PSU: Not used in government hiring; harmless to keep.

Hobbies and languages known

Private sector: Low value for private-sector roles; keep only if space allows. Govt / PSU: Often part of the expected format.

What the score is not

It is not a probability of rejection. No mainstream ATS rejects on resume content; the only automatic rejection is a knockout question on the form. It is not a keyword-match percentage; that lives in the Job match tab, separately, because it is about one job and the score is about your file. And it is not an AI opinion; the AI report explains findings the rules already made and never changes the number.