How ATS Reads Your Resume (Step-by-Step Breakdown)
A technical walkthrough of how Applicant Tracking Systems parse, tokenize, and score your resume — and the exact moments where yours gets silently rejected.
Founder, TryApplyNow
An Applicant Tracking System doesn't read your resume the way a recruiter does. It runs your file through a five-stage pipeline in under 200 milliseconds, and by the time a human loads the application, the ATS has already decided how promising it thinks you are. Here's the pipeline, step by step.
Stage 1: Format detection and text extraction
The first thing the ATS does is convert your file — PDF, Word, DOCX, plain text — into a single string of plain text. This is where formatting matters most, because it's where most resumes die silently.
Modern ATS parsers (Sovren, HireAbility, Daxtra) handle clean PDFs and DOCX reasonably well. They struggle with:
- Resumes exported from design tools (Canva, InDesign) — fonts and layouts often don't survive parsing.
- Multi-column layouts — the parser reads left-to-right, top-to- bottom, and a two-column layout scrambles the reading order.
- Tables — the parser may read cell-by-cell instead of row-by-row, producing jumbled output.
- Text in headers, footers, or text boxes — frequently dropped entirely.
- Graphics and icons — stripped. If your name is in a logo at the top, the ATS might not have your name.
Stage 2: Section segmentation
Once the parser has a plain-text string, it tries to split it into sections: Contact Info, Summary, Work Experience, Education, Skills. It does this by looking for specific header strings — "Experience," "Education," "Skills" — and by pattern-matching the content (dates + job title + company is work experience; degree names + graduation year is education).
If your section headers are unusual ("Professional Journey," "Tech I Use," "My Adventures"), the parser often fails to classify them. Your entire work history might end up classified as a "Summary" section and ignored.
Stage 3: Entity extraction
From each section, the ATS extracts structured entities:
- Jobs: title, company, start/end dates, location, bullets.
- Skills: a flat list of technical and soft skills, pulled from both the Skills section and mentioned in work bullets.
- Education: degree, field, school, graduation year.
- Keywords: everything else that the model recognizes as a "skill-like" term.
This is where bullets matter. A bullet that says "Improved performance" contributes nothing to the skills list. A bullet that says "Cut p95 API latency 38% by migrating REST endpoints to gRPC on Kubernetes" contributes four tagged skills (p95, REST, gRPC, Kubernetes) plus a quantified-outcome signal.
Stage 4: JD matching
The ATS runs the same extraction on the job description, then scores the overlap. This is where resume-vs-JD comparison happens and why tailoring matters so much: two resumes with identical underlying experience can score very differently based purely on whether they use the same words the JD uses.
Scoring factors:
- Exact keyword overlap (highest weight)
- Seniority and experience alignment
- Tenure and continuity
- Education / certification requirements
- Location and work authorization
Stage 5: Ranking and routing
The match score determines where your resume goes next. High scores get routed to the recruiter's inbox or shortlist. Low scores get filtered to the "maybe later" pile or rejected outright.
The threshold varies by company and role. FAANG-scale companies often cut at 80%+. Most mid-size companies cut at 70%. Small companies without full ATS configurations sometimes don't filter at all — but even then, the ATS sorts applicants by score, so the top-ranked ones get seen first and the rest queue behind them (and often don't get opened at all).
The practical takeaways
Everything you can do to help the ATS comes from understanding these five stages:
- Format cleanly (Stage 1). Single column, standard fonts, no tables, no graphics, no text boxes. Export to PDF from Word or Google Docs — not from a design tool.
- Use standard section headers (Stage 2). "Experience," "Education," "Skills." Not "Career Chronicle."
- Write tagged bullets (Stage 3). Every bullet should contain at least one tool/skill/methodology keyword plus a metric.
- Tailor to each JD (Stage 4). Run your resume through an ATS resume checker against the specific JD. Close the keyword gap before submitting.
- Target your score to the company (Stage 5). Large companies: aim 80%+. Small: 70%+ is fine.
See what the ATS sees
The single most eye-opening exercise for most job seekers: copy- paste your resume into a plain-text editor. Look at what's left. That's roughly what the ATS sees after Stage 1.
If bullets are merged into one line, if sections are out of order, if your name is missing — that's the problem. Fix formatting first, then use the ATS resume checker to score the cleaned-up version against a real JD. Most people gain 15-30 points just from fixing stages 1 and 2.
Stop guessing why you're not getting interviews
TryApplyNow scores your resume against every job, tailors it to each one, and surfaces the hiring manager's email — so you spend your time interviewing, not searching.
Related articles
Resume Parsing Test: See What Recruiters Actually See
Upload your resume, strip the styling, and see the plain-text version an ATS feeds to recruiters. Most resumes look unrecognizable after parsing.
ATS Resume Format: The Layout That Actually Passes (2026)
Section order, fonts, spacing, bullets, headers — the exact formatting rules that keep ATS software from mangling your resume. With a copy-paste template.
ATS Resume Checker: Test Your Resume Before You Apply
Run your resume through a real ATS scan in 10 seconds. See exactly which keywords are missing, why your score is low, and how to fix it before recruiters skip you.
Resume vs Job Description: How to Match Keywords (And Win)
The exact method recruiters use to compare your resume to the job description. Live example — run one through our scorer and watch the match jump from 42% to 87%.