
Fonts in PDFs Explained: Embedding, Subsetting and Repair
Why does a PDF look perfect on one device and broken on another? The answer is almost always fonts — specifically, whether they're embedded.
Open a PDF on your computer and it looks perfect. Send it to a colleague and suddenly the font is wrong — maybe a generic serif has replaced the carefully chosen typeface, or text is shifted and overflowing. This is one of the most common and least explained PDF frustrations. The root cause is almost always fonts, and specifically whether the font data is actually stored inside the PDF file. This guide explains the three ways fonts can exist in a PDF, what goes wrong when they're missing, and how to fix it.
The Three States a PDF Font Can Be In
Every font in a PDF is in one of three states: fully embedded, subsetted/partially embedded, or not embedded at all. Understanding the difference is the key to everything else.
Fully embedded means the complete font file — every glyph, every weight, every character — is stored inside the PDF. Open it on any device, in any country, and it renders identically. The file is larger because it carries the font data with it, but it is self-contained. Professional print shops require fully embedded fonts precisely because they can't control what fonts are installed on the output device.
Subsetted (partially embedded) is the most common state for fonts in documents produced by word processors, design tools, and web-to-PDF converters. Instead of bundling the entire font file, the PDF stores only the glyphs that actually appear in the document. A report using 612 characters of a typeface that has 3,400 glyphs in total will only embed those 612 characters. This meaningfully reduces file size — a major win when you're dealing with the Gmail attachment ceiling of 25MB (and the practical ceiling is often lower, around 12–18MB, due to encoding overhead).
Not embedded means the PDF contains only the font name. When the PDF is opened, the viewer looks for that font on the local system. If it finds it, great. If not, it substitutes a similar-looking font — usually without telling you. This is where visual inconsistency creeps in.
What Happens When a Font Isn't Embedded
When a font is missing from the PDF and not installed on the device, every PDF viewer has its own fallback logic. Adobe Acrobat Reader uses a font called Adobe Sans MM (a Multiple Master font it can morph to approximate almost anything). Chrome's built-in viewer falls back to system fonts. Firefox uses its own defaults.
The substitution usually gets the general shape right — serif for serif, monospace for monospace — but metrics are rarely identical. Different fonts have different character widths, different baseline positions, different line spacing. A heading that fits neatly on one line may wrap to two lines on a different device. Table cells overflow. Columns drift out of alignment.
This is also why the same PDF can render visibly differently between Chrome, Edge, and Firefox — each browser's PDF renderer makes slightly different substitution choices. Microsoft Edge alone has 357 tagged support questions about PDF viewing inconsistencies, and a significant portion trace back to font handling rather than viewer bugs per se.
For documents intended only for screen reading and never for editing or reprinting, non-embedded fonts often go unnoticed — if the common fonts (Arial, Times New Roman, Helvetica, Courier) happen to be installed on every target device. Where it reliably breaks is with custom brand fonts, licensed typefaces, and system fonts that vary between operating systems (like San Francisco on macOS, which doesn't exist on Windows).
Why Subsetted Fonts Break Text Editing
Here is the specific problem that catches people off guard when they try to edit a PDF: a subsetted font is missing most of its characters.
If a PDF was created from a Word document that used Garamond and the only characters embedded are the ones in the original text, the font subset in the PDF contains exactly those glyphs. The PDF internally stores them under internal codes, not always in a way that maps cleanly to the full Unicode character set.
When you open that PDF in an editor and try to add a new sentence using Garamond, the editor faces a problem. The font in the PDF is labeled "Garamond" but is actually a stripped-down subset that may not contain the glyphs you're about to type — especially punctuation marks, numerals, or accented characters that didn't appear in the original. The editor has a few options: refuse to use the font for new text, silently fall back to a different font, or (in poorly implemented tools) insert characters that render as blank or garbled.
This is why adding text in a PDF editor often produces text in a slightly different weight or typeface than the surrounding text. It's not a bug in the editor — it's an inherent limitation of subsetted fonts. The only real fix is to either:
- Have the full font file available and re-embed it
- Accept a different-but-similar font for the added text
- Convert the document back to an editable format, edit it there, and re-export
Practically, this is one of the cleaner reasons to use a dedicated free online PDF editor that handles font encoding transparently rather than silently substituting and hoping you don't notice.
Font Licensing: Why Some Fonts Can't Be Embedded
Fonts are software, and font software is licensed. Most font licenses permit embedding in PDFs — specifically, they allow what the font specification calls editable embedding or at minimum print/preview embedding. But not all do.
Some commercial fonts restrict embedding entirely. Others permit only print-and-preview embedding, which means the PDF viewer can render the font but editing tools are not allowed to extract the font data for modification. When a PDF is created from a document using a restricted font, the generating software may refuse to embed it, skip embedding silently, or substitute an unrestricted alternative.
The OpenType specification includes embedding permission bits in the font file itself (the fsType field in the OS/2 table). Values of 0x0002 indicate the font is restricted and cannot be embedded at all. Values of 0x0004 permit print/preview only. Values of 0x0008 permit editable embedding. Most fonts you'll encounter — particularly anything from Google Fonts or free font repositories — use 0x0000, meaning unrestricted embedding is permitted.
If you receive a PDF where an unusual typeface is rendering in substitution and you can't source the original font, this licensing constraint may be the reason the original PDF was created without the font embedded. There's no legal workaround — you work with a replacement font or source a properly licensed alternative.
How to Check Whether Fonts Are Embedded
The standard method is through Adobe Acrobat (free Reader version works): File → Properties → Fonts tab. This shows every font referenced in the PDF, along with its type (Type 1, TrueType, OpenType CFF, etc.) and its embedding status: Embedded, Embedded Subset, or no label (meaning not embedded).
In the fonts list you'll see entries like:
| Font Name | Type | Embedding |
|---|---|---|
| Calibri | TrueType | Embedded Subset |
| ArialMT | TrueType | (blank — not embedded) |
| Garamond-Regular | Type 1 | Embedded |
Embedded Subset is the most common for body text produced by Word or Google Docs. No label means you're depending on the viewer's system fonts. Fully Embedded is typical for fonts that were explicitly embedded during PDF creation, or fonts in professionally prepared print files.
If you don't have Acrobat, PDF-analyzing command-line tools like pdffonts (part of the Poppler suite, free on all platforms) give the same information. Running pdffonts yourfile.pdf produces a table showing name, type, encoding, and whether the font is embedded and subsetted.
Fixing Missing and Broken Fonts
Missing fonts are the easier problem. If you have the font file, you can re-embed it by printing the PDF to a new PDF using a PDF printer with "embed all fonts" enabled, or by opening the original source document and re-exporting with embedding turned on. In Word and Google Docs, embedding is often a setting buried in export options.
If you don't have the original source document, the next best option is to convert the PDF to an editable format like DOCX — using OnlinePDFEdits' edit tool or a dedicated converter — make your changes there, and export back to PDF with all fonts properly embedded from the start.
Broken subsetted fonts in the context of editing are trickier. When the font cmap (the internal table that maps character codes to glyph shapes) is incomplete or damaged, text can render as boxes, question marks, or random characters — particularly visible with non-Latin scripts. Tools that use PDFium (Google's PDF renderer, the same engine in Chrome) can rebuild these cmap tables from the embedded glyph data, recovering readable text from fonts that Acrobat itself renders as garbage.
Font substitution artifacts — where one font is visually replacing another — usually can't be fixed without the original font file. The best approach is to rasterize the problematic pages (converting them to images) to lock in the appearance, though this makes the text non-selectable. For a better-quality output, compressing your PDF after re-embedding can recover much of the file-size overhead that full font embedding adds.
For a broader look at what can cause a PDF to display incorrectly, see our guide on why PDFs won't open or display correctly and for editing issues specifically, how to edit a PDF without Adobe Acrobat.
FAQ
Why does my PDF look different on someone else's computer?
The most likely cause is non-embedded fonts. The PDF contains only the font name, and each device uses whatever font it has installed as a substitute. Different substitutions produce different text widths and line breaks, making the same document look different on every device. The fix is to re-export the PDF with fonts embedded, or to share it via a platform that embeds fonts during processing.
Can I add text to a PDF using the same font that's already there?
Only if the font is fully embedded or if you have the full font file installed on your device and the editor supports it. If the PDF uses a subsetted font, the subset likely won't contain all the glyphs you might type. Most editors will fall back to a different font for newly added text. This is a limitation of how PDF font subsets work, not a bug in any particular tool.
What is the difference between TrueType, Type 1, and OpenType fonts in PDFs?
These are different font format specifications. Type 1 (PostScript) is an older format common in legacy professional PDFs. TrueType was developed by Apple and Microsoft and remains very common in documents from Office applications. OpenType (which includes CFF-flavored and TTF-flavored variants) is the modern standard and supports larger character sets including extended Unicode. All three can be embedded in PDFs; OpenType's broader character set makes it more reliable for multilingual documents.
How do I make sure fonts are embedded when I create a PDF?
In Microsoft Word, go to File → Options → Save → check "Embed fonts in the file." In Google Docs, fonts are embedded by default when you export to PDF via File → Download → PDF Document. In Adobe InDesign, use the export dialog and choose PDF/X-1a or PDF/X-4 as the standard — both require all fonts to be embedded. For web-to-PDF tools, look for an option to embed or subset fonts; most reputable tools do this by default.


