How an ATS reads your resume
What an ATS actually does with your resume, and why parsing fails more often than people think.
You send a resume into a company’s careers page and it vanishes. No reply, no rejection, nothing. A lot of people assume a robot read it, scored it, and tossed it. That picture is half right. An applicant tracking system, or ATS, does read your resume first, but it does less judging than you think. Here is what an ATS really does with the file you upload, and where things go wrong before a human ever sees your name.
What an ATS actually is
An ATS is the database a company uses to collect and organize applications. Greenhouse, Ashby, Lever, and Workday are the common ones in the US. When you hit submit, your resume does not land in a recruiter’s inbox. It lands in this system as a record, alongside everyone else who applied.
The job of the software is to take your document and turn it into structured data the company can search, sort, and track. It is closer to a filing cabinet than a judge. The myth that it scans your resume and auto-rejects you for one wrong word is mostly wrong. The bigger risk is quieter: it reads your resume badly and stores a garbled version.
How parsing turns a resume into fields
The first thing the system does is parse your file. Parsing means reading the raw text and trying to sort it into named fields: name, email, phone, work history, education, skills. The recruiter later sees those fields, sometimes more than the original document.
To do this, the parser looks for patterns it recognizes:
- An email is anything shaped like a thing@thing.com
- A job is usually a title, a company, and a date range sitting near each other
- A section starts when it sees a familiar header like “Experience” or “Education”
When your layout is plain and predictable, this works fine. Your job titles land under work history. Your dates line up. The trouble starts when your layout fights the parser.
Why parsing fails
Parsers read in a rough top-to-bottom, left-to-right order, the way text sits in the file. Anything that breaks that flow can scramble the result.
- Tables and columns. A two-column layout looks clean to you. The parser may read straight across both columns and stitch unrelated lines together, so your skills get jammed into the middle of a job description.
- Headers and footers. Some parsers skip the header region of a document entirely. If your name and phone number live up there, they can go missing.
- Text boxes and graphics. Text inside a shape or image is often invisible to the parser. A skills chart or a rating-bar graphic reads as nothing at all.
- Photos, icons, logos. These add zero machine-readable text and only raise the odds of a misread.
None of this means the system “rejected” you. It means it stored a worse version of you. A recruiter then opens a record where your last two roles are missing or your title reads as part of a sentence. That is a quiet way to lose a strong application. Cleaning up your layout is the first fix, and we cover the specifics in ATS resume formatting that does not get mangled.
Keyword matching versus ranking
Here is the part people most often get backwards. Most modern systems do not assign a secret pass-or-fail score that decides your fate on its own.
What recruiters actually do is search and filter. Picture the careers system as a searchable list of every applicant. A recruiter hiring a backend engineer types in terms that matter for the role, maybe a language, a framework, a certification, then reads the people who come back. Your resume needs to contain the words a recruiter would search for, in plain text the parser can read.
Some systems do add a match score or rank candidates against the job description. Treat that as a sorting aid, not a verdict. It moves you up or down a list a human still works through. The takeaway is the same either way: the language on your resume should mirror the language in the posting, because that is what gets searched and matched. The honest way to find those terms is covered in how to pull the right keywords from a job description.
A human still reads the shortlist
This is the part that should calm you down. For most roles, once you clear the search-and-filter step, a recruiter reads your resume with their own eyes. The ATS gets you into the pile and helps them narrow it. It does not do the hiring.
So you have two real jobs. Make sure the machine can read your file cleanly, so the stored version of you is accurate. And make sure the words on the page match how the employer describes the work, so you show up when they search. Get both right and you stop losing applications to a parsing glitch you never saw.
That second job is where a tool earns its keep. Linora pulls roles straight from company career pages, reads the job description, and gives you a tailored resume draft that already mirrors the posting’s language. You review every word and submit it yourself. If you would rather start each application from a draft that already fits the job, build your profile and try it on your next one.