ATS-friendly CV tips that actually move the needle
By Mohammed · Published 2026-05-04
Most "ATS tips" articles repeat the same five rules: no images, no tables, no fancy fonts. That's table stakes. The bigger problem is that candidates still write CVs the way they wish a human would read them — and then wonder why nobody calls back. Here's what actually fails the screen, and what to do about it.
The thing ATS systems are bad at
Modern resume parsers are decent at extracting plain text. Where they fall apart is structure: deciding which line is a job title, which is a company, which is a date. If your CV uses two columns, sidebar dates, or a header that bleeds into the body, the parser often glues the wrong tokens together. The recruiter sees John Smith — Acme Corp 2021 January Software Engineer Built APIs led migration as one big string. They scan for ten seconds and move on.
The fix isn't to make your CV uglier. It's to make the structure parseable in linear order, top to bottom.
Edit 1: One column, top to bottom
Pick a single-column layout. Sounds obvious. The reason it matters: ATS parsers read PDFs in document order, not visual order. A two-column layout in InDesign that looks beautiful to you can come out as ABABABAB to the parser — alternating between your job titles and your skills list line by line.
If you must have a sidebar look, use one column with explicit section headings (Experience, Skills, Education) and let whitespace do the visual separation.
Edit 2: Job title and company on the same line, in that order
ATS parsers expect a predictable pattern. Senior Engineer · Acme Corp · 2021–Present parses cleanly. Acme Corp on one line, the title indented below, the dates in a sidebar — three different tokens for the parser to guess at, and it will guess wrong roughly half the time.
The exact format you use for the separator (· vs — vs | vs comma) matters less than picking one and using it consistently across every entry.
Edit 3: Skills as a flat list, not a chart
Skill graphs and progress bars are a recruiter pet peeve and an ATS parsing hazard. The parser doesn't see "React 80%" — it sees "React 80" and stores both as keywords. Now your CV claims you have a skill called "80" with one year of experience.
Use a comma-separated list. Group by category if the list is long: Languages: TypeScript, Python, Go. Frameworks: React, Next.js, FastAPI. Cloud: AWS, GCP. Recruiters can scan it; ATS systems can index it.
What to skip
- Don't bother with white-text keyword stuffing. Modern parsers strip text-color metadata and recruiters can see it the moment they paste your CV into Word.
- Don't include a photo unless the local market expects one (parts of Europe and the Middle East do; the US generally doesn't). Photos in ATS-uploaded PDFs are sometimes rejected outright by automated diversity-screening rules.
- Don't put dates in headers/footers. The parser ignores those regions.
When in doubt: paste and check
Open your CV PDF, select all, copy, paste into a plain-text editor. If the result looks like roughly what you wrote — same job titles next to the right companies, dates with the right roles — you're fine. If it looks like word salad, your structure is fighting the parser. Fix the structure, not the visuals.