How to write a resume that gets past ATS
By Kyle Shaddox 7 min read The job search
An applicant tracking system is not an AI gatekeeper deciding your fate. It is a database. It parses your resume into structured fields, indexes the contents, and lets recruiters search and filter the result. Some systems also score resumes against the job description, but the score is a sort order, not a verdict. A human recruiter still reads the ranked list.
Most resumes that “get lost in the ATS” are actually being read by a person who decides in six to ten seconds that the resume does not match the role. The ATS is a layer in the funnel, not a wall. Fixing the ATS layer is mostly mechanical. The harder work is writing a resume the human reader also wants to keep reading.
What an ATS actually does
A modern ATS does three things in sequence.
Parsing
When you upload a resume, the system extracts text and tries to assign it to fields — name, contact info, work history, education, skills. Resumes that use standard section headers and a single-column layout parse cleanly. Resumes that use fancy templates, sidebars, or embedded graphics often parse badly, ending up with fragmented work history or missing fields.
A parsing failure is the worst outcome. A resume that parses with the wrong company in the wrong field can show up in searches as someone who never worked at the company you actually worked at.
Keyword matching
Recruiters search the ATS for candidates by skill. “Python AND product management AND B2B SaaS” returns the resumes that contain those phrases. Your resume needs to contain the actual phrases the recruiter will search for, in the words they will use. Synonyms do not help. “Managed cross-functional initiatives” does not return on a search for “product management.”
Ranking
Some ATS systems score resumes against a job description and show the recruiter a ranked list. The ranking is not a final decision — recruiters often look past the top of the list — but ranking near the bottom of a hundred-resume queue is functionally similar to being invisible.
What an ATS does not do, despite popular fears, is reject resumes for being too creative, too long, or too short. It does not run sentiment analysis on your bullet points. It does not flag career gaps for automatic dismissal. The horror stories of qualified candidates being silently rejected by AI are usually candidates who applied through a portal where the human recruiter never looked beyond the top of the queue.
Formatting that parses reliably
A short list of what works and what breaks.
Layout
- Single column. Two-column layouts cause most parsing problems.
- Standard section headers — Experience, Education, Skills. Custom headers like “My Story” or “Recent Wins” sometimes fail to map to ATS fields.
- Plain bullet points. Custom bullet glyphs occasionally render as junk characters in the parsed output.
- Standard fonts. Helvetica, Arial, Calibri, Times, Garamond. Decorative fonts can produce parsing oddities.
- No text inside headers, footers, or text boxes. Most systems do not read these regions.
- No tables used for layout. Cells parse out of order.
File type
- PDF made from Word or Google Docs: safest default.
- Word .docx: parses cleanly, sometimes preferred by older systems.
- PDF exported from a design tool (Canva, Figma, InDesign): often parses badly. Convert to a clean Word doc and re-export.
- Scanned image PDFs: do not use. The system cannot read them.
Length
One page is fine for under ten years of experience. Two pages is fine for more. Three pages is fine only for senior roles with substantial relevant history. The ATS does not care. The human recruiter does — keep the most important information in the top third of page one regardless of total length.
Keywords that actually move the ranking
The simple version: read the job description, identify the five to ten most-repeated skill phrases, and make sure your resume contains those phrases — in your own words, in context.
What counts as a keyword
The nouns and noun phrases that describe specific work: tools, methodologies, certifications, industries, functions, responsibilities. “Salesforce administration,” “B2B demand generation,” “Series B fundraising,” “ISO 27001 compliance,” “Python,” “user research.”
Adjectives and soft skills mostly do not count as ATS keywords. “Strong communicator” is everywhere in resumes and not searched on by recruiters. “Cross-functional partner” is the same. Save your line space for nouns.
Where to put the keywords
In context, inside real bullet points or skills sections. The old advice of keyword stuffing in invisible white text is a bad idea — modern ATS systems either ignore it or flag it, and recruiters who notice are not pleased.
A clean pattern:
- A skills section near the top with eight to twelve relevant skills, listed plainly.
- Job experience bullets that name the actual tools, methodologies, or systems used.
- A line in each role description that names the industry and stage of the company.
Resume per role family, not resume per job
Writing a custom resume for every single application is a poor use of time. Writing one resume per role family — for example, one for product management at growth-stage startups, one for product management at enterprise B2B — is sustainable and produces real conversion gains. The variations are small: which skills appear in the top section, which results get prioritised, which industry language gets foregrounded.
CareerCanopy is built for the part of the search where the resume has to do most of the talking — keeping role-family versions current, mapping each application to the right one, and updating language as the market shifts.
Writing for the six-second human scan
Once the resume parses cleanly and ranks well, the human recruiter spends six to ten seconds on it. That scan looks at the top third of page one, almost exclusively. Optimise this region carefully.
A working structure:
- Name and contact info: one line, top.
- One-line summary that names the role you are applying for and your years of relevant experience: “Senior product designer, ten years in B2B SaaS, specialising in enterprise dashboards and onboarding.”
- Most recent role: title, company, dates, and three to five bullets of accomplishments with numbers where possible.
- That is page one’s top third. The rest of the resume can scroll naturally below.
The one-line summary is the highest-impact line on the resume. It tells the scanner exactly what the resume is about in two seconds. Without it, the scanner has to guess from job titles, and internal titles often confuse the guess.
What recruiters look for in bullet points
Bullets that lead with results outperform bullets that lead with responsibilities, but only when the results are believable. “Drove 400% revenue growth” without context reads as inflated. “Drove 40% YoY revenue growth on a 6-person GTM team by launching three vertical-specific campaigns” reads as real.
A repeatable bullet structure:
- Verb + scope + result + context.
- “Led migration of 200-seat sales org from Salesforce to HubSpot, completing on schedule and reducing per-rep tool spend by 35%.”
- Not: “Responsible for leading sales operations and driving efficiency.”
The first carries information. The second carries words.
What goes below the top third
The rest of the resume matters less for the first scan, more for the deeper read that happens once a recruiter decides to keep reading. Two practical rules.
Earlier work compresses. A role from twelve years ago does not need five bullets. One or two is enough, and at some point — usually fifteen years back — the resume can list older roles without bullets at all, with only title, company, and dates. This protects the page one real estate where the recent and relevant work belongs.
Skills sections are most useful when they list real, specific skills rather than soft adjectives. “AWS, Terraform, Python, GraphQL, Kubernetes” is a useful skills section. “Strong leader, excellent communicator, results-oriented” is not. The first list will surface in searches. The second is wallpaper.
Education usually sits at the bottom for any candidate with more than a few years of experience. The exception is recent graduates and roles where credentials are heavily weighted, like regulated industries.
A short list to apply this week
If your search is producing low screen rates and the resume is the suspect:
- Open your resume. Confirm single column, standard fonts, no tables, no text in headers, no images with text.
- Re-save from the original Word or Google Doc, export as PDF, upload to a free ATS-parsing checker to see how it parses.
- Pull the three job descriptions you most want to land. Highlight the five most-repeated skill phrases in each. Check whether your resume contains those phrases in plain language.
- Rewrite the top third of page one to include a one-line summary that names the role you are applying for.
- For your next ten applications, use a role-family version of the resume rather than the same resume across categories.
What the ATS will not fix
A clean ATS-friendly resume with the right keywords still loses if the underlying story does not match the role. If your last three jobs were marketing operations roles and you are applying for senior brand director, no amount of keyword work will make the resume read as a brand candidate. The resume can only honestly tell the story of what you have done. ATS hygiene gets that story into the hands of a human reader. The story itself has to be true, and it has to match the role you are applying for. That part is upstream of the ATS, and it is the harder part of the job.