Resume Writing

How to Write an ATS-Friendly Resume

What an applicant tracking system does with your resume, how to match the posting's language without stuffing keywords, and the formatting choices that quietly break parsing.

8 min read

TL;DR

An applicant tracking system (ATS) stores applications, parses resumes into fields, and lets recruiters filter and search them. Most of the "beating the ATS" problem is really two problems: a resume the software can't read cleanly, and a resume that doesn't use the posting's language for skills you actually have. Fix both with a simple single-column layout, standard section headings, and the posting's exact terms placed in real accomplishments. Keyword stuffing doesn't help, because a person still reads what the ATS surfaces.

What an ATS actually does with your resume

An applicant tracking system is the software employers use to post jobs and manage applicants. Workday, Greenhouse, Lever, iCIMS, and Oracle Taleo are common examples. When you apply, the ATS typically does a few things:

  1. Stores your application and moves it through stages (applied, screened, interview, offer).
  2. Parses your resume, pulling your name, contact information, job titles, employers, dates, education, and skills into structured fields.
  3. Asks screening questions, like work authorization, willingness to relocate, or a required license. Some employers set these as knockout questions that remove an applicant automatically if the answer doesn't meet a hard requirement.
  4. Lets recruiters search, filter, and sort the applicant pool, often by keywords, titles, or skills. Some systems also rank or score candidates against the posting, and more vendors now add AI-based matching.

What this means in practice: the popular idea that a robot reads your resume and silently rejects 75% of applicants isn't how most systems work, and that statistic isn't backed by any published research. Automatic filtering does exist, but the employer sets it up: knockout questions, and sometimes rules that screen out applicants who don't match criteria such as a required credential or, in some setups, a gap in employment. Much of the rest is done by recruiters searching the database. If a recruiter searches "Salesforce" and your resume says "CRM software," you don't come up.

So an ATS-friendly resume has two jobs: be readable by the parser, and be findable by the search terms a recruiter for this role would use.

How to match keywords without stuffing them

The posting is your keyword list. Read it and pull out:

  • Hard skills and tools: software, systems, methods, certifications ("SQL," "Tableau," "GAAP," "Epic," "PMP").
  • The job title itself, and close variants.
  • Repeated phrases. If "vendor management" shows up three times, it matters to this employer.
  • Required credentials, like licenses and degrees, in the form the posting writes them.

Then, for each term you can honestly claim, put it on your resume the way a recruiter would search for it:

  • Use the exact wording. If the posting says "accounts payable," write "accounts payable," not just "AP." Writing it out with the acronym once ("accounts payable (AP)") covers both searches.
  • Put keywords in accomplishments, not just a skills list. "Reconciled accounts payable for 1,200 monthly invoices in NetSuite, cutting late payments by half" gives both the parser and the human reader the term plus proof.
  • Mirror the title where it's accurate. If your official title was "Associate II" but your work was customer success, "Customer Success Associate (title: Associate II)" is honest and searchable.
  • Keep a short skills section for tools and certifications. It's a good place for terms that don't fit naturally in bullets.

What not to do:

  • Don't paste the job description into your resume, or hide it in white text. Recruiters see the parsed text, and it reads as a trick.
  • Don't list skills you can't back up. Keywords get you found; the interview tests every one.
  • Don't repeat a term ten times. Once or twice in context does the job. After that, it only makes the resume worse for the person reading it.

This is also why one resume for every job underperforms. Each posting uses slightly different language for similar work, and a resume tailored to each one matches more of the searches. For turning duties into results, see how to quantify achievements on a resume.

Formatting that parses cleanly

Parsers have improved, but they still trip on layout that looks great to a person. The safest choices:

  • A single-column layout. Two-column designs can get read across both columns line by line, scrambling your job history.
  • Standard section headings: "Experience" or "Work Experience," "Education," "Skills," "Certifications." Creative headings ("Where I've Made an Impact") may not map to the right fields.
  • Contact information in the body, not in the header or footer. Some parsers skip headers and footers.
  • No tables, text boxes, or graphics for important content. Skill bars, icons, and charts carry no readable text.
  • Consistent dates in one format, like "Mar 2023 – Present" or "03/2023 – Present," next to each job.
  • Common fonts (Calibri, Arial, Georgia, Garamond) at a readable size.
  • The file type the posting asks for. If it doesn't say, a .docx or a text-based PDF (one exported from a word processor, not a scanned image) is generally safe.

Test it yourself. Copy all the text from your PDF and paste it into a plain text editor. If the order is scrambled, words are missing, or your contact information disappears, a parser will likely have the same trouble. Many application forms also show you the parsed result before you submit. Check it and fix any fields it got wrong.

Skills-first structure, for people and software

A recruiter who finds you in a search spends a short time deciding whether to keep reading. Put what matters for this job where they look first:

  1. Name and contact information at the top, in plain text.
  2. A two- to three-line summary that names the role and your strongest matching qualifications. (See how to write a resume summary.)
  3. Skills section with the tools and certifications the posting names.
  4. Experience in reverse chronological order, each bullet starting with a verb and ending with a result.
  5. Education and certifications.

A reverse-chronological resume with a strong skills section is the most reliable shape for parsers. Purely functional resumes, which group skills and leave out dates, are harder to parse and often raise questions with recruiters. If you have a gap, a short honest explanation works better than hiding dates (see how to explain employment gaps).

A note on government applications

Government hiring often works differently. California state jobs, for example, are filled through CalCareers, and many postings ask for the STD 678 application, a resume, and sometimes a Statement of Qualifications (SOQ). Under the statewide hiring guidance published in 2026, application screening isn't a scored exam: reviewers sort applicants into "Interview – Yes / Maybe / No" groups against the posting, and HR generally checks minimum qualifications for applicants selected to interview.

The same keyword principle still applies, just aimed at a person instead of a search box. Use the posting's and duty statement's language for experience you really have. Many state postings also say not to write "See Resume" on the STD 678, so fill out each job's duties in full. See how to write a resume for California state jobs and how to fill out the STD 678.

Frequently asked questions

  • Is it true that ATS software rejects most resumes automatically?

  • Should I use a PDF or Word document?

  • Do ATS-friendly resumes have to look plain?

  • How many keywords should I include?

Free offer

Tailor every application without starting over

Paste the posting and your experience, and dandy drafts a cover letter that speaks the job's language, using only what you've actually done.

Free to startNo credit card neededCancel anytime