9 min read cv-guides

How ATS Systems Work: A Complete Guide for Job Seekers

75% of large employers filter resumes through an ATS before a human sees them. Learn how ATS parsing, ranking, and keyword matching actually work — and how to optimize your resume for each.

How ATS Systems Work: A Complete Guide for Job Seekers
D

Dmitry Freeman

HR-Tech Architect & ATS Integration Specialist

Dmitry Freeman is an HR-Tech platform engineer and career optimization consultant. He focuses on RAG-driven CV tailoring, ATS matching algorithms, automated application pipeline engineering, and technical interview simulation tech.

Applicant Tracking Systems (ATS) filter the bulk of job applications before a human ever reads them — approximately 75% of large companies use some form of ATS, and according to a 2019 Harvard study on the “hidden workforce” around 88% of qualified candidates are rejected on first automated pass. If your resume isn’t structured for the parser, no amount of writing quality will save you. This guide breaks down what an ATS actually does to your file so you can optimize deliberately, not by superstition.

For an opposite angle on optimization, see ATS keyword research and the resume structure mistakes that drop your ATS score. Both are companion pieces in this cluster; together they cover the two failure modes — missing keywords and unparseable structure — that account for most ATS rejections.

What is an ATS?

An Applicant Tracking System is software that automates the hiring workflow. It stores resumes, parses their content into structured fields, ranks candidates against job descriptions, manages the interview pipeline, and exports approved data into HRIS systems. From a job seeker’s perspective, the part that matters is the parser and the ranker — the gate between “submitted application” and “human reviewed”.

Popular ATS platforms include:

  • Greenhouse
  • Lever
  • Workday
  • Taleo (Oracle)
  • BambooHR
  • JazzHR
  • iCIMS
  • SmartRecruiters
  • Ashby

These vendors have different parsers, but they all use roughly the same algorithm family: extract text, segment it into sections, normalise into a candidate record, then score against a job description. The differences are in the heuristics — mostly around what percentage of text gets cleanly extracted from a PDF.

How ATS Parsing Works

When you submit a resume, the ATS performs the following pipeline. Each stage is a place a candidate loses points silently.

1. Text Extraction

The parser strips raw text from your document. PDFs, DOCX, and plain text are well-supported. Scanned image PDFs (paper → print → scan) and PDFs with text rendered as outlined vectors are not extracted at all. DOCX with intricate table layouts can produce text in an order that scrambles dates and job titles. Rule of thumb: if your resume came from a designer tool that exports as PDF, run pdftotext resume.pdf - against it — if the output looks like prose, the parser will read it; if it looks like garbage (random word fragments, concatenated runs), upload a reexport or a DOCX version.

2. Section Identification

The parser then classifies segments into standard sections: Work Experience, Education, Skills, Summary, Certifications, Projects. Most parsers use heading heuristics — they look for known canonical strings (“Experience”, “Education”, “Skills”). Section titles that are creative (“My Journey”, “Where I’ve Been”) or rendered as icons get classified as “Other” or dropped entirely, which breaks date extraction and timeline reconstruction downstream.

3. Data Extraction

The parser pulls structured data: job titles, company names, employment dates (start / end), degree + institution + year, skill strings. Date parsing is the most error-prone — date ranges rendered as Jan 2022 – Present, 2022 - 2024, and 01/2022 – now are all handled differently by different parsers. When a parser fails to extract a clean date, it falls back to “current” or “unknown”, and your tenure becomes invisible to the ranker.

4. Candidate Record Construction

The parser writes the structured data into a candidate record — effectively a normalized JSON object with fields like current_title, current_employer, years_experience, skills: [array], education: [array]. This is the shape AI/recruiter search queries run against; the original PDF is kept as an attachment but the searchable form is this record. If a recruiter later searches “Python AND Kubernetes AND 5 years experience”, the search hits the candidate record — not the raw resume text.

Keyword Matching & Scoring

Once the candidate record is built, most ATS systems compute a match score against the open job description. The score is the percentage of job description keywords present in your candidate record — with weighting toward rarer (high-IDF) terms. The specifics vary by vendor — Workday, Taleo, and Greenhouse all use proprietary weighting — but the common pattern is:

Match ScoreWhat it means
90-100%Strong keyword overlap — likely surfaced to the recruiter
70-89%Moderate — may or may not appear in recruiter search results
50-69%Weak — almost always filtered out before a human reviews
0-49%Auto-rejected or archived

Types of Keywords

CategoryExamples
Hard SkillsPython, SQL, Project Management, Data Analysis
Soft SkillsLeadership, Communication, Problem-solving
Industry TermsAgile, Scrum, KPI, ROI, SLA
CertificationsPMP, AWS Certified, CPA, CFA

The single biggest mistake candidates make is treating the job description as a wall of text instead of a feature list. The JD’s required section is your ATS keyword contract — every term there should appear in your skills section or your experience bullets, spelt exactly as the JD spells it.

Common ATS Pitfalls

  • Tables & columns: Two-column resumes are the most fragile format. Text in table cells gets read in either row-by-row or column-by-column depending on the parser’s table-handling strategy, scrambling date ranges and job titles.
  • Headers & footers: Often ignored entirely by parsers — placing contact info, certifications, or critical keywords in a header image guarantees the parser never sees them.
  • Fancy fonts: Custom display fonts are poorly mapped by OCR / text extraction. Stick to Arial, Calibri, Helvetica, Tahoma, or Times New Roman.
  • Images & icons: Contact info rendered as a graphical “card” near the top of a resume is invisible to ATS — and yes, this is still common in template-based builders.
  • Abbreviations: Spell out acronyms on first use (Continuous Integration (CI)), since the JD may use either the full or abbreviated form.
  • Graphics as section dividers: A horizontal decorative line rendered as an SVG is fine; the same content rendered as a non-text glyph breaks section detection.

For a deeper look at the structure and formatting choices that produce clean ATS extraction — and the ones that silently kill your score — see resume structure mistakes that drop ATS score.

How to Optimize for ATS

  1. Use standard section headings: “Work Experience” beats “Where I’ve Been”. Predictable headings are pre-classified by most parsers without intervention.
  2. Include a Skills / Keywords section: Group your hard skills in a flat bulleted list near the top. ATS rankers weight a clearly-labelled Skills section highly.
  3. Save as DOCX or text-selectable PDF: Avoid scanned PDFs. Run pdftotext on your resume to verify the parser will extract text cleanly.
  4. Avoid tables for layout: Single-column layouts survive the widest range of parsers. If you must use two columns, save the design version in a separate “showcase” file for interviews and keep a single-column ATS-safe version for online submissions.
  5. Mirror the job description’s language: If the JD says “cross-functional leadership”, your resume should say “cross-functional leadership” — not “led teams across departments”. The ranker sees the JD’s exact phrase, not thesaurus equivalents.
  6. Spell out dates consistently: Pick one format (Mon YYYY – Mon YYYY) and stick to it. Mixed formats break date parsing in extractors.

The Bottom Line

ATS systems are not your enemy — they’re a deterministic filter. Understanding the parser means you can predict exactly where your resume wins or loses visibility, and optimize deliberately against a known target. The optimization steps above are stable across vendors because the parsers share the same underlying algorithm family — section detection, token scoring, ranked retrieval. Apply them and you’ll outperform roughly 88% of unoptimized submissions on the first automatic pass.

Want to check how your CV performs against real ATS criteria? Use our free AI CV Analyzer — it checks for structural issues, keyword gaps, format OCR issues, and gives actionable feedback in seconds.

Try the free AI CV Analyzer — score your resume against real ATS criteria and see keyword gaps in seconds.

Need to check your own CV?

Get instant AI-powered analysis of your resume. Free, no account needed.

Try AI CV Analyzer →