ATS-friendly resume: what actually matters in 2026
I've read maybe forty "ATS-friendly resume" guides this year while building this product. Half of them tell you never use tables. The other half say tables are fine. One guide I read last week insisted on Arial. A different one the same day said Arial looks dated and use Calibri. A third pushed Times New Roman, which is, frankly, bizarre advice in 2026.
So I got tired of the noise. Every rule below gets one of three labels: matters, mostly matters, or superstition. I'm grading based on how modern parsers actually behave (Workday, Greenhouse, iCIMS, Taleo, Lever, Ashby) in 2026. Not how they behaved when most of this advice was first written, which was around 2012. A lot has changed since then. A lot of the advice hasn't.
One thing to get out of the way before we start. No ATS-friendly template turns a weak resume strong. The whole point of ATS-friendliness is just not breaking the parse, so the content can be read. If the content is mediocre, clean parsing only means more people see that it's mediocre. Fix the content first, worry about format second.
What an ATS actually does
When you upload a resume, four things happen under the hood.
First, the file gets converted to text. PDFs go through a text-extraction pass. DOCX files get parsed as XML. If the text layer is missing or broken (scanned PDFs are the usual culprit), some systems fall back to OCR, which is where quality falls off a cliff.
Second, that text gets segmented. The parser tries to identify which block is your experience, which is education, which is skills. It does this by looking for headings it recognises, plus some positional heuristics.
Third, the parsed text gets scored against the job description. Keyword overlap is the core signal. Some systems weight the match by section (a skill buried in the skills list weighs less than the same skill showing up in an experience bullet), but not all.
Fourth, the structured output gets stored. Recruiters search that database. The PDF lives on as an attachment they can open, but the search layer is built on what got parsed out.
Everything you'll read below connects to one of those four steps. If a rule protects the parse, it matters. If it doesn't, it's noise.
Rules that MATTER
Use a real text layer
If the parser can't extract your text cleanly, you're done before the race starts. Zero match, no exceptions. I've had people email me saying their resume is getting ignored by every posting and when I look at the file, it's a scanned image of what used to be a Word doc. The ATS never saw a single word.
The usual breakage is resumes exported as image-only PDFs. Scanned copies obviously. But also some exports from Canva, Figma, and occasionally InDesign, where the design gets flattened into one big image and the text layer vanishes. The fix takes ten seconds. Open your PDF, try to highlight a sentence. If text actually highlights character-by-character, you're fine. If the whole block selects like a photo, re-export.
Word, Google Docs, and most modern resume builders output a real text layer by default. This only becomes a problem when you wander off the beaten path, and honestly, if you're using Canva for a resume you probably already knew you were off the path.
Use standard section headings
Parsers recognise known headings and use them to chunk the document. "Professional Experience" works. "Experience" works. "Work Experience" works. "My Journey" and "What I've Done" often don't, which means your entire work history gets dumped into a miscellaneous bucket nobody searches.
Stick to: Experience (or one of its variants), Education, Skills, Certifications, Projects. Boring, but effective. I looked at a resume last month that had the work section titled "Adventures." I liked the energy. The parser did not. The whole block went into freeform text, and that candidate was invisible to every keyword search the recruiting team ran against the database.
Mirror keywords from the posting
Almost every ATS scoring system compares your resume text against the job description and computes a match percentage. Exact-string matching is more common than people assume. Jobscan, which specialises in this, recommends at least a 75% match rate (Jobscan, "What is a good match rate?").
If the posting says "React.js," write "React.js." If it says TypeScript, write TypeScript. Don't shorten "AWS Lambda" to "Lambda" and assume the parser will fill in the blank. It won't. We covered the vocabulary side of this in more depth at The resume keywords list for 2026.
Save as .docx or a text-layer PDF
Those two formats handle cleanly on every major platform we've tested: Workday, Greenhouse, iCIMS, Lever, Ashby, Taleo. .pages (Apple Pages) is a gamble. Image formats get routed through OCR and lose fidelity. Zip archives are just a non-starter.
A small caveat. Some older Taleo deployments still prefer .docx over PDF. Rarer in 2026 than it was five years ago, but not gone. If an application specifically asks for one format, send that one and stop second-guessing.
Put your contact info in the body, not the header
Plenty of parsers skip content inside PDF header/footer regions. So if your name, email, and phone number live inside the PDF's top margin, they may not make it into the database the recruiter searches. Not hypothetical. I've seen applications come through with completely blank contact fields in the ATS, because the designer (or the resume template the candidate picked) decided contact info looked cleaner in a header band. The resume looked beautiful. The recruiter couldn't call them. Nobody won.
Put name, email, phone, city, and LinkedIn URL at the top of the document body. Centered or left-aligned, pick whichever. Doesn't matter which, just not in the margin.
Rules that MOSTLY MATTER
Avoid multi-column layouts
Older parsers read left-to-right, top-to-bottom, which means they mix sentences from column 1 with sentences from column 2 and hand the result to the scorer as a scrambled mess. Modern parsers are smarter. Some still mangle it.
What we've seen in practice: Greenhouse, Lever, and Ashby handle two-column layouts cleanly almost every time. Workday is inconsistent. Taleo fails often enough to matter. iCIMS is genuinely random.
If you know the employer is on Greenhouse or Lever, two columns are fine. If you don't know, pick the boring single column. As a bonus, single-column resumes read faster on a phone, which is where a lot of first-pass scanning happens now anyway.
Use standard fonts
PDF text extraction is more reliable with common fonts. The weird failure mode is exotic fonts that get embedded as outlines (vector shapes rather than actual characters), which come out of the parser as garbled text or drop entirely.
Safe list: Arial, Calibri, Helvetica, Georgia, Times New Roman, Inter, Roboto. Basically anything that ships with Office, Google Workspace, or Mac by default.
The usual trap is a font downloaded from Google Fonts that your export tool doesn't embed properly. Display fonts designed for logos and headlines are another common offender.
Avoid tables for layout
Tables used structurally, as a grid to position content, can confuse parsers into reading cell by cell instead of section by section. Tables holding actual tabular data (a certification list, a grid of dates) are usually fine.
The practical failure mode is sneaky. If your dates live in a separate column from your role titles, the parser can read the date column as its own block and misattribute dates to the wrong companies. Simplest fix: put dates on the same line as the role title, or one date per line. Both work.
Keep the file name sensible
Some ATS systems show the original file name to the recruiter. Others use it as the initial title in their internal database, until somebody renames it.
Safe: FirstName_LastName_Resume.pdf. Or FirstName_LastName_SeniorEngineer.pdf if you maintain multiple versions.
Not safe, and I'm being serious, I see these in hiring queues: resume_final_FINAL_v3.pdf, recruiter-will-see-this.pdf, finalversionREAL.pdf. That shows up in the recruiter's view. It's a small signal, but every small signal counts when you're one of 400 applicants.
Rules that are SUPERSTITION
"Never use bullets" / "Only use round bullets"
Parsers handle bullets fine. Round, square, dash, arrow, pick whatever. The content after the glyph is what gets indexed.
"Resumes must be exactly one page" (for ATS reasons)
ATS parsers read however many pages you hand them. The one-page rule is a recruiter-attention rule, not a parser rule. For early-career candidates, one page is still correct, because you probably don't have enough content to fill two. Mid-career and senior, a tight second page is almost always better than a crammed one-pager.
"Use Times New Roman because ATS prefers serif fonts"
No ATS has a font preference. This is a style debate cosplaying as a technical one.
"Bold and italic break the ATS"
They don't. Every modern parser strips formatting and reads the underlying text. You can bold your role titles and italicise your company names without thinking twice. Whether you should is a taste question, not a parse question.
"You can beat the ATS with white-text keywords at the bottom"
Please don't. Two reasons. First, modern parsers normalise colour and whitespace, so the "invisible" stuff often shows up to the scorer anyway. Second, and this is the one that really matters, recruiters actually open the PDF before reaching out. If they find a white-text block stuffed with irrelevant keywords at the bottom of page two, the application gets flagged internally and, in my experience, sometimes shared around the recruiting team as a "look what this person tried" moment. This trick has been floating around for fifteen years. It never reliably worked. In 2026 it actively costs you opportunities, because the people who would have called you now know you'll try to game things, and they move on to somebody who won't.
"You need a specific template from a premium tool"
Plain, well-structured resumes made in Word or Google Docs parse perfectly. If a paid tool is worth the money for other reasons (genuinely good design polish, AI help on bullets, per-job tailoring), that's a separate conversation worth having. If the pitch is "our template beats the ATS," no template does that. Content does.
A minimum ATS-safe structure
If you want a spec to copy:
NAME (24pt, top of body, not in header)
Email · Phone · City · LinkedIn URL
SUMMARY (optional, 2 to 3 sentences)
EXPERIENCE
Job Title, Company Name, Location (dates)
- Bullet with scope and result
- Bullet with scope and result
- Bullet with scope and result
EDUCATION
Degree, Institution, Year
SKILLS
Comma-separated list mirroring the job description.
CERTIFICATIONS (if any)
Exact certification name, Issuer, Year
One column. Standard font at 10 to 11 pt. One page early-career, two if senior. PDF with a real text layer. That's the whole spec.
What actually separates good from great
Once the parse works, the difference between "ATS-okay" and "ATS loves it" is almost entirely about content, not format.
Four questions per bullet:
- Does it open with a specific verb? "Built," "led," "shipped," "cut" beat "worked on," "helped with," "assisted" every time.
- Is there a concrete result? A number, a percentage, a time delta, a user count, a revenue figure.
- Does it use words from the posting? Mirror the strings where they apply.
- Does it show scope? How many people, how much budget, how many customers, what region.
If seventy percent of your bullets answer all four, the resume reads as senior and credible. If your bullets are vague and hedged, it reads weaker than you actually are.
How to test your own resume
Three checks, fifteen minutes total.
The text check. Open your PDF. Select all. Copy. Paste into a plain text editor and read it end to end. If anything is missing or scrambled or in the wrong order, the parse is broken. Fix the export before you worry about keywords.
The keyword check. Paste your resume and a real job description at resimay.ai/try. You'll see which posting keywords show up in your resume and which don't. Aim for 75% coverage (Jobscan's benchmark), and make sure every matched keyword reflects something you've actually done.
The human check. Ask somebody who does hiring in your field to read the resume for sixty seconds and tell you what role you're pitching for. If they nail it in one sentence, your story is clear. If they hesitate, or describe you at the wrong level, your bullets aren't doing the work.
None of those three tests care about fonts or templates. They care about whether the text extracts, whether it matches, and whether the story reads cleanly to a human skimming fast.
Related reading:
- The resume keywords list for 2026, the vocabulary your bullets should mirror
- How to tailor your resume to a job description, a concrete before-and-after example
- Why we built Resimay, where tailoring sits inside the larger job-search loop
Ready to run the check on your own resume? Start at /try. Free, no signup, under a minute.
Paste a job description and a resume at /try. No signup, tailored resume in under a minute.