How ATS systems read your resume (and what they miss)
An applicant tracking system doesn’t “read” your resume the way a person does. It turns it into a database record, and recruiters search that record. Here’s what happens at each step and where resumes get lost.
What an ATS is, and who uses one
An applicant tracking system (ATS) is the software a company uses to post jobs, collect applications and move candidates through interviews. Workday, Greenhouse, Lever, iCIMS, SuccessFactors, Taleo and SmartRecruiters are some of the best-known. Most large employers use one, and so do many small ones through their job-board or HR software.
The ATS is mainly a filing and workflow system for recruiters. Understanding that changes how you write for it: you’re not trying to trick a robot, you’re making sure the recruiter can find you when they search.
Step 1: Your file becomes plain text
When you upload a resume, the ATS first extracts the text from the file. From a Word document or a PDF made in a word processor this is usually clean. From a scanned PDF or an image it depends on optical character recognition, which many systems don’t do well, or at all.
At this stage, anything that isn’t text disappears: icons, skill bars, star ratings, logos and photos. If your phone number sits next to a phone icon with no label, the number usually survives but the context doesn’t. If you rate your Python skill with four filled circles, the ATS sees “Python” and nothing else.
Step 2: The text is split into sections
Next, the parser tries to work out which part of the text is which: contact details, summary, experience, education, skills. It relies heavily on section headings and on the order things appear in.
- Standard headings are recognized. “Experience”, “Work Experience”, “Education” and “Skills” are safe. “My journey” or “Where I’ve made an impact” may not be.
- Reading order matters. Multi-column layouts, tables and text boxes can be read left-to-right across columns, mixing a job title with a skill list. Some modern parsers handle two columns well; older ones often don’t.
- Headers and footers are risky. Some parsers skip the page header, which is exactly where many templates put your name and email.
Step 3: Fields are extracted and normalized
Within each section, the parser pulls out structured fields: each job’s title, employer, location and dates; each degree and school; a list of skills. It then normalizes them, for example turning “Jan 2022 – Present” into a start date and “current”, or mapping “Sr. SWE” to a standard job title.
This is where small formatting choices have big effects. Dates written inconsistently, or missing entirely, can make the system calculate your years of experience wrong. A job title and company squeezed onto one line with a dash may be split in the wrong place. Most ATS show the recruiter both the parsed fields and your original file, but search and filters run on the parsed fields.
Step 4: Knockout questions filter first
Before a person looks at anything, many applications ask screening questions: Are you authorized to work in this country? Do you have a nursing license? Are you willing to relocate? Wrong answers to required questions are the main way candidates are rejected automatically.
This is worth knowing because it’s often confused with “the ATS rejected my resume”. Read screening questions carefully and answer them accurately. They usually matter more than any formatting detail.
Step 5: Recruiters search, filter and sort
With a few hundred applicants for a role, recruiters rarely open every file in order. They search the candidate pool for skills and titles, filter by location or years of experience, and sort by date or by the system’s match score. A typical search looks like “product manager” AND (SaaS OR B2B) AND SQL.
Newer systems also rank applicants by how closely their resume matches the job description, using keyword overlap or AI models. The ranking decides who gets looked at first, not who gets rejected, but when a role has hundreds of applicants that difference is small.
So the practical goal is simple: when a recruiter searches for the skills in the job post, your resume should come up, and when they open it, the parsed version should read correctly.
The “75% of resumes are rejected by ATS” claim
You’ll see this number everywhere. It traces back to marketing material from a resume-writing company, not to a published study, and it doesn’t describe how most ATS work. Resumes are far more often unseen (buried in a search) or passed over by a person than rejected by software. Don’t pay for a service because of that number, but do take parsing and keywords seriously.
What to do about it
- Use a single-column layout, or a two-column one that’s known to parse well. Our ATS-friendly templates are labeled by how safe they are.
- Keep your name and contact details in the body of the page, not the header.
- Use standard section headings.
- Write every date the same way, with month and year, and give every role a date range.
- Name your skills in words. Drop skill bars and ratings.
- Mirror the exact wording of the job post where it’s true of you, both in a skills section and in your bullets. Tailoring your resume to the job description covers this step by step.
- Upload a text-based PDF or a .docx, never a scan, unless the application asks for something specific.
Check what the software sees
The quickest test is to copy all the text from your PDF and paste it into a plain text editor. If it comes out in the wrong order, with missing sections or garbled characters, a parser will have the same trouble. For a fuller check, the free ATS resume checker reads your resume the way an ATS does and shows your readability score, the keywords you’re missing for your field and a ranked list of fixes.