In 20+ years of recruiting, I have never once opened every resume that came in. Neither has any recruiter you have ever met. What most job seekers don't realize is that long before a human being looks at their carefully crafted resume, a machine has already decided whether it's worth surfacing at all.
That machine is an Applicant Tracking System — an ATS. You've probably heard the term. You may have even tried to "optimize for ATS" based on something you read online. But most of what gets written about ATS is surface-level advice from people who have never sat on the other side of the hiring desk. They tell you to use keywords. They tell you to avoid tables. They rarely explain why — or what's actually happening inside the system when your resume lands.
That's what this article is. A plain-English breakdown of how ATS systems work, how ATS reads your resume from the moment you hit submit, and why understanding this process is the single highest-leverage thing you can do as a job seeker.
If you want to skip the theory and test your resume right now, run it through ParseProof's free ATS checker first — then come back here to understand what the results mean.
What Is an ATS and Why Every Recruiter Uses One
The Volume Problem Recruiters Don't Talk About Publicly
Let me give you a number that will reframe everything. A mid-level marketing role at a recognizable company — not a household name, just a company with decent brand recognition — will routinely receive 300 to 500 applications within the first 48 hours of posting. I've seen that number hit 847. I had four hours to work that queue before my next round of interviews.
That is not a system designed for careful manual review. That is a system designed for triage.
An ATS is how recruiters manage that reality. It's not laziness. It's not indifference. It's the only way to be fair — or at least consistent — when the volume of applicants has no relationship to the time available to review them. Every major employer uses one. Every staffing firm uses one. If you're applying to any company that posts jobs on a career site, your resume is going through an ATS before it reaches a human being. That's the baseline assumption you should be operating from.
The dominant platforms you'll encounter are Workday, Greenhouse, iCIMS, Taleo (now Oracle Recruiting), and Lever. Each has quirks. Each parses slightly differently. But the core mechanics of how they process a resume are consistent enough that understanding the fundamentals will serve you across all of them.
What ATS Was Originally Built to Do vs. What It Does Now
Here's something that surprises most people: ATS systems weren't originally built to screen candidates. They were built for recordkeeping.
In the early days, an ATS was essentially a database. It stored applicant information for compliance purposes — EEOC recordkeeping, audit trails, legal protection. Recruiters used it to organize and retrieve records, not to filter them. The screening was still a human job.
That changed as application volumes exploded and the software got smarter. Modern ATS platforms now parse resume content into structured data, extract named entities, score candidates against job descriptions, detect duplicates, flag gaps, calculate tenure, and rank candidates automatically. Some have incorporated AI-assisted semantic matching that goes beyond exact keyword matches.
What this means practically: the advice that worked in 2010 — stuff your resume with keywords, repeat the job title six times — is not just outdated, it can actively hurt you in modern systems that recognize and penalize keyword padding. Understanding how ATS systems work now is what matters.
The Parsing Pipeline — What Happens in the First 3 Seconds
This is the part most articles skip. They jump straight to keyword advice without explaining the mechanical process that happens before keyword matching even begins. If you don't understand the pipeline, you can't understand why certain formatting choices are catastrophic.
When you submit a resume, it goes through a three-stage process almost instantly. Here's what each stage actually does.
File Ingestion — Before a Single Word Is Read
The ATS receives your file. It could be a PDF, a DOCX, a TXT file, or in some older systems, an HTML paste. Before any content analysis happens, the system needs to convert that file into raw, machine-readable text. This conversion step is where beautifully designed resumes go to die. The parser strips out formatting and attempts to reconstruct a plain text version of your document. If your resume was built with clean, linear formatting — one column, standard fonts, no embedded objects — the conversion is clean. But if your resume uses multi-column layouts, text boxes, tables, or design elements common in Canva templates, the conversion breaks down. Columns get read left-to-right across the page instead of top-to-bottom within each column. Text boxes are frequently ignored entirely. I've seen this happen hundreds of times: a candidate with exactly the right experience applies, their resume looks polished on screen, and what arrives in my queue is a wall of scrambled text that the ATS has flagged as a low match.
Section Recognition — How ATS Finds Your Experience, Education, and Skills
Once the file is converted to raw text, the ATS needs to make sense of the structure. It looks for section headers to understand which part of the document contains which type of information. "Work Experience," "Professional Experience," "Employment History," "Education," "Skills," "Summary," "Objective" — these are understood. What the system doesn't know is what to do with "Where I've Been," "My Story," or "Toolkit." Creative headings might feel personal and memorable, but to a parser they're noise. Dates are also extracted during this phase to calculate tenure automatically. Formats like "January 2020 – March 2023" and "Jan 2020 – Mar 2023" both parse reliably. Formats like "2020–2023" without months are ambiguous. Bullet points help too — they give the parser clean breakpoints to separate individual accomplishments. Dense paragraphs are harder to process and more likely to result in content being misread or truncated.
Entity Extraction — Names, Titles, Companies, Dates, Skills
With sections identified, the ATS moves to entity extraction: pulling out specific pieces of information and storing them as structured data fields in the candidate record. The system is extracting your name, email address, phone number, LinkedIn URL, each job title, each employer name, start and end dates, degree names, institution names, graduation years, and skills. Your contact information placement matters more than most guides acknowledge. If your name, email, or phone number is in a header or footer, many ATS systems will not extract it correctly — headers and footers are often processed separately from the document body, or not at all. For skills, the safest approach is to maintain an explicit skills section. Don't assume the system will find "managed Salesforce dashboards" in a bullet point and credit you with "Salesforce." Some will. Many won't.
See your parsing results in real time.
ParseProof shows you exactly what an ATS extracts from your resume — which sections were recognized, which skills were pulled, and where the system lost data.
Get Your Free ScoreHow ATS Scores and Ranks Candidates — What Recruiters Actually See
Keyword Matching: The Foundation of Every ATS Score
Here's something recruiters rarely explain clearly: the job description you're applying to goes through the same parsing process your resume does.
The ATS parses the job description into structured data — required skills, preferred skills, job title, industry terms, education requirements. It parses your resume into structured data. Then it compares the two and generates a match score based on the overlap.
That score isn't a grade. It's a sort order. The recruiter's queue is ranked by match score, highest to lowest. They start at the top and work down. If you're not in the top tier of that ranked list, the recruiter may never reach you — not because they chose to skip you, but because the queue ran out of time before it ran out of candidates.
In older ATS systems, matching is largely literal. "Project management" on your resume matches "project management" in the job description. "Managing projects" may not match at all, because the string is different. Modern systems with AI-assisted matching handle synonyms and semantic relationships better — but you shouldn't rely on this, because you don't know which system you're applying through. Using the exact language from the job description where it's accurate and natural is still the right default.
How Keyword Weighting Works (Not All Keywords Are Equal)
Not every keyword in a job description carries equal weight in the scoring algorithm. The system knows the difference between required qualifications and preferred qualifications, and it scores accordingly.
Keywords that appear in the job title, the required qualifications section, and the responsibilities section carry more weight than keywords in the "nice to have" section or the company boilerplate at the bottom of the posting. A resume that hits every required qualification keyword at a moderate frequency will outscore a resume that hits every preferred keyword at high frequency.
Frequency matters, but only up to a point. Modern systems recognize when a keyword appears an unnatural number of times relative to the document length. Repeating "data analysis" fourteen times in a two-page resume signals manipulation, not competence. Some systems will flag this and actively discount the score. Don't keyword-stuff. Match intentionally.
The placement of keywords also affects scoring in many systems. A skill listed in your dedicated skills section carries a different weight than the same skill mentioned once in a bullet point under a role from eight years ago. Recency and prominence matter. Your most recent experience and your skills section are the highest-signal areas of your resume for ATS scoring purposes.
What the Recruiter Dashboard Actually Looks Like
I want to make this concrete, because I think a lot of job seekers imagine a recruiter reading their resume with care and attention. That's not the first interaction. The first interaction looks like this:
A table. Rows of candidates. Columns for name, match score percentage, date applied, current status, and maybe one or two data points the recruiter configured — like years of experience or highest education level. No resume visible yet. Just a ranked list.
"The default sort is match score, descending. The recruiter starts at the top. They might batch-decline everything below a certain score threshold without reviewing individual records at all — not because those candidates are unqualified, but because the top of the list already produced enough viable candidates to fill the pipeline."
This is the system you're optimizing for. Not a human reading your resume with fresh eyes, but a ranked list where your position is determined before any human involvement at all.
The 7 Most Common Reasons ATS Misreads a Resume
I've reviewed a lot of resumes in 20+ years. I've also seen the output of a lot of parsing failures — resumes that arrived in the system as something unrecognizable from what the candidate intended. These are the seven causes I see most consistently.
- Multi-column layouts. This is the most common and most damaging formatting mistake. ATS parsers read documents left to right, line by line. A two-column layout that looks clean on screen gets read as two columns of text concatenated on the same line — job titles mixing with skills, dates colliding with employer names. The output is often unparseable. Use a single-column layout. Always.
- Text inside tables or text boxes. Content placed inside a table cell or a text box is frequently invisible to the parser. It's not extracted. It doesn't exist in the candidate record. I've seen candidates lose their entire skills section because it was formatted as a three-column table. To the ATS, they had no skills listed at all.
- Graphics, icons, or infographics replacing text. Skill bars — those horizontal bar charts that show "Python: 90%" — are visually appealing and contain exactly zero parseable information. An image of a bar chart is not text. The ATS cannot read it. The same applies to circular progress indicators, star ratings, and any other visual encoding of information. If it's a graphic, the ATS cannot see it.
- Non-standard section headers. Creative section naming breaks the parser's ability to classify content. A section called "My Toolkit" will not be recognized as a skills section. A section called "Career Journey" will not be parsed as work experience. The content may be ignored entirely or stored as miscellaneous unclassified data that doesn't contribute to your match score. Use standard headers.
- Dates in unsupported formats. When the system can't parse your dates, it can't calculate tenure — and some systems will drop the role entirely rather than store an incomplete record. Formats that consistently fail: dates without months, dates with periods instead of slashes or dashes, dates written out fully in prose, and date ranges with en dashes instead of hyphens on certain legacy systems. Stick to "Mon YYYY – Mon YYYY" format.
- Contact information in headers and footers. Placing your name, email, and phone number in the document header is a natural design choice — it mirrors how letterhead works. ATS systems often process headers and footers separately from the document body, if they process them at all. Your contact information may not be extracted. Your candidate record may exist with no way to reach you. Put your contact information in the body of the document, at the top, as regular text.
- Non-standard characters and embedded fonts. Decorative bullet points, em dashes used as bullet replacements, special Unicode symbols, and custom embedded fonts all introduce parsing risk. When the system can't render a character, it substitutes a placeholder — often a question mark or a string of junk characters. Use standard bullet points, standard dashes, and system fonts.
Copy your entire resume and paste it into a plain text editor — Notepad on Windows, TextEdit in plain text mode on Mac. What you see is approximately what an ATS parser sees. If the output is garbled, out of order, or missing sections, your resume has a formatting problem. A purpose-built parser like ParseProof shows you exactly what was extracted and what was lost — not just a rough approximation.
What a "Passed" Resume Looks Like to a Recruiter
The Difference Between Passing ATS and Impressing a Human
I want to be clear about something, because I see this misunderstood constantly: passing ATS and being a strong candidate are not the same thing.
ATS optimization gets you seen. It gets your resume into the set of documents a recruiter will actually open. That's it. Once a human being opens your resume, the algorithm is irrelevant. Now you're being evaluated on relevance, impact, clarity, and fit — things no keyword match score can measure.
A resume that is nothing but a keyword-stuffed list of competencies with no evidence of real accomplishment will pass ATS and get dismissed in six seconds by the recruiter who opens it. I've done it. Every recruiter has done it. You can win the machine and lose the human in the same application.
The goal is a resume that parses cleanly and reads naturally. Those two things are not in conflict. Clean formatting and clear language serve both audiences. A resume that works for an ATS is a well-structured, clearly written document — which is also exactly what a recruiter wants to read.
The 30-Second Recruiter Scan That Follows ATS
After ATS filtering surfaces a candidate, a recruiter typically spends between 20 and 40 seconds on an initial scan before deciding whether to read further or move on. Research consistently shows this. My own experience confirms it.
In those seconds, I'm looking at: the most recent job title and employer, the tenure pattern across the last three roles, whether the progression makes sense for the level I'm hiring at, and whether I can find one or two quantified accomplishments that signal real impact rather than just activity.
I'm not reading every bullet. I'm scanning structure and signal. A resume that passed ATS but has no visible accomplishments, no recognizable context, and no clear narrative gets the same outcome as a resume that never made it through the filter — it gets passed over.
ATS optimization is the floor. It's the minimum condition for being considered. Everything above the floor is the human part of the equation, and that part still matters enormously.
Frequently Asked Questions
- How does ATS parse a resume?
- An ATS converts your resume file into plain text, identifies section headers to classify content, then extracts structured data — job titles, employers, dates, skills, education — and stores it in a candidate record. That record is scored against the job description and ranked against other applicants before a recruiter ever opens a single resume.
- Do all ATS systems parse resumes the same way?
- No, and the differences matter. Legacy systems rely heavily on exact keyword matching and rigid section recognition. Modern platforms like Greenhouse and Lever use more sophisticated parsing with semantic matching and AI-assisted entity extraction. A formatting choice or keyword variation that works fine in one system may cause data loss in another. When in doubt, optimize for the lowest common denominator: clean single-column formatting and standard section headers will perform well across all systems.
- Does ATS read PDF resumes?
- Yes — with an important caveat. ATS systems can read text-based PDFs, where the text is stored as actual selectable characters. They cannot reliably read image-based PDFs, where the document has been scanned or exported as a flat image. If you can select and copy text from your PDF, it's text-based and will generally parse correctly. If you can't, it will likely fail.
- Can ATS read resumes with photos or graphics?
- No. Images are invisible to ATS parsers. Any information encoded in a graphic — skill bars, progress indicators, profile photos, infographic-style resume sections — does not exist in the parsed candidate record. Use text for everything that matters.
- What's a good ATS match score?
- It depends on the platform and the recruiter's configuration, but a common working threshold is 70% or above to be consistently surfaced at the top of a recruiter's queue. That said, match scores are relative — if every candidate in the pool is scoring above 80%, a 70% puts you near the bottom regardless of the absolute number. Aim to match every required qualification keyword accurately, and you'll be competitive.
The Bottom Line
ATS isn't the enemy. It's a filter — one that you can learn to pass cleanly if you understand how it works.
The job seekers who struggle with ATS aren't struggling because they're unqualified. They're struggling because they're submitting resumes designed for a human reader to a system that processes them as raw data first. The fix isn't to game the system. It's to understand the system well enough to work with it.
Use standard formatting. Use recognized section headers. Match the language of the job description where it's accurate. Put your contact information in the body of the document. Test your resume before you send it.
In 20+ years, I've never blamed the ATS for a bad hire or a missed candidate. But I've wished, hundreds of times, that more candidates understood what it does to their resume before they hit submit. The information is available. Now you have it.
Test your resume the way an ATS does.
See exactly what hiring software extracts from your resume — and what it misses. Fix problems before they cost you an interview.
Get Your Free Score