ResumeAtlas

Resume formats · original research

Which fonts are ATS-friendly? We tested 20

The font does not matter. We took one resume, rendered it in 20 fonts (18 ordinary text fonts and 2 symbol fonts as controls) and read every file with five different text extractors. Every font, in every extractor, produced the same words, the same sections and the same contact details. What did break the resume was not a font at all: adding 2 points of letter-spacing to the headings was enough to stop 4 of 5 extractors recognising any section, because “EXPERIENCE” leaves the file as “E X P E R I E N C E”. Use whichever readable font you like at 10 to 11 points, set letter-spacing to zero, and if you want to be sure, test your own file free.

Last updated: September 20, 2026

What font should an ATS resume be?

Any font that is real text. An applicant tracking system never looks at the shapes of the letters; it reads the text layer inside the PDF or Word file, which records which characters you typed and where they sit on the page. Arial, Calibri, Cambria, Garamond, Georgia, Times New Roman, Verdana, Segoe UI: all of them write the same characters into that layer. The advice to “use Arial or Calibri” is fine advice for a human reader and irrelevant to the software. The things that actually change what a parser receives are layout (side-by-side columns), letter-spacing on headings, and text saved as an image. None of those is a font.

Does the font change what a parser reads?

The same resume, the same single-column layout, one font per row, read by the ResumeAtlas parser. Characters is the count of non-space characters recovered; the reference row is Arial with 1165.

Parse result for one resume rendered in each font
FontCharactersSections foundName / email / phoneParse score
Helvetica (pdf built-in)1,1653 of 3Yes / Yes / Yes86
Times Roman (pdf built-in)1,1653 of 3Yes / Yes / Yes86
Courier (pdf built-in)1,1653 of 3Yes / Yes / Yes86
Arial1,1653 of 3Yes / Yes / Yes86
Calibri1,1653 of 3Yes / Yes / Yes86
Times New Roman1,1653 of 3Yes / Yes / Yes86
Georgia1,1653 of 3Yes / Yes / Yes86
Verdana1,1653 of 3Yes / Yes / Yes86
Garamond1,1653 of 3Yes / Yes / Yes86
Tahoma1,1653 of 3Yes / Yes / Yes86
Trebuchet MS1,1653 of 3Yes / Yes / Yes86
Segoe UI1,1653 of 3Yes / Yes / Yes86
Candara1,1653 of 3Yes / Yes / Yes86
Consolas1,1653 of 3Yes / Yes / Yes86
Courier New1,1653 of 3Yes / Yes / Yes86
Comic Sans MS1,1653 of 3Yes / Yes / Yes86
Impact1,1653 of 3Yes / Yes / Yes86
Bahnschrift1,1653 of 3Yes / Yes / Yes86
Webdings (symbol font, control)1,1653 of 3Yes / Yes / Yes86
Wingdings (symbol font, control)1,1653 of 3Yes / Yes / Yes86

18 of 18 text fonts scored exactly the same as Arial; 18 of 18 passed with every section and contact field found. Shaded rows are the symbol-font controls. Data generated 2026-09-20.

Across the five extractors the story is the same: pdf.js read all three core headings in 20 of 20 fonts; Xpdf read all three core headings in 20 of 20 fonts; pypdf read all three core headings in 20 of 20 fonts; pdfminer.six read all three core headings in 20 of 20 fonts; PyMuPDF read all three core headings in 20 of 20 fonts.

What actually breaks: letter-spacing, not the font

Many templates, Canva's in particular, style headings as small capitals spread out with tracking. The file stores that as a spacing value, and the exporter places each letter as its own positioned fragment. Some extractors merge the letters back into a word; others emit them with a space between each one, and “E X P E R I E N C E” matches no list of section names.

The Arial resume with letter-spacing added, read by five extractors
Same Arial resume withpdf.jsXpdfpypdfpdfminer.sixPyMuPDF
No letter-spacing (reference)3 of 3 headings3 of 3 headings3 of 3 headings3 of 3 headings3 of 3 headings
headings letter-spaced 2pt0 of 3 headings4 spaced-out lines2 of 3 headings3 of 3 headings0 of 3 headings4 spaced-out lines0 of 3 headings2 spaced-out lines
headings letter-spaced 4pt0 of 3 headings4 spaced-out lines2 of 3 headings3 of 3 headings0 of 3 headings4 spaced-out lines0 of 3 headings4 spaced-out lines
whole document letter-spaced 2pt0 of 3 headings28 spaced-out lines2 of 3 headings3 of 3 headings0 of 3 headings6 spaced-out lines0 of 3 headings24 spaced-out lines

“Headings” counts EXPERIENCE, EDUCATION and SKILLS found as whole words. Extractors: pdf.js (browser-based tools, ResumeAtlas); Xpdf pdftotext; pypdf (Python); pdfminer.six (Python); PyMuPDF (MuPDF). Data generated 2026-09-20.

With 2 points of spacing on the headings alone, pdf.js, Xpdf, pdfminer.six, PyMuPDF lost the headings while pypdf read them correctly. Read without repair, the ResumeAtlas parse score fell from 86 to 62; spacing the whole document dropped it to 40 and lost the email address as well. The ResumeAtlas checker now collapses spaced-out lines back into words before it looks for headings, which takes the 2-point file back to 86, but the whole-document case still fails and you cannot count on an employer's system doing the repair at all. On the 28 real Canva templates we tested earlier the same pattern holds: pdf.js produced spaced-out lines on 16 of 28, Xpdf produced spaced-out lines on 0 of 28, pypdf produced spaced-out lines on 28 of 28, pdfminer.six produced spaced-out lines on 0 of 28, PyMuPDF produced spaced-out lines on 5 of 28. You do not know which extractor an employer's system uses, so the safe setting is zero. The full Canva results are on the Canva parse test.

Decorative and symbol fonts

The two symbol-font controls (Webdings and Wingdings) are the surprise in the table: the parser recovered the same 1165 characters and every section from them, in all five extractors. That is because the file still records the letters you typed; the font only changes the picture drawn for each one. A recruiter opening the PDF sees dingbats. So a decorative font is a problem for the human who reads the resume after the software has passed it on, not for the software. The same is true of Impact and Comic Sans: fine for the machine, a poor choice for the person. One caveat: this holds for files whose exporter writes a proper text layer, as ours does; a design tool that flattens text into shapes produces no text at all, whatever the font.

What to do

  1. Pick for the reader, not the parser. A common text font at 10 to 11 points for body text and 14 to 18 for your name. Calibri, Arial, Cambria, Garamond and Georgia are all safe because every font is safe; choose the one you find cleanest.
  2. Set letter-spacing to zero on headings and the contact line. This is the setting that produced every failure in this test. In Canva it is the “Spacing” control under text settings; in Word it is Font, Advanced, Character Spacing.
  3. Keep the layout single-column. Layout, not typography, is what separates the templates that parse from the ones that do not; the mechanisms are measured on the parsing benchmark and the format guide.
  4. Check the export, not the template. Open the PDF, select all, copy, paste into a plain text editor. If the headings come out with spaces between the letters, so will the parser's copy. Or upload it to the free ResumeAtlas checker and read back which sections and fields it recovers.

If the resume you have is already in a spaced-heading, multi-column template, the quickest fix is to rebuild the same words in a plain layout: the ResumeAtlas converter does that from the PDF, and the ATS template guide has single-column starting points in a plain font.

Method and limits

  • Sample. One resume (the public ResumeAtlas hub template text), rendered to PDF once per font with the same layout the site uses for its own downloads. Fonts: pdf.js built-ins, the standard Windows font set, and two symbol fonts as negative controls. Three extra files add letter-spacing to the Arial version (2pt on headings, 4pt on headings, 2pt on everything).
  • Extractors. pdf.js (browser-based tools, ResumeAtlas); Xpdf pdftotext; pypdf (Python); pdfminer.six (Python); PyMuPDF (MuPDF). Scoring: spacedLines = lines that are runs of single characters separated by single spaces; headingsIntact = how many of EXPERIENCE, EDUCATION, SKILLS appear as whole words (0-3); email/phone use the ResumeAtlas analyzer's patterns; chars = non-whitespace characters.
  • Parse score. The ResumeAtlas checker rules on the pdf.js text: section detection, name/email/phone extraction, stress checks.

What this test does not prove

  • Commercial ATS products. These are five open-source extractors; which one a given ATS uses is not public.
  • Optical character recognition. All files here have a text layer; scanned images were not tested.
  • Font size, weight and colour were not varied; only the typeface and the letter-spacing were.
  • Word (.docx) exports of these fonts were not tested here; the PDF text layer is what was measured.

Data generated 2026-09-20 (parser) and 2026-09-20 (extractor comparison). The generator and scoring scripts are in the ResumeAtlas repository. Free to cite with attribution.

FAQ

What is the best font for an ATS resume?

Any ordinary text font. All 18 text fonts we tested, from Arial and Calibri to Garamond, Georgia, Comic Sans and Impact, produced the identical text layer and the identical parse result. Pick the one a person will find easiest to read at 10 to 11 points; the software does not have a preference.

Is Calibri (or Garamond, or Times New Roman) ATS-friendly?

Yes. Each of them extracted exactly the same 1165 characters as Arial in all five extractors we ran. The question people should be asking is not which font but whether the heading has letter-spacing applied to it.

Does font size matter for an ATS?

Not for extraction. We did not vary size in this test, and there is no mechanism by which a smaller size loses characters from the text layer. It matters for the person who reads the resume afterwards: 10 to 11 points for body text, 14 to 18 for the name.

Why do my headings come out as spaced-out letters?

Because the template applies letter-spacing (tracking) to them. In our test, 2 points of extra spacing on headings alone was enough for 4 of 5 extractors, including the one browser-based tools use, to split each heading into single letters. Set the letter-spacing on headings and contact lines to zero; leave the font as it is.

Can an ATS read a resume in a decorative or symbol font?

In this test the text layer survived even under Webdings and Wingdings in all five extractors, because the file still records the letters you typed. The person opening the PDF sees symbols. Decorative fonts are a readability problem for humans, not a parsing problem for software, as long as the text is real text and not an image.

Not sure what a parser gets from your file?

Upload it and see the sections and contact fields a parser recovers, free, no signup. If the layout is the problem, the converter rebuilds the same content in a plain single-column format.