ATS-Friendly CV: How to Beat Applicant Tracking System Keyword Filters in 2026
Most CVs are filtered by software before a human reads them. Here is exactly how Greenhouse, Lever, and Workday parse your CV. And how to write one that survives both filters and humans.
ApplyTOP · May 15, 2026
Roughly 75% of CVs submitted to mid-market and enterprise roles never reach a human recruiter. They get parsed by an Applicant Tracking System (ATS), scored against the job description, and filtered out before anyone opens them. Writing an ATS-friendly CV isn't about gaming the system. It's about giving the parser the structured signal it needs so your real qualifications get a fair read.
This guide covers exactly how the major ATS platforms parse your CV, the format rules that matter, the keyword strategy that works without sounding robotic, and a section-by-section checklist for 2026 hiring.
What an ATS actually does to your CV
When you upload a CV, the ATS does three things in order:
- Text extraction. It pulls the raw text from your PDF or DOCX. Image-based PDFs (scans, screenshots) extract as gibberish or empty.
- Field parsing. It tries to identify your contact info, work history, education, and skills by looking for standard headings and date patterns. Custom layouts confuse this step.
- Keyword scoring. It compares your parsed text against the job description, weighting matches by frequency and section. Higher score = higher in the recruiter's queue.
The three biggest ATS platforms behave slightly differently:
- Greenhouse: used by most YC and growth-stage companies. Uses Sovren parser. Tolerant of two-column layouts but stricter about date formats (use full month names, not abbreviations).
- Lever: uses Affinda. Forgiving on layout but very strict about contact info: put your email and phone in the body of the document, not in headers/footers (those are stripped).
- Workday: uses an in-house parser, the strictest of the three. Single-column only. No tables. Standard section headings ("Work Experience", "Education", "Skills") or fields go missing.
If you're applying broadly, optimize for the strictest (Workday) and you'll be fine on the others.
Format rules that matter
Do this:
- Single-column layout. Period. Multi-column work histories scramble in 60% of parsers.
- Standard headings: "Experience" or "Work Experience", "Education", "Skills". Avoid creative variants like "Where I've Worked" or "My Toolkit".
- Generate a PDF from a text-based source: Google Docs, Word, or LaTeX. Never submit a scan or screenshot.
- Put dates as "Month YYYY" (e.g. "March 2023. Present"). Avoid "03/23. Current" or "2023–now".
- Email and phone in the body of the document, not in a header or footer (parsers strip headers).
Don't do this:
- Tables for skill grids. Many parsers read row 1, skip the rest.
- Text inside images, icons, or shapes. The OCR pass usually doesn't run on CVs.
- Fancy fonts. Stick with Inter, Helvetica, Calibri, Arial, or Georgia. Anything embedded as outlines (some Figma exports) won't extract.
- "Resume.pdf" as the filename. Use
FirstName-LastName-Role-2026.pdf: some recruiters search the file system by name.
Keyword strategy without keyword stuffing
The single biggest CV upgrade is matching the language of the job description, not just the meaning. Read the JD three times. Underline the verbs and nouns that appear more than once. Those are the terms the ATS scoring weights. Then rewrite your bullets so those exact phrases appear naturally in context.
Example. Suppose the JD says:
"Experience designing event-driven systems on PostgreSQL and Kafka. Strong on observability and on-call rotations."
Bullet that scores poorly: "Worked with relational databases and message queues; participated in operational duties."
Same experience, ATS-optimised: "Designed event-driven services on PostgreSQL and Kafka, owning observability dashboards and weekly on-call rotations."
Same role, same impact. But now the parser sees the matching terms in context. Recruiters reading also prefer the rewritten version because it's more specific.
Critically: don't keyword-stuff a "Skills" wall. Modern ATS platforms detect and downrank those. Embed keywords inside actual accomplishment bullets where they belong.
Section-by-section checklist
Header (top of page 1)
- Full name, target role title, city + country
- Email, phone, LinkedIn URL. As plain text, in the body, not in a header element
- Optional: GitHub / portfolio URL for technical roles
Summary (3 lines)
- Years of experience + role
- One stand-out outcome (with a number)
- What you're looking for (matching the JD's framing)
Experience (most space)
- Reverse chronological. Company, role, dates, location.
- 3–5 bullets per role. Each bullet starts with a strong verb (built, shipped, led, reduced, scaled), includes a specific number, and uses keywords from the JD.
- Older than 10 years? Compress to one line per role.
Skills
- Group by category (Languages / Frameworks / Infrastructure / Tools).
- Plain comma-separated lists. No proficiency bars (parsers ignore them).
Education
- Degree, institution, year. Coursework only if it's directly relevant.
Certifications / publications / open-source
- Optional. Include only if material to the role.
Common mistakes that get you filtered
- Inconsistent date formats: mixing "Jan 2023" and "1/24" trips parsers; pick one and stick with it.
- "Present" instead of an end date on multiple roles. Some parsers infer overlap and drop one.
- Two-page CV with crucial dates only on page 2: some parsers truncate at page 1 for filtering.
- PDF with copy-protect: if you can't select the text manually, the parser can't either.
- Skill keywords in the wrong section: keywords in "Hobbies" or footer text are weighted near zero.
Test your CV before you apply
The fastest way to know whether a CV is ATS-friendly: copy-paste the rendered PDF text into a plain text editor. Whatever you see is what the parser sees. If your work history is jumbled or your contact info is missing, the parser sees the same.
For a more direct test, use the free ApplyTOP CV Builder. It generates ATS-friendly PDFs from a structured form, so you can't accidentally use a multi-column template or skip a standard heading. The output passes Workday, Greenhouse, and Lever cleanly.
To see how strongly a finished CV matches a specific role: sign up for ApplyTOP and upload it. Every fetched job is scored against your CV using semantic similarity (not keyword overlap), so the score tells you whether you're competitive for that exact JD. Before you spend time tailoring and applying.