Embed Missing Fonts in PDF
Replace unembedded standard fonts with embedded Noto Sans
Files are processed only in this browser. Nothing is uploaded to a server.
Replace unembedded standard 14 fonts with a fully embedded Noto Sans
This PDF is password-protected.
Continue in another tool
Processing…
Everything runs inside this browser. Your file is never sent to a server.
Your file is ready to download
Continue with this result
Open page preview
Changing a setting hides the previous result. Run it again to save the latest settings.
Remove the password from an encrypted PDF first. The whole file is rewritten, so any existing digital signature becomes invalid. Keep the original and check the result.
Working…
0.0
It hasn't frozen — the result will appear when the calculation finishes.
About Embed Missing Fonts in PDF
The PDF specification assumes every viewer can draw 14 fonts on its own: four each of Times, Helvetica and Courier, plus Symbol and ZapfDingbats. That is why PDFs from older office software and report generators often leave the font data out. Each viewer substitutes something similar, so the look and line breaks shift from device to device, and validators that require every font to be embedded flag the file.
This tool finds unembedded standard 14 fonts (except Symbol and ZapfDingbats), embeds a subset of a single Noto Sans font and rewrites the text that used them — Tj, TJ and the quote operators ' and " alike — into the new font's character codes. The original codes are decoded to Unicode through the font's encoding (WinAnsi by default, with any Differences applied), so the text itself does not change.
Where the look changes
Only one regular-weight Noto Sans is embedded. A heading in Helvetica-Bold and a quotation in Times-Italic both become the same regular sans serif. A document that relied on weight and italics to separate things can come out flat.
Character widths differ too. Within a run, glyphs advance by the new font's widths, but the start position of the next text run and the kerning numbers inside TJ were set for the original font and stay as they were. Where the new font is wider, one run spills into the next; where it is narrower, gaps open up. Narrow table cells and right-aligned figures show it first.
Type0 (CID) fonts, fonts that are already embedded and the two symbol fonts are left alone. Why embedding is mandatory for PDF/A is covered in the guide “PDF/A and PDF/X”.
Worked examples
An invoice lined up in Courier
- Input
A quote whose item and amount columns are aligned with spaces in Courier (monospaced)- Output
The font is embedded, but the columns no longer line up
Every Courier glyph has the same width, which is why spaces could align the columns. Noto Sans is proportional, so a line full of i's and one full of W's end at different points. For documents like this, re-exporting from the source app with font embedding on is the better fix.
A report with bold headings
- Input
Body in Helvetica, headings in Helvetica-Bold, neither embedded- Output
Both replaced by the same regular-weight Noto Sans
The summary reports two fonts replaced. The weight difference between headings and body disappears, so check whether the headings still stand out by size alone. Afterwards, the font tab of PDF Info shows whether the unembedded warnings are gone.
How to use it
- Add the PDF.
- Run it; a summary shows how many fonts were replaced and how many text operators were rewritten.
- Open the result, check for overlapping or spread-out paragraphs, then save.
Frequently asked questions
Is the original Helvetica embedded as it looks?
No. Helvetica itself is a licensed typeface and isn't included; the text is switched to the open-source Noto Sans and that is embedded. It looks the same on every device, but not like the original.
The font report still shows unembedded fonts after processing.
The tool only handles the standard 14. Unembedded fonts with other names, such as Arial or Calibri, plus Symbol, ZapfDingbats and Type0 fonts, stay as they are; re-export from the source with font embedding turned on.
Can I use it on a signed PDF?
Font resources and content streams are rewritten, so any existing digital signature breaks. Sign again after processing.
Sources
Last reviewed: