People arrive here asking four different questions, and the file answers them to very different degrees. This is what is actually recoverable.
A PDF tries to look identical everywhere. Fonts make that possible, until they don’t. Some files pack the whole typeface inside. Others include only the characters they needed. And a few just point to a font by name and hope your computer has something close. That’s why one document looks perfect on your laptop, but the same file on another machine feels… off.
The quick version: embedding is reliable, subsetting keeps size small, and referencing is a roll of the dice. This tool helps you see what the file actually declares so you can make better choices, match branding, fix exports, or just satisfy your curiosity.
Embedded vs. subsetted vs. referenced
A PDF can include fonts in three common ways:
- Embedded (full): the complete font program is inside the file. This makes the PDF heavier but ensures consistent display and printing.
- Subsetted: only the glyphs actually used in the document are included. This keeps size down but can make font names a little weird (e.g., “ABCDEF+Inter-Regular”).
- Referenced: the PDF only points to a font by name. Your viewer substitutes a local match (or a default fallback) at display/print time.
Why does this matter? If you’re trying to rebuild a document, match branding, or extract text, knowing exactly which fonts are present, and whether they’re embedded, can save a ton of trial and error.
What our detector looks for
Here’s how we figure it out without wasting your time:
- If the "pdffonts" utility (from Poppler) is available on the server, we use it to get a structured table of fonts, encoding, and embedding info.
- If pdffonts is not installed, we read the font dictionaries inside the PDF itself in pure PHP, which also reaches fonts stored in compressed object streams.
- If both of those come back empty, we scan the raw bytes of the file for /BaseFont and /FontName tokens as a last resort.
- Every one of those paths strips the six-letter subset prefix (for example “ABCDEF+”), so what you read is the family name.
This gives you quick, useful insight even when advanced tools aren’t installed.
Why the same font shows different names
Spot a funky name like “ABCEFG+Inter-SemiBold”? That six-letter prefix signals a subset. It’s still Inter, just a trimmed version with only the glyphs the PDF needed. We show the readable family so you don’t have to squint.
Why the font name starts with six capital letters and a plus sign
Those six letters are a subset tag, not part of the typeface name. When a PDF embeds only the glyphs the document actually uses instead of the whole font, the producing software has to give that trimmed copy a name nothing else will collide with, so it prefixes the real family with six random capitals and a plus sign. OKAJSW+HelveticaNeueLTStd-Roman is Helvetica Neue LT Std Roman. The prefix carries no information and is regenerated every time the file is exported, so the same document exported twice will show two different prefixes for the same font.
Here is a real one. The IRS Form W-9 (Rev. March 2024), downloaded straight from irs.gov, stores six subsetted text fonts. This is what the file holds and what the detector on this page reports for it.
| Name stored in the PDF |
Family reported here |
Where it is used |
| OKAJSW+HelveticaNeueLTStd-Roman | HelveticaNeueLTStd-Roman | Body text |
| MBEHQA+HelveticaNeueLTStd-Bd | HelveticaNeueLTStd-Bd | Bold labels |
| FEOMWO+HelveticaNeueLTStd-It | HelveticaNeueLTStd-It | Italic notes |
| PVUZGU+HelveticaNeueLTStd-BdIt | HelveticaNeueLTStd-BdIt | Bold italic |
| ZKUMQA+HelveticaNeueLTStd-BlkCn | HelveticaNeueLTStd-BlkCn | The condensed form number |
| MCXSQA+ITCFranklinGothicStd-Demi | ITCFranklinGothicStd-Demi | Section headings |
The detector actually returns nine families for that file, not six. The extra three are Helvetica, HelveticaLTStd-Bold and ZapfDingbats, and none of them appear in a single line of printed text: they sit in the form's default resources and are used to draw whatever you type into the fillable boxes and the check mark in the checkbox. Any PDF with form fields behaves the same way, which is why a font list can be longer than the fonts you can see on the page.
Can I search for a font by its subset prefix?
No, and it is worth knowing why before you waste time on it. The prefix is generated per export, so searching for OKAJSW returns nothing useful and two copies of the same document will carry different prefixes. Search for the part after the plus sign instead. If that part is a PostScript name such as HelveticaNeueLTStd-Roman, the family is Helvetica Neue LT Std and the weight is Roman, which is what a foundry or a font marketplace will list it under.
Licensing and usage
Finding a font here doesn’t mean you can freely reuse it. If you plan to edit, republish, or embed the typeface elsewhere, make sure you’re licensed for that. Many commercial families have different rules for desktop, web, and apps.
Troubleshooting: when nothing shows up
- Scanned PDFs: no text layer, no fonts. Run OCR or re‑export as a real text PDF and try again.
- Subset names: odd prefixes are normal; it’s the same family trimmed down.
- Substitution: when nothing’s embedded, the viewer may swap in a local font. We show what the file asks for, not the fallback you see.
- Cranky PDFs: broken objects occasionally hide font info. Try saving from another app or exporting again.
Practical workflow: matching a brand style
- Grab a brand/reference PDF.
- Check which families pop up (Inter, Roboto Slab, etc.).
- Make sure you’re licensed, or pick solid open‑source substitutes.
- Match weights and styles so headings and body text feel right.
- Mock a short page in your editor.
- Export and recheck. If the fonts embed, you’re set.
Embedded font types at a glance
You might see these technical labels in the wild:
- Type 1 / CFF: classic PostScript outline font format (still common in older assets).
- TrueType: widely supported outline format; often appears as subset.
- OpenType (CFF/TrueType): container that can hold either CFF or TrueType outlines plus advanced features.
- CIDFonts: mechanism for large character sets (CJK languages, etc.).
Tips to ensure fonts embed correctly
- Prefer “Export as PDF” over “Print to PDF”: it preserves the real text layer.
- Skim export options: enable “Embed fonts” and reasonable subsetting.
- Watch licenses: some families restrict embedding; pick alternatives if needed.
- Avoid flattening unless you must: outlines and bitmaps erase font info.
How to check the font size in a PDF
Font size is stored per text run, not for the document as a whole, so there is no single number to report. Open the file in Acrobat, choose the edit text tool, and click the line you care about: the size appears in the formatting panel. In Preview on a Mac, or in most PDF editors, selecting the text shows the same value. If the page is a scan, no size exists at all because the characters are pixels.
How to check if fonts are embedded in a PDF
In Acrobat, open File then Properties then the Fonts tab. Entries marked Embedded or Embedded Subset are inside the file and will print identically anywhere. An entry with no such marker is only referenced by name, so the viewer substitutes whatever it has locally, which is the usual cause of a document that reflows or looks wrong on someone else's machine. On the command line, the pdffonts utility from Poppler prints the same information as an emb column.
How do you find the font in a scanned PDF?
You cannot read it from the file, because a scan contains an image of the text rather than any font program. The practical route is visual: crop a clean, high contrast sample of the lettering, run it through a visual font identification service, then confirm the match by comparing distinctive characters such as a lowercase g, a capital R, and the numerals. Running OCR first will add a text layer, but that layer uses whatever font the OCR engine writes with, not the original.
FAQ
Why is the name unfamiliar?
Likely a subset or a PostScript label. “ABCDXY+Inter-Regular” still means Inter, just a trimmed subset.
Can I pull the font out of the PDF?
Some tools can extract subsets, but licensing often forbids reuse, and subsets are incomplete anyway. Not great for real editing.
The PDF obviously has type, but nothing shows, why?
It’s probably a scan or the text was flattened to shapes. No font programs inside means nothing to detect.
Will this change the PDF?
Nope. We analyze a temporary copy, then delete it. Your original stays untouched.
From fonts to better documents
Once you know what the file is actually using, you can match brand type, avoid weird fallbacks, and pick legal substitutes when needed. If you’re prepping a printable pack, merge PDFs into one file first. Curious about size? count pages or count words. And if this PDF is study material, turn it into a quick quiz: it really helps the content stick.
When a font behaves oddly, the program that wrote the file is usually the reason. The PDF metadata viewer shows the producer string, which tells you whether the document came out of a word processor, a browser or a design tool. If that producer string is something you would rather not ship to a client, the PDF metadata remover strips it out along with the author name and both timestamps.