Guide · 12 min read

How to pass ATS in 2026 — a developer’s guide.

The Applicant Tracking System is the first filter between you and a job. It is dumb on purpose. Once you understand how it works, passing it becomes a checklist — not a mystery.

TL;DR

  • 1. Save your CV as a single-column PDF. No tables, no text boxes, no images.
  • 2.Use the exact keywords from the job description — “Kubernetes”, not “K8s”.
  • 3. Use standard section headings: Experience, Education, Skills, Projects.
  • 4. Verify against the specific job description with an ATS checker before submitting.

1. Format your CV for plain-text parsing

The ATS extracts raw text from your PDF. It does not see your design. If your skills are in a fancy box, listed in a sidebar, or rendered as part of an image, the ATS often does not catch them at all.

The fix is structural, not aesthetic. A single-column layout with standard headings reads cleanly to both the ATS and the recruiter who comes next.

Format traps to avoid

  • — Multi-column layouts (skills in a sidebar, experience in the main column)
  • — Tables for experience or skills sections
  • — Text boxes, callouts, or speech-bubble graphics
  • — Images with embedded text (logos, icons containing skill names)
  • — Headers and footers (parsed inconsistently or skipped entirely)
  • — Decorative fonts or font sizes below 10pt

2. Mirror the job description’s exact phrasing

The ATS scores keyword overlap. It does not understand that “K8s” and “Kubernetes” are the same thing — at least not reliably. It does not know that “React” and “React.js” mean the same. Match the exact tokens the JD uses.

This is not stuffing. This is alignment. If you have used the technology, write it in the JD’s language. The recruiter scanning your CV next will not penalize you for matching the role’s vocabulary.

Where to place keywords

  • — A dedicated Skills section listing the JD’s hard skills you have
  • — Inside experience bullets, where the keyword has context (“Built X with Kubernetes and Helm”)
  • — In your title or summary if the JD repeats it (e.g. “Backend Engineer”)
  • Not in white text or hidden fields — modern ATS detect this and penalize

3. Use standard section headings

ATS parsers map content into structured fields by looking for known section labels. “My Journey”, “Tech I Love”, “Things I’ve Shipped” sound personal but they may not map cleanly.

Use these labels

  • Experience (or Work Experience / Professional Experience)
  • Education
  • Skills (or Technical Skills)
  • Projects (especially valuable for junior devs)
  • Certifications if relevant

Skip the guesswork

Run your CV through the ATS checker against the actual job you want. You get the missing keywords with point values, format flags, and prioritized fixes — free, no signup.

Run free ATS check →

4. Verify before you submit

The ATS score is per-job. A CV that passes for one posting may fail for the next. Before you click submit, run an ATS check tailored to the specific job description. The fix list is small and concrete: usually 3 to 5 missing keywords plus one or two structural flags.

A 30-second check before applying changes the math. You go from blind shots to aimed iterations. Each rejection becomes a data point you can act on, not a silent failure.

After the ATS, three more layers

Passing the ATS is necessary, not sufficient. Your CV next reaches an HR recruiter scanning for red flags in 6 seconds, then a hiring manager checking GitHub, LinkedIn, and seniority signals. A CV optimized for the ATS but stuffed with red flags still gets rejected — just one stage later.

The full breakdown of all three layers is here: Why developers get rejected.

FAQ

Do all companies use ATS?

Most medium-to-large companies do, especially in tech. A single posting can receive 200 to 1,000+ applications — manual review at that volume is impossible. The ATS is a filter, not a choice.

Will using exact keywords feel like keyword stuffing?

No, if it is honest. The ATS rewards exact matches because it cannot judge meaning. If the JD says "Kubernetes" and you have used it, write "Kubernetes" — not "K8s", not "container orchestration". The recruiter who reads next will not penalize you for matching the language they used.

Should I have a different CV per job application?

You should at minimum tune the skills and bullet phrasing to mirror the JD. Same content, different surface. ATS scoring is per-job — a CV optimized for one role is not optimized for another.

PDF or DOCX — what does the ATS prefer?

Most modern ATS handle both. The format is less important than the structure: single column, standard headings, no images, no text boxes. A clean PDF beats a fancy DOCX every time.

How do I know if my CV passes the ATS?

Run it through an ATS checker against the specific job description. RejectCheck simulates the parsing and scoring layer and returns the missing keywords with point values plus any format flags that would break parsing.

Now run the check on your CV.

60 seconds. No signup. Tailored to one specific job description.

Run free ATS check →