9 min read

How ATS systems actually read your resume

There is a lot of confident, wrong advice about applicant tracking systems. The most persistent version imagines a robot scoring your resume against a secret keyword list and binning you at 74%. That is not what happens, and believing it leads people to stuff keywords into white text, which does not work either.

What actually happens is more mundane and more fixable. Your resume is parsed into structured fields, and anything the parser cannot confidently place is degraded or dropped before a human ever sees it.

Parsing comes first, and it is where resumes die

Before anything is scored, your document is converted into structured data — name, contact details, a list of roles with dates, education, skills. This step is unglamorous and it is where most damage occurs, because a parser that cannot work out which text is a job title and which is a company name does not stop and ask. It guesses, or it drops the field.

This is why formatting matters far more than word choice. A two-column layout is the classic example: read left to right as a text stream, your job titles and your dates interleave into nonsense. The document looks immaculate to a person and parses to garbage.

Text in a header or footer is frequently ignored entirely, which is unfortunate given how many templates put contact details there. Text inside a graphic or a skills-rating chart is invisible — a parser reads text, not pictures of text. And a scanned or image-based PDF contains no text layer at all.

Then matching, which is less naive than people assume

Modern matching is not a raw keyword count. Systems recognise that a role requiring "React" is served by someone who lists "React.js", and increasingly they read for evidence of a skill rather than the presence of a token.

Which is why keyword stuffing has stopped working while specificity has become more valuable. "Worked on backend systems" evidences almost nothing. "Built and maintained a Django REST API serving 40k daily requests, with Postgres and Celery" evidences a stack, a scale and a role — to a parser and to a human reading it in eight seconds.

The white-text trick deserves a specific mention because it still circulates. Hidden text is extracted with everything else, so it is visible to whoever reviews the parsed output, and it reads exactly like what it is.

A human still decides, and they are fast

Screening narrows the pile; it rarely makes the final call. A person then spends a few seconds per resume, and in those seconds they are looking for a small number of things: is this roughly the right level, is the relevant experience visible without hunting, and is there anything specific enough to be worth asking about.

That last one is what most resumes miss. A resume of responsibilities gives an interviewer nothing to grab. A resume with two concrete, quantified projects gives them an opening question, which is most of what you want from a first pass.

What to actually do

Use one column. Put contact details in the body, not the header. Use a real PDF with a text layer, not an image. Use standard section headings — Experience, Education, Skills — because parsers are trained on the conventional ones. Write dates consistently in one format.

Then, separately, make the content specific. Name the technologies. Give a number where you honestly have one. Describe what you built rather than what you were responsible for.

And check against the actual job description rather than in the abstract — a resume is only ever a match or a mismatch for one specific role.

The short checklist

One column, always

Two-column layouts interleave your titles and dates into nonsense when read as a text stream.

Contact details in the body

Header and footer text is frequently ignored by parsers.

Real PDF, real text layer

A scanned or exported-as-image PDF contains no readable text at all.

Standard section headings

Experience, Education, Skills. Creative headings are a parsing risk for no benefit.

No skill-rating graphics

A five-star React rating is a picture. It evidences nothing to a parser.

Specific over impressive

Name the stack, give the number, say what you built.

Questions we get asked

Does keyword stuffing work?

No. Modern matching reads for evidence rather than counting tokens, and hidden text is extracted along with everything else — so it is visible to the reviewer and reads exactly like an attempt to game the system.

PDF or Word?

A PDF with a real text layer is fine and preserves your layout. The dangerous case is a PDF exported as an image, which contains no extractable text.

Should I tailor my resume per application?

Tailoring the top third is usually enough — the summary and the ordering of your most relevant experience. Rewriting the whole document per application has sharply diminishing returns.

Try it with your own resume

Create a free Career Studio account, upload your resume once, and every tool works from it.