Font Auditor
Check your PDF's fonts before you publish or compress it.
Some fonts in a PDF cause text to disappear, garble, or fail screen reader software. This tool reads your PDF, lists every font it uses, and tells you which ones are safe and which to replace before sharing.
Upload a PDF
Drop a file, click "Audit fonts", read the report. No account needed.
Why fonts matter for accessibility
Most people think of fonts as a visual choice. In a PDF, fonts are also data. When you save a PDF, the font you used has to either be packaged inside the file or referenced by name for the reader to find on its own.
If the font is packaged inside the file (embedded), every reader sees the same letters and a screen reader can turn each letter into spoken sound. If the font is only referenced by name, the PDF reader has to substitute. The substitute may look identical on screen. But it may not match the original character map, which means the text becomes garbled when a screen reader announces it or when someone copies it out.
When a PDF goes through a compressor, some compressors strip embedded fonts to save space. They assume the reader can substitute. That assumption is false for students using screen readers. PDF/UA-1, the international accessibility standard, requires every font to be embedded.
The Font Auditor reads your file and tells you whether each font inside is safe (embedded with a Unicode mapping) or risky (referenced by name, partially embedded, or missing characters).
What this tool checks
The tool flags fonts that are not embedded in your PDF.
If a font is referenced by name but the font file is not stored inside the PDF, every reader has to guess. Some readers substitute. Many compressors strip the reference. Screen readers may read garbled text. PDF/UA-1, the international accessibility standard, requires every font to be embedded.
The tool warns when an embedded font is missing characters.
Sometimes a PDF says it embeds a font but only stores a few of its letters. If the document uses a character outside that subset, the reader sees a blank or a wrong letter. The auditor counts the embedded glyphs and warns when a subset looks suspiciously small.
The tool tells you which fonts to use instead.
When a font is unsafe, the tool names a specific replacement that fixes the problem. For example, if your PDF uses Helvetica without embedding it, the tool suggests Arial or Source Sans 3, both of which embed cleanly in every common authoring tool.
How it works
- You upload a PDF. The file is held in memory and processed there. We do not save it to disk.
- The tool reads every font reference. It looks at every page and every embedded form, then checks each font against accessibility and compression rules.
- You get a report. The report shows every font, its status, and exactly what to do if it needs fixing.
Privacy and limits
What to do with the report
If your file scores PASS, your fonts are in good shape. Compression with a structure-aware tool will not break them.
If your file scores REVIEW or FAIL, the report names which fonts to replace. The fix happens in the program you used to make the PDF (Microsoft Word, Adobe InDesign, LaTeX, LibreOffice, and so on). Re-export the PDF after replacing the font and run the audit again.
If you are not sure how to fix it, contact us through the main EquitableDocs contact form. We help students and institutions fix accessibility issues at no cost.
Learn more about fonts and accessibility
Click any heading below to expand. These sections explain the rules the Font Auditor applies and give specific guidance for the tool you use to make PDFs.
The four kinds of fonts in a PDF
Every font you see in a PDF is one of four kinds. Understanding the differences helps you choose better at the source.
| Kind | Common name | Embedded? | Verdict |
|---|---|---|---|
| Standard 14 PostScript reference | Helvetica, Times-Roman, Courier, Symbol, ZapfDingbats and bold and italic variants | No, name only | Unsafe. PDF/UA-1 fails. Compression makes it worse. |
| Type 1 with FontFile | Older Adobe PostScript fonts | Yes, as FontFile | Acceptable but ageing format. |
| TrueType subset with FontFile2 | Modern Microsoft Word, InDesign, LaTeX, Pages exports | Yes, as FontFile2 | Safe. The default for most modern tools. |
| OpenType with FontFile3 | Modern Adobe fonts, web fonts, CJK fonts | Yes, as FontFile3 | Safe. |
The auditor flags the first kind as BROKEN. It flags the others as SAFE if they have a Unicode mapping (a /ToUnicode CMap) and a reasonable subset coverage. A Type 3 font (a procedural font built from drawing instructions) is also flagged, because Type 3 has no Unicode mapping and screen readers cannot read it.
How common compressors handle fonts
Compression is where PDFs that look fine become unreadable. Each compressor treats fonts differently.
| Tool | Setting | Effect on fonts |
|---|---|---|
| Ghostscript | -dPDFSETTINGS=/printer or /prepress | Preserves embedded fonts. Safe for accessibility. |
| Ghostscript | -dPDFSETTINGS=/screen or /ebook | Strips Standard 14 embeds, may drop other subsets. Unsafe. |
| Adobe Acrobat Pro | Save As Other > Reduced Size PDF | Preserves embedded fonts. Safe. |
| Adobe Acrobat Pro | Save As Other > Optimized PDF | Safe if "Embed all fonts" stays on and "Do not embed" list is empty. |
| Adobe Acrobat Pro | Save As Other > Compressed PDF | Aggressive. Can strip embeds. Avoid for accessibility. |
| macOS Preview | File > Export > Reduce File Size | Drops embedded fonts on documents above 1 MB. Avoid. |
| Smallpdf, ILovePDF, online compressors | Any setting | Mostly run Ghostscript /screen or worse. None preserve PDF/UA. Avoid. |
| Microsoft Word | Print to PDF (any "reduce" option) | Re-prints the document. Produces a fresh untagged PDF. Catastrophic. |
| Google Drive | Right click > Compress PDF | Inconsistent internal pipeline. Avoid. |
Fonts that survive compression
Choose from this short list at the source. All are widely supported, freely licensed where noted, and embed cleanly across every common authoring tool.
| Role | Recommended | Notes |
|---|---|---|
| Sans-serif body and headings | Source Sans 3, Inter, Lato, IBM Plex Sans, Noto Sans | Open Font License. Broad Unicode coverage. Strong screen rendering. |
| Where you wanted Helvetica | Arial (system, Windows) or TeX Gyre Heros (LaTeX) | Subset and embed cleanly. Visually almost identical. |
| Serif body | Source Serif 4, EB Garamond, Lora, TeX Gyre Pagella | All subset cleanly. |
| Where you wanted Times-Roman | Times New Roman (system) or TeX Gyre Termes | Visually identical. |
| Monospace (code, tables) | JetBrains Mono, Source Code Pro | Ligatures off-by-default, which screen readers prefer. |
| Mathematics (LaTeX only) | Latin Modern Math, STIX Two Math | Both ship MathML mappings. |
| Indic and other Asian scripts | Noto Sans Devanagari, Noto Sans Tamil, Noto Sans Bengali, etc | Use only the scripts your document needs. |
Avoid these PostScript names by their exact spellings: Helvetica, Helvetica-Bold, Helvetica-Oblique, Times-Roman, Times-Bold, Times-Italic, Courier, Courier-Bold, Symbol, ZapfDingbats. Visually identical replacements (Arial, Times New Roman, Courier New) embed cleanly. The names matter, not the look.
How to embed fonts in your design tool
The fix for almost every BROKEN finding is a setting in the tool you used to make the PDF. Here is the specific path for each common tool.
Adobe InDesign
File > Export > Adobe PDF (Print or Interactive). In the export dialog, go to Advanced > Fonts and set "Subset fonts when percent of characters used is less than: 100". This forces every used font to embed as a subset. Use the dedicated PDF/UA preset shipped with InDesign 2024 and later, or the "Smallest File Size" preset modified with the above setting.
Avoid the PDF/X-1a:2001 preset for accessibility work. That preset converts text to outlines (each letter becomes a path), which means the structure tree has no text and screen readers cannot read it.
Microsoft Word
File > Save As > PDF. Click Options, tick "Document structure tags for accessibility". Under File > Options > Save, tick "Embed fonts in the file". Word's Save As PDF embeds TrueType subsets by default when these are on.
Never style any text with the literal font name "Helvetica" in Word. Word respects the name and may not embed. Pick Arial, Calibri, Aptos, or Source Sans instead. Avoid Print to PDF in any flow that needs accessibility; it produces an untagged PDF.
LibreOffice and OpenOffice
File > Export As > Export As PDF. In the General tab, tick "Universal Accessibility (PDF/UA)". LibreOffice always embeds fonts. Defaults are accessibility-safe on a clean source document.
LaTeX
Use lualatex or xelatex with \usepackage{fontspec} and a TrueType or OpenType font, for example:
\usepackage{fontspec}
\setmainfont{Source Serif 4}
\setsansfont{Source Sans 3}
\setmonofont{JetBrains Mono}
Both engines always subset and embed. Avoid pdflatex with the historical Computer Modern Type 1 fonts unless you also load cm-super or lmodern. For mathematics, add \usepackage{unicode-math} and \setmathfont{Latin Modern Math}.
Affinity Publisher
File > Export. Choose the "PDF (for export)" preset rather than any "PDF/X" preset. Under PDF Options > More, leave "Convert all text to curves" unticked (otherwise text becomes silent paths and screen readers cannot read it). Tick "Embed fonts" and "Subset all fonts".
Apple Pages
File > Export To > PDF, image quality "Best". Pages embeds TrueType fonts by default. The result is a tagged PDF on macOS 14 and later. As with Word, never style text with the literal name "Helvetica"; Pages may substitute aggressively.
Pandoc
Pandoc is a converter, not a typesetter. Pandoc plus lualatex is the safest path for accessible PDFs. Pandoc plus weasyprint also works for simpler documents. Avoid Pandoc plus wkhtmltopdf; it produces no structure tree at all.
QuarkXPress
File > Export > Layout as PDF. In the PDF Style settings, ensure "Subset fonts below 100% of glyphs" is checked, and confirm "Include Logical Structure (PDF Tags)" is on. Use the "PDF/UA-1" output preset from QuarkXPress 2023 onwards.
Google Docs
File > Download > PDF Document. Google Docs embeds fonts when you download as PDF. The result has limited PDF tagging compared with Word or InDesign. For documents that must meet PDF/UA-1, re-author in Word or InDesign rather than relying on a Google Docs export.
Common mistakes that break fonts
- Using the font picker to select "Helvetica" by name. On most platforms this is a Standard 14 reference, not an actual font file. Pick Arial, Source Sans 3, or any other TrueType font instead.
- Converting text to outlines or paths during export. The text looks identical but the underlying letters are shapes, not characters. Screen readers and search find nothing.
- Using Print to PDF on a tagged source. Print to PDF strips the structure tree. The result has no headings, no alt text, no reading order. Always Save As PDF or Export to PDF.
- Compressing a finished PDF with an online tool. Most online compressors strip embeds. Use the original tool's "save smaller" option or Adobe Acrobat's "Reduced Size PDF" instead.
- Embedding only the characters used today. If you re-edit the file later and add characters that were not in the original subset, they may render as missing glyphs. Some tools let you choose "embed full font" rather than "subset"; for short documents this is sometimes safer.
Other tools in the EquitableAccess Suite
Four other tools, each one fits a different job. The Compressor is the natural next step once your fonts are clean.
Make your PDF smaller without breaking access.
Refuses to compress files where compression would break a font. Run this once your Font Auditor verdict is PASS.
AccessMitraSend a PDF; receive an accessible PDF, Word file, and EPUB.
Full remediation, not just a fonts check. Most files arrive in minutes; complex ones within 72 hours.
AltBridgeDescribe images with a subject expert.
Send your subject expert a private link. They write a short note next to each figure. You get one CSV.
Document Accessibility CheckFind out what is wrong with your PDF.
Word report, defects CSV, JSON summary, in under a minute.