DexterCV - AI Resume Builder
    ats
    scanner
    resume

    How ATS Resume Scanners Work (Parsing, Keyword Matching and Scoring)

    A technical but plain-English guide to how a resume scanner works — how your file is parsed into structured data, how keyword matching and scoring actually run, and what a score can and cannot tell you.

    Nakul Ilawe

    Nakul Ilawe · Founder & Chief AI Architect, DexterCV

    Founder of Latinum HR Solutions. 10+ years in executive recruitment and hands-on AI engineering.

    September 1, 2026 · 5 min read

    Short answer: A resume scanner does three things in order. It extracts text from your file, structures that text into fields (name, employers, dates, titles, skills), and then scores what it found — usually keyword coverage against a role, plus formatting and completeness checks. Every "ATS score" you've seen is a score of that third step. If step one or two goes wrong, the score is meaningless, because the tool is grading a mangled copy of your resume.

    Below is what actually happens at each stage, and how to use that knowledge instead of guessing.

    Stage 1 — Text extraction

    Your PDF or DOCX is not text. It's a set of drawing instructions that happen to look like text. A parser has to reconstruct the reading order.

    File typeHow it's readWhere it breaks
    PDF with a text layerGlyphs plus coordinates are re-assembled into linesTwo-column layouts interleave the columns into nonsense
    Scanned or image PDFNothing extractable without OCRUsually returns an empty or near-empty resume
    DOCXXML with real paragraph structure — the cleanest inputText boxes and SmartArt are often skipped entirely
    Pages / ODT / RTFConverted first, with lossesBullets, dates and special characters get scrambled

    Two things matter more than anything else at this stage: your file must contain a real text layer, and your layout must be single-column. A visually beautiful two-column CV can lose a third of its content before any scoring begins — and neither you nor the recruiter sees it happen.

    Test it yourself: open your PDF, select all, copy, and paste into a plain text editor. What you see is roughly what the parser sees. If the order is jumbled or content is missing, fix the layout before you worry about keywords.

    Stage 2 — Structuring the text into fields

    Extracted text is still a wall of characters. The parser now has to decide which parts are your job titles, which are employers, and which are dates.

    It does this with a mix of:

    • Section header matching — it looks for conventional labels: Experience, Work Experience, Education, Skills, Certifications. Creative headings like "My Journey" or "What I'm Good At" often map to nothing, and the content underneath is discarded or dumped into a generic bucket.
    • Date pattern recognitionJan 2021 – Mar 2024 is parseable. 2021-24, '21 to '24, or a date sitting in a sidebar column often is not. Broken dates knock you out of "5+ years of experience" filters even when you have eight.
    • Positional heuristics — the line above a date range is probably a title or employer. This is why an inconsistent job block format hurts: change the order between roles and the parser assigns the wrong field.
    • Contact extraction — regex for email and phone. Contact details placed in the document header or footer are the single most common cause of a resume with no reachable contact info, because several parsers ignore those regions.

    At the end of this stage the system holds a structured record. That record — not your PDF — is what gets searched, filtered and scored.

    Stage 3 — Keyword matching

    Recruiters rarely browse. They search the structured records with filters and keywords taken from the job description.

    Matching is usually some combination of:

    • Exact and stemmed matching — "manage", "managed", "managing" collapse to one root. "Kubernetes" and "K8s" usually do not, unless someone configured a synonym list.
    • Acronym pairs — write both forms once: Search Engine Optimization (SEO). This costs you nothing and doubles your match surface.
    • Section weighting — a skill named inside a real experience bullet carries more weight in most scoring models than the same word listed in a skills block, because it is evidenced.
    • Frequency with diminishing returns — the second mention adds a little, the tenth adds nothing. Keyword stuffing is detectable and penalised by modern scoring, and it reads badly to the human who eventually opens the file.

    The honest limitation: no scanner knows the exact keyword list a specific employer configured. Any tool claiming a guaranteed "pass rate" for a named ATS is guessing. What a good scanner can do is measure coverage against the job description you paste in, which is a real and useful proxy.

    Stage 4 — Scoring

    A score is a model, not a verdict. Reasonable models weight roughly four things:

    PillarWhat it measuresTypical weight
    Parsing and structureCan the file be read and mapped to fields at allHighest — it gates everything else
    Keyword and role fitCoverage of the terminology for the target roleHigh when a job description is supplied
    ImpactQuantified outcomes rather than duty listsMedium
    ClarityBullet length, tense consistency, date hygieneMedium

    Two rules make scores useful instead of anxiety-inducing:

    1. A critical parsing issue should cap the score. A resume with unreadable structure cannot be an 85 because the prose is elegant. DexterCV's scanner caps resumes carrying unresolved critical or warning issues, so a high score means genuinely clean, not merely wordy.
    2. Compare against yourself, not others. The value is the delta between your first scan and your scan after fixing findings — not a leaderboard.

    What a resume scanner cannot tell you

    • Whether a specific employer's ATS will reject you. Configuration varies per company.
    • Whether you're qualified. Scoring reads structure and language, not capability.
    • Whether a human will like your resume. That's the interview-rate signal, and it needs a real recruiter's read.

    Treat the score as a pre-flight check: it catches the mechanical failures that silently cost you interviews, then hands the judgement back to you.

    A practical 15-minute pass

    1. Copy-paste your PDF into a plain text editor and confirm nothing is missing or out of order.
    2. Move contact details out of the page header into the body.
    3. Rename every section to a conventional label.
    4. Make every date Mon YYYY – Mon YYYY, consistently.
    5. Spell out each important acronym once alongside its short form.
    6. Add a number to at least half your bullets.
    7. Re-scan and compare the two reports.

    Try it on your own resume

    Run a free scan — upload a PDF or DOCX and you'll get the parsed structure, the findings ranked by severity, and a score broken into the pillars above. If you want coverage against a specific role, paste the job description into the Resume Customizer instead, which scores match against that exact posting.

    Related reading: what an ATS resume checker actually checks, single-column vs two-column resumes, and ATS keywords by industry.

    Score your resume in 30 seconds

    Get a recruiter-grade ATS score and a prioritized list of fixes — free.

    Related guides

    ATS Resume Checker — What It Actually Checks in 2026

    A clear breakdown of what an ATS resume checker really tests, what it doesn't, how different systems (Workday, Greenhouse, Lever, Taleo, iCIMS) parse differently, and how to read a scanner score without panicking.

    Read

    DexterCV Find Jobs — One Platform for the Full UAE Job Search

    Find jobs in the UAE, scan your resume, tailor it per job, optimize your LinkedIn profile, and track applications — all in DexterCV. Built for Gulf job seekers.

    Read

    Why DexterCV Only Builds Single-Column Resumes (And Why You Should Want One)

    Two-column and graphic resume templates scramble in ATS parsers. Here is what a decade of recruiting taught us about single-column layouts, parse accuracy, recruiter skim behaviour, and why content copy beats design every time.

    Read