PDF Font Checker
Find font families used by visible text and inspect font resources and embedded font-file signals in your PDF.
Check whether your PDF fonts are portable
Font problems can change line breaks, symbols and print output when a document is opened on another device.
Observed font families
List font-family names exposed by text content across the inspected pages, with subset prefixes cleaned when possible.
Font resource inventory
Compare visible font families with BaseFont resources and embedded FontFile references stored in the PDF.
Scanned-document signal
A page with images but no exposed text fonts may be a scan or may contain text converted to vector outlines.
How font detection works
Setpdf reads page text styles and operator lists with PDF.js, then inspects structural BaseFont and FontFile references. For very large PDFs it samples pages evenly across the document. Font subset prefixes such as ABCDEF+ are removed from displayed family names when detected.
Font-checking limitations
PDFs can reuse, subset, encode or alias fonts in complex ways. A FontFile count is a structural signal, not proof that every character has a usable embedded glyph. Text converted to paths has no searchable font resource, and scanned pages normally expose images rather than fonts.
Tools for font and text problems
Choose a conversion, OCR or compression workflow based on whether the PDF contains live text, scanned pages or missing embedded font resources.
PDF font questions
What does an embedded PDF font mean?
An embedded font program travels inside the PDF so a reader does not need the same font installed locally. A subset may contain only the glyphs used in the document.
Why is a six-letter prefix shown before some font names?
Names such as ABCDEF+Roboto commonly indicate a font subset. The prefix separates embedded subsets that may contain different glyph selections.
Why are no fonts detected in a PDF that visibly contains text?
The pages may be scanned images, the letters may have been converted to vector paths, or the font encoding may not expose a usable family name to the browser parser.