How to Write an ATS-Friendly Resume (Step by Step)

Most online job applications pass through an applicant tracking system before a person reads them. That fact has created a lot of anxiety and a lot of bad advice: hidden keywords in white text, “ATS-proof” templates full of icons, and scary claims that robots reject most resumes. The reality is more practical. An ATS is a database with a parser on the front. If your resume parses cleanly and uses the language of the job, you are in good shape. This guide walks through exactly how to get there.

What an ATS actually does

An applicant tracking system (ATS) is the software an employer uses to receive applications, move candidates through stages such as screening, interview and offer, and keep records. Well-known examples include Workday, Greenhouse, Lever, iCIMS and Taleo. When you upload a resume, the system usually does three things:

  1. Extracts the text from your PDF or Word file.
  2. Parses it into fields: your name and contact details, each job title, employer and set of dates, your education and your skills.
  3. Stores a searchable profile that recruiters can filter, search by keyword and, in many systems, rank against the job.

Some employers add knockout questions to the application form, such as whether you are authorized to work in the country, and those can screen applicants out automatically. But for the resume itself, the main risk is not a robot saying no. It is a parser misreading your document so your profile is incomplete, or your resume not containing the words a recruiter searches for. Both are fixable.

Step 1: Choose a layout parsers can read

Parsers read text in order, and they are much better at simple documents than designed ones. Most parsing problems come from layout, not content.

  • Use one column. Two-column designs can be read straight across the page, so a line from your skills sidebar gets glued onto a line from your job history.
  • Avoid tables and text boxes for content. Some parsers skip them or read cells in an unexpected order.
  • Keep contact details out of the header and footer. Document headers and footers are sometimes ignored, so put your name, email and phone in the main body.
  • Do not put text in images. Logos, icons, charts and skill-rating bars contain no readable text. A bar showing “Excel: 80%” tells a parser nothing.
  • Use a common font such as Arial, Calibri, Garamond or Georgia at 10–12 point, with simple round or square bullets.

PDF or Word?

Follow the employer’s instructions if they give any. Otherwise, both a .docx file and a text-based PDF parse well in modern systems. The important word is text-based: a PDF exported from Word, Google Docs or a resume builder contains real text, while a scanned page or a resume saved as an image does not. To check, open the PDF and try to select a sentence. If you cannot, neither can most parsers.

Step 2: Use standard section headings

Parsers decide what a block of text is from the heading above it. Creative headings make that guesswork. Use the plain names recruiters and software expect.

UseInstead of
SummaryAbout Me, My Story, Profile Snapshot
Experience (or Work Experience)Where I’ve Been, Career Journey, Highlights
EducationLearning, Academic Adventures
SkillsToolbox, Superpowers, What I Bring
CertificationsBadges, Credentials Wall
ProjectsThings I’ve Built

Keep the usual order for your situation: most people lead with Summary, Experience, Skills and Education. Recent graduates can put Education before Experience.

Step 3: Format each job so it parses cleanly

For every role, give the job title, employer, location (city and state or country is enough) and dates, in the same order every time. Write dates consistently as month and year, for example “Mar 2022 – Present” or “03/2022 – Present”. Parsers use these patterns to separate one job from the next and to work out how many years of experience you have. If you held several roles at one company, list the company once with each title and its dates underneath, or repeat the company name for each role; either works as long as you are consistent.

Spell out what an outsider might not know. An internal title such as “Associate II, Team Delta” is better written as “Customer Support Associate”. If your official title was unusual, you can add the common equivalent in parentheses.

Step 4: Tailor keywords to each job

This is where most resumes lose ground. Recruiters search their ATS using the language of their own job posting: tool names, certifications, methods and job titles. If the posting asks for “stakeholder management” and “SQL” and your resume says “worked with business partners” and “database queries”, a keyword search may not find you, even though you have done exactly what they want.

To tailor a resume for a specific job:

  1. Read the requirements section carefully. Terms listed there, and terms repeated across the posting, matter most.
  2. Mirror the exact wording where it is true for you. If they say “customer success”, use “customer success”, not “client happiness”.
  3. Cover both forms of acronyms once, such as “search engine optimization (SEO)” or “certified public accountant (CPA)”.
  4. Use the job title in your headline or summary if it fairly describes your experience.
  5. Show keywords in context. A skill inside an achievement (“Built weekly churn dashboards in Tableau for the sales team”) is more convincing to the recruiter who reads your resume next than the same word in a list.

Doing this by eye is slow. The free Resume Keyword Checker compares your resume with a job description in your browser and lists the matched and missing keywords, where each one appears, and which missing terms carry the most weight.

One warning: only add keywords that are true. Interviewers ask about anything on your resume, and stuffing unrelated terms, or hiding them in white text, does not fool modern systems. When a recruiter opens the file, it simply looks dishonest.

Step 5: Write bullets with action verbs and numbers

Parsing gets you into the database; your bullets get you the interview. Each bullet should show what you did and what changed because of it. A reliable pattern is “Accomplished X, measured by Y, by doing Z”:

  • Weak: Responsible for the company newsletter.
  • Strong: Relaunched the weekly newsletter, growing subscribers from 2,100 to 6,400 in a year by segmenting content for three customer groups.

Start each bullet with a specific past-tense verb, avoid repeating the same verb within one job, and add a real number wherever you can: money, percentage, time saved, volume, team size. If you do not know the exact figure, use a defensible estimate or a scale, but never invent one. The Resume Action Verbs list has more than 270 verbs grouped by skill, plus swaps for weak openers such as “responsible for” and “helped with”.

Step 6: Test your resume before you send it

You can run a rough parse test yourself in two minutes:

  1. Open your final PDF, select all the text and copy it.
  2. Paste it into a plain text editor.
  3. Check that everything appears in a sensible order: name, contact details, each job title with its employer and dates, education and skills.

If lines from different sections are interleaved, text is missing, or symbols turn into odd characters, simplify the layout. Finally, give the file a professional name such as jordan-lee-resume.pdf, because recruiters see it too.

Three ATS myths to ignore

“An ATS rejects most resumes automatically.”

Most systems store and organize applications so humans can search and review them. Automatic rejection usually comes from knockout questions the employer configured, not from the resume being judged by software on its own.

“You need a perfect keyword match score.”

There is no universal score or threshold; each employer configures its system differently. Aim to cover the important requirements you genuinely meet, in their language, and treat any score as a checklist.

“ATS can’t read PDFs.”

Text-based PDFs are widely supported. The problem is image-based PDFs and heavily designed layouts, not the PDF format itself.

Build it faster with Resumate

If you would rather not wrestle with formatting, Resumate is a free ATS resume builder made by the developer behind ToolsWorld, and it is built around the steps above. You sign in with Google, then import your existing PDF or Word resume, a LinkedIn “Save to PDF” profile or your LinkedIn data export; files are parsed in your browser and opened in a structured editor with autosave and undo.

  • One ATS-proven, single-column template, so the layout is never the problem.
  • An ATS check with a readiness score and specific fixes for missing metrics, repeated verbs, risky symbols, weak openers and unexplained acronyms.
  • A parse test that reads your exported PDF back the way an ATS would.
  • Job match: paste a job description to see matched and missing keywords while you edit.
  • AI bullet rewriting in the “Accomplished X, measured by Y, by doing Z” format that never invents numbers.
  • Export to text-based PDF and Word, saved in your own Google Drive. Resumate uses Google’s drive.file permission, so it can only see files it created, and there is no resume database.

Open Resumate, it’s free

Want to know more first? The ATS Resume Builder page explains how parsing works and what Resumate checks.

Quick checklist

  • Single column, no tables, text boxes, icons or images holding text.
  • Contact details in the body, not the header or footer.
  • Standard headings: Summary, Experience, Skills, Education.
  • Every job has a title, employer, location and consistent month-and-year dates.
  • Keywords from this job’s posting, used where they are true and shown in context.
  • Bullets open with strong verbs and include real numbers.
  • Text-based PDF or .docx that passes the copy-and-paste test.

Get these right and the software stops being an obstacle. What is left is what always mattered: showing a recruiter, clearly and honestly, that you can do the job.

Try these tools