How to build a resume that actually passes ATS.
What is an ATS and why does it matter?
An Applicant Tracking System (ATS) is software that companies use to collect, sort, scan, and rank job applications. Think of it as a gatekeeper that stands between your resume and a human recruiter.
Here's the reality: over 97% of Fortune 500 companies use an ATS. And it's not just large corporations anymore — businesses with as few as 50 employees routinely use systems like Greenhouse, Lever, Workday, iCIMS, Taleo, or BambooHR to manage applications.
When you submit your resume through an online application, the ATS:
1. Parses your resume — extracting text, identifying sections (work experience, education, skills), and structuring the data
2. Matches keywords — comparing your resume's content against the job description's requirements
3. Scores and ranks — giving your application a relevance score relative to other candidates
4. Filters — eliminating candidates below a certain threshold before any human sees them
Studies estimate that 75% of resumes are rejected by ATS before reaching a recruiter. Many of these rejections aren't because the candidate is unqualified — they're because the resume's formatting prevented the ATS from reading it correctly, or the wording didn't match what the system was looking for.
This is fixable. And it doesn't require expensive software.
How ATS parsing actually works (the technical truth)
Most people think ATS is a simple keyword scanner. It's more nuanced than that. Modern ATS systems use a combination of pattern matching, section detection, and increasingly, semantic analysis.
Section detection: The ATS looks for standard section headers — "Work Experience," "Education," "Skills," "Certifications." When it finds one, it categorizes everything that follows until the next header. If your section headers are creative ("Where I've Made My Mark" instead of "Work Experience"), the system may dump that entire section into an "other" category, effectively making it invisible.
Date parsing: ATS systems extract employment dates to calculate tenure, identify gaps, and verify chronology. Inconsistent formats (mixing "Jan 2024" with "01/2024" with "2024") confuse parsers. Pick one format and use it throughout.
Keyword matching: This is the part everyone focuses on, and for good reason. The recruiter or hiring manager enters required qualifications, skills, and keywords into the ATS. Your resume is scored against those keywords. But it's not just about having the word somewhere on your page — context matters. "Python" in your skills section carries more weight than "Python" mentioned in passing in a bullet point about something else.
Semantic matching: Newer ATS systems (Greenhouse, Lever) use AI to understand that "managed a team" and "led a team" mean similar things. But older systems (Taleo, iCIMS) are more literal. Since you don't know which ATS the company uses, the safest strategy is to match the exact language from the job description.
File parsing: ATS systems parse PDFs and .docx files differently. Some struggle with PDFs that use text-as-image (common with design-heavy templates). A clean, text-based PDF with standard fonts is the safest option.
ATS-safe vs. ATS-breaking formatting
| Element | ATS-safe | ATS-breaking |
|---|---|---|
| Layout | Single column, top-to-bottom | Two columns, sidebars, text boxes |
| Section headers | "Work Experience," "Education," "Skills" | "My Journey," "Toolkit," "What I Bring" |
| Fonts | Arial, Calibri, Garamond, Times New Roman | Custom fonts, decorative fonts, icon fonts |
| Bullet points | Standard bullet characters | Custom shapes, emoji, special Unicode |
| Dates | "Jan 2023 - Present" (consistent format) | Mixed formats, missing months, year-only |
| Contact info | In main body text, top of page | In header/footer zones, text boxes |
| File type | PDF (text-based) or .docx | .jpg, .png, .pages, PDF-as-image |
| Graphics | None | Photos, logos, skill bars, charts, icons |
| Tables | Avoid (or very simple) | Complex tables with merged cells |
| Links | Plain text URLs or hyperlinked text | Shortened URLs, QR codes |
The golden rule: if you can select all the text in your PDF, copy it, and paste it into a plain text editor and it reads correctly top-to-bottom, your resume will likely parse well through ATS.
How do I optimize my resume for ATS keywords?
Keyword optimization is the single highest-impact change you can make. Here's how to do it systematically:
Step 1: Extract keywords from the job description
Read the posting carefully and list every specific skill, tool, certification, and qualification mentioned. Pay attention to:
- Hard skills (programming languages, software, methodologies)
- Soft skills mentioned more than once (the repetition signals importance)
- Job titles and variations
- Industry-specific terminology
- Required certifications or degrees
Step 2: Categorize by importance
- Must-have: Keywords in the "Requirements" or "Qualifications" section. These are dealbreakers.
- Nice-to-have: Keywords in the "Preferred" section. Include what you can.
- Contextual: Keywords that appear in the job description narrative. These help with scoring.
Step 3: Place keywords strategically
Don't just stuff keywords randomly. Place them where they carry the most weight:
1. Professional summary (top of resume) — your highest-value real estate
2. Skills section — clear, scannable list
3. Work experience bullets — keywords in context with results
4. Job titles — if your actual title was different but the work matches, consider adding the equivalent in parentheses
Step 4: Use variations naturally
Include both the acronym and spelled-out version: "Search Engine Optimization (SEO)," "Customer Relationship Management (CRM), Salesforce." This catches both forms.
Step 5: Verify with an ATS checker
Don't guess. Use the free ATS checker at /ats-check to upload your resume alongside the job description. It shows you exactly which keywords match, which are missing, and gives you a score. Fix the gaps, re-check, and repeat until you're above 80%.
Do different ATS systems work differently?
| ATS System | Used by | Parsing quality | Key quirks |
|---|---|---|---|
| Greenhouse | Tech companies, startups | Excellent | Good at semantic matching; supports structured applications |
| Lever | Mid-size tech, agencies | Very good | Combines ATS + CRM; keyword + skill-based matching |
| Workday | Enterprise (Fortune 500) | Good | Heavy on structured fields; may require manual data entry |
| Taleo (Oracle) | Government, large corps | Moderate | Older system; struggles with creative formatting; very literal keyword matching |
| iCIMS | Healthcare, retail, enterprise | Moderate | Requires clean formatting; known to drop info from headers/footers |
| BambooHR | Small-medium businesses | Good | Simpler system; usually less aggressive filtering |
| Jobvite | Various industries | Good | Social recruiting features; standard parsing |
| SmartRecruiters | Global companies | Very good | AI-powered matching; modern architecture |
Since you rarely know which ATS a company uses, optimize for the lowest common denominator: clean formatting, standard headers, exact keyword matches, and a text-based PDF.
The complete ATS resume checklist
Use this checklist before submitting any application:
Formatting
- Single-column layout (no sidebars or text boxes)
- Standard section headers (Work Experience, Education, Skills, Certifications)
- Standard font (Arial, Calibri, Garamond) at 10-12pt
- Standard bullet characters
- Consistent date format throughout (e.g., "Jan 2023 - Present")
- Margins between 0.5" and 1"
- No graphics, photos, logos, skill bars, or charts
- No tables with merged cells
- Contact info in main body (not header/footer)
Content
- Keywords from job description appear in resume (exact matches)
- Both acronyms and full terms included (e.g., "SEO" and "Search Engine Optimization")
- Job titles match or closely align with target role
- Skills section includes specific tools and technologies mentioned in JD
- Each bullet starts with a strong action verb
- Quantified results where possible (numbers, percentages, dollar amounts)
Technical
- Saved as text-based PDF (not PDF-as-image)
- Copy-paste test passes (all text reads correctly in plain text)
- File name is professional (FirstName-LastName-Resume.pdf)
- File size under 5MB
- Spell check completed
ATS myths that need to die
Myth: ATS automatically rejects resumes
Reality: ATS ranks and sorts. The recruiter usually decides the cutoff threshold. Some recruiters review all applications regardless of ATS score. But a low score means your resume appears at the bottom of the pile.
Myth: You need to "trick" or "hack" the ATS
Reality: ATS systems aren't adversaries. They're organizational tools. The best strategy isn't tricks — it's clarity. Write clearly, use standard formatting, and match the job description's language. That's it.
Myth: White text stuffing works
Reality: Copying the job description in tiny white text was a trick that worked briefly in the 2010s. Modern ATS systems detect this easily. Some flag it as fraud. Recruiters who notice it reject you immediately. Don't do it.
Myth: Only exact keyword matches count
Reality: Newer ATS systems use semantic matching. "Managed" and "Led" are understood as similar. But older systems are literal. The safest approach: use the exact language from the job posting.
Myth: Creative resumes hurt your chances
Reality: A creative resume doesn't automatically fail ATS — but creative elements (columns, graphics, custom fonts) often break parsing. If you want a creative design, create two versions: a creative one for direct emails and networking, and a clean ATS version for online applications.
Myth: ATS can't read PDFs
Reality: Modern ATS systems read text-based PDFs perfectly well. The issue is PDFs that contain text-as-images (common with heavily designed templates or scanned documents). A standard PDF exported from Word, Google Docs, or a clean resume builder works fine.
What should I do after my resume passes ATS?
Passing ATS is step one. Your resume still needs to impress a human. Here's the thing — the same qualities that help with ATS (clear formatting, specific keywords, quantified results) also help with humans. A well-optimized ATS resume is a well-written resume, period.
After optimizing your resume:
1. Run it through the ATS checker at /ats-check to verify your keyword coverage
2. Get a resume roast at /roast for feedback on content quality and impact
3. Rewrite weak bullets using /rewrite to strengthen your accomplishment statements
4. Generate a tailored cover letter at /cover-letter that reinforces your top qualifications
5. Apply with confidence knowing your resume will parse correctly and rank well
The entire process — from ATS check to polished application — takes about 20 minutes per job. That investment is worth it when you consider that the average job search yields callbacks on only 2-3% of applications. Better optimization means fewer applications needed to get interviews.
Stop reading about it. Start doing it.
Check your resume's ATS scoreFrequently asked questions
What percentage of companies use ATS?
Over 97% of Fortune 500 companies and approximately 75% of all mid-to-large employers use some form of ATS. Even many small businesses with 50+ employees use basic ATS systems like BambooHR or JazzHR. If you're applying online, assume your resume will be parsed by an ATS.
Can an ATS read my PDF resume?
Yes, if it's a text-based PDF. Modern ATS systems parse standard PDFs without issue. Problems arise with PDFs that contain text-as-images (common with heavily designed templates or scanned documents). To test: open your PDF, press Ctrl+A to select all, then paste into a text editor. If the text is readable and in order, ATS can read it.
Should I submit my resume as PDF or Word?
PDF is generally the best choice. It preserves formatting across all devices and systems. Only submit .docx if the application specifically requests it. Some older ATS systems (particularly Taleo) historically preferred .docx, but this is increasingly rare in 2026.
How do I know which ATS a company uses?
Check the URL of the application page. Greenhouse uses 'boards.greenhouse.io,' Lever uses 'jobs.lever.co,' Workday shows 'myworkdayjobs.com.' You can also check the page source or use browser extensions that detect ATS systems. That said, optimizing for clean formatting and keyword matching works across all systems.
Does ATS automatically reject my resume?
Not exactly. ATS ranks and sorts applications by relevance score. The recruiter sets a threshold or manually reviews from highest-scored down. A poorly optimized resume isn't 'rejected' — it's buried at the bottom of the pile where it's unlikely to be seen. Some recruiters do review all applications, but that's the exception.
Is it cheating to optimize my resume for ATS?
No. ATS optimization means clearly communicating your qualifications using the employer's own language. It's the same thing you'd do when tailoring a cover letter or preparing for an interview — speaking the employer's language to show you're a good fit. You're not lying about your experience; you're presenting it effectively.
How many keywords should I include from the job description?
Aim to naturally incorporate 70-80% of the key terms from the job description. Focus on hard skills, tools, certifications, and role-specific terminology first. Don't keyword stuff — each term should appear in a meaningful context. Use the free ATS checker at /ats-check to verify your coverage.
Do ATS-friendly resumes look boring?
Clean doesn't mean boring. A well-formatted ATS resume uses professional typography, strategic white space, bold text for emphasis, and clear hierarchy. It looks polished and easy to read — which is exactly what recruiters want. The 'creative' resume that ATS can't parse isn't creative; it's ineffective.
Can I use the same ATS-optimized resume for every job?
No. Each job description contains different keywords and priorities. An ATS-optimized resume needs to be tailored to each application. The core structure stays the same, but you should adjust keywords, reorder bullets to prioritize relevant experience, and update your summary for each role.
What's a good ATS score?
Aim for 80% or higher keyword match. Above 70% is decent. Below 50% means significant gaps between your resume and the job description. Use SteepedResume's free ATS checker at /ats-check to see your score and identify exactly which keywords you're missing.