How to write a CV that survives ATS keyword filters
Most CVs are screened by software before a human ever reads them. Here is what the parser actually looks for, and how to write a CV that beats both filters and humans.
ApplyTOP · April 29, 2026
Modern Applicant Tracking Systems (ATS) parse your CV into structured fields and score it against the job description before a recruiter ever opens it. If the keywords don't match, you're filtered out — even if you'd be a great fit.
What the ATS actually does
An ATS extracts your work history, education, skills, and contact info from the file you upload. It then runs keyword and weighting rules against the job posting. The two reasons CVs fail at this step are: (1) the file format confuses the parser, or (2) the right keywords aren't there in plain text.
Format rules that matter
- Use a single-column layout. Multi-column layouts confuse most parsers and your work history can get jumbled.
- Use standard section headings: "Experience", "Education", "Skills". Custom headings like "Where I have worked" trip parsers up.
- Submit a PDF generated from a text-based source (Google Docs, Word, LaTeX). Image-based PDFs from scans don't parse.
- Avoid headers/footers and text inside images. The ATS won't see them.
Keywords without keyword stuffing
Read the job description three times and underline the verbs and nouns that repeat. Those are the keywords the ATS is most likely scoring on. Then re-write your bullets so those exact phrases appear naturally in context. Example: if the JD says "experience with Postgres and event-driven architectures", your bullet should say "designed event-driven services on Postgres" — not "worked with relational databases and message queues".
Use a match-checker before you apply
This is where AI matching shines. ApplyTOP scores your CV against every fetched job using semantic similarity, not just keyword overlap, so you can see at a glance which jobs your current CV is actually competitive for — and which ones need a tailored version.