Check which fonts are embedded in a PDF

A PDF renders identically on every machine only if every font it uses is embedded in the file. This inspector lists each font in a PDF together with its PostScript name, font type, whether it is a subset, and whether it is embedded or must be substituted by the viewer. The font dictionaries are read locally in your browser — the file is never uploaded — so you can vet a document before sending it to a print shop or an archive.

PDF font inspector — runs on your device

How it works

Every page in a PDF carries a resource dictionary, and each font it uses appears there as a font dictionary: an object recording the PostScript name (the BaseFont entry, such as TimesNewRomanPSMT), the font type (Type 1, TrueType, or a composite Type 0 font for large character sets), the encoding, and the glyph metrics. The inspector walks these dictionaries across all pages, deduplicates them, and builds the table you see. Whether the font is embedded is decided by one concrete detail: the font descriptor either contains a FontFile, FontFile2 or FontFile3 stream holding the actual font program, or it does not.

That distinction is why non-embedded fonts make PDFs render differently across machines. A PDF's text operators do not store letter shapes — they store character codes plus the name of the font that should draw them. If the font program is embedded, every viewer draws from the same glyph outlines and the page is pixel-for-pixel reproducible. If it is not, the viewer must find the named font among the fonts installed on that machine, and when it is missing — fonts are licensed software, installed differently on every system — the viewer silently substitutes the closest match it has. The substitute's glyphs have different shapes and, crucially, different widths, so words shift, lines break in new places, and symbol or non-Latin characters can turn into wrong glyphs or empty boxes entirely.

Subsetting is the space-saving variant of embedding, and the inspector detects it by naming convention: a subset font's name carries a prefix of six uppercase letters and a plus sign, as in ABCDEF+Calibri. Only the glyphs the document actually uses are included, which is why a file using two weights of a large font family can still be small. The inspector also flags the 14 standard fonts — Helvetica, Times, Courier and their variants plus Symbol and ZapfDingbats — which every conforming viewer must render even without embedding, though archival standards like PDF/A require embedding regardless.

Worked example: a report rejected by a print shop

A 25-page annual report (3.6 MB) came back from a print shop with the note “missing fonts.” The inspector listed six fonts: BCDFGH+Calibri (TrueType, subset, embedded), BCDFGI+Calibri-Bold (TrueType, subset, embedded), CDEFGH+CambriaMath (Type 0, subset, embedded), Arial (TrueType, not embedded), Arial-Bold (TrueType, not embedded), and Helvetica (Type 1 standard font, not embedded). The culprit was a chart pasted in from another application, which had set its labels in Arial without embedding it. Re-exporting just that chart with embedding enabled and rebuilding the PDF brought the count to six embedded fonts out of six, the file grew only 62 KB — subsetting kept the added Arial glyphs small — and the print shop accepted the file.

Frequently asked questions

What does the six-letter prefix like ABCDEF+ in a font name mean?

It marks a subset font: six random uppercase letters and a plus sign are prepended to the real name, as in ABCDEF+TimesNewRomanPSMT. Only the glyphs the document actually uses were embedded, which keeps the file small.

Why does my PDF look different on another computer?

Almost always because a font is not embedded. The other machine does not have that font installed, so its viewer substitutes a different one with different glyph shapes and widths, changing line breaks and appearance.

What is the difference between an embedded font and a subset font?

A fully embedded font includes every glyph of the typeface, while a subset embeds only the glyphs the document uses. Both render reliably everywhere; the practical difference is that editing a subset PDF later can need glyphs that are not there.

Can this tool embed the missing fonts for me?

No, it only reports what is in the file. To fix a non-embedded font, re-export the PDF from the original application with font embedding enabled, which every major word processor and design tool offers.

Are the standard fonts like Helvetica safe to leave unembedded?

The 14 standard PDF fonts, including Helvetica, Times and Courier, are ones every viewer must be able to render, so text usually displays fine. Metrics can still differ slightly between substitutes, and archival profiles such as PDF/A require embedding even these.

Is my PDF uploaded to inspect its fonts?

No. The font dictionaries are read by JavaScript in your own browser and the file never leaves your device.

Related tools