PDF Text Renders as Squares or Empty Boxes: Causes and Fixes
Opening a PDF and seeing rows of empty boxes or small squares — □□□□ — instead of readable text is a distinctive and bewildering problem. The layout is intact, images appear normally, and it is obvious that text should be there, but every character has been replaced by a placeholder rectangle. This symptom has a specific technical cause: the PDF viewer cannot find or render the font used for that text. When a PDF viewer encounters a text object, it looks up the associated font and uses its outline data to draw each character. If the font is not embedded in the file and is also not installed on the current system, the viewer must fall back to a substitute font. Most viewers handle this gracefully by substituting a visually similar font. However, when the original font used characters from Unicode ranges that the substitute font does not support — for example, mathematical symbols, specialized dingbats, or extended Unicode blocks — the substitute font has no glyph to display, and it renders a .notdef glyph instead. That .notdef glyph is the empty box you see. The problem can also arise from licensing restrictions on font embedding, from PDFs created with character-to-glyph mapping errors, or from viewers that are too old to handle newer Unicode blocks. This guide covers every variant of the problem and provides targeted fixes for each one.
Why Missing or Unembedded Fonts Cause Squares
PDF files can either embed the fonts they use or rely on the viewer's system to supply them. When fonts are not embedded, the viewer attempts to substitute them from locally installed fonts. This works perfectly well for common fonts like Times New Roman or Arial, because these are available on virtually every system. Problems arise when the original document used a specialized font — a custom corporate typeface, a symbol set, a CJK (Chinese, Japanese, Korean) font, or a mathematical notation font — that is simply not available on the viewer's operating system. The square or box symbol rendered in place of unrecognized characters is called the .notdef glyph. Every font is required by the PDF specification to include a .notdef glyph as a fallback for characters it cannot render, and by convention this glyph is a simple rectangle. So what you see is not corruption or damage — it is the viewer faithfully displaying 'I have no idea what character this is.' The fix is either to embed the missing font into the PDF or to replace the problematic text with a version that uses a widely available font.
- 1Step 1 — Identify which font is missing: Open the PDF in Adobe Acrobat Reader and go to File > Properties > Fonts. Any font listed as 'Not Embedded' and not available on your system is a candidate for the squares you see. Note the font names.
- 2Step 2 — Re-obtain the PDF with embedded fonts: Contact the sender or source and request a re-export with fonts embedded. In most applications, this is a checkbox in the export-to-PDF dialog labeled 'Embed All Fonts' or similar. This is the cleanest fix.
- 3Step 3 — Install the missing font locally: If you know which font is missing, obtain and install it on your system. The viewer will then use your locally installed copy to render the characters correctly without needing the font embedded in the PDF.
- 4Step 4 — Convert to Word and re-export: If you cannot obtain the original font, use LazyPDF's PDF-to-Word converter to extract the content into an editable format. Change the font to a universally available one (such as Arial or Georgia), then re-export to PDF with that font embedded.
Font Licensing Restrictions and Embedding Permissions
Not all fonts may legally be embedded in a PDF. Font files contain metadata flags that specify their embedding permissions. These flags fall into four categories: no embedding allowed, print-and-preview only, editable embedding, and installable embedding. When a PDF creator attempts to export with 'Embed All Fonts' and the font license forbids embedding, some PDF generators will silently skip embedding that font rather than raising an error. The result is a PDF with unembedded proprietary fonts that renders perfectly on the creator's machine — because the font is installed there — but shows squares on any other system. Fonts with restricted embedding are most common in commercially licensed typefaces from font foundries like Monotype, Linotype, or proprietary corporate fonts. Open-source fonts such as those from Google Fonts (Noto, Roboto, Lato, etc.) and the SIL Open Font License collection are always embeddable. If your document uses a restricted font, your options are to license the font for embedding, to replace it with an equivalent open-source font, or to convert all text to curves (outlines) — a process that removes the dependency on the font file entirely by replacing each character with a static vector path.
Unicode Blocks and Character Range Gaps
Even when a font is properly embedded, squares can appear for specific characters if the embedded font subset does not include those particular glyphs. Font subsetting is a size-optimization technique where only the characters actually used in the document are included in the embedded font data. If a character appears in the text stream but was accidentally excluded from the subset during export — a bug in some PDF generators — the viewer finds the font but cannot locate that specific glyph. This problem also appears with extended Unicode ranges. A document might use a base Latin font for most content but switch to a mathematical symbol font, an emoji set, or a CJK (Chinese, Japanese, Korean) ideograph set for specific sections. If the viewer's substitute font does not cover those Unicode ranges, those characters render as boxes. Unicode blocks like Mathematical Operators (U+2200–U+22FF), Supplemental Multilingual Plane characters, emoji (U+1F000 and above), and many CJK extension blocks are frequently missing from common substitute fonts. Installing a comprehensive Unicode font such as Noto Sans (which covers nearly all Unicode) resolves most of these gaps without any changes to the PDF itself.
Converting Text to Outlines as a Permanent Fix
If you have access to the source document — in Adobe Illustrator, InDesign, or a similar design application — converting text to outlines (sometimes called 'curves' or 'paths') is a definitive solution to all font-related rendering problems. When text is converted to outlines, it becomes a vector graphic: a series of Bezier curves that describe the shape of each character. The result is completely independent of any font file. The viewer does not need to find, load, or substitute any font because there is no longer any text object — only shapes. The tradeoff is that outlined text is no longer selectable, searchable, or editable. Copy-paste, Ctrl+F, and screen reader accessibility are all lost. This makes outlining appropriate for final-output PDFs — print files, presentations, marketing materials — but not for documents where text functionality matters. For documents where searchability is important, embedding fonts is always preferable to outlining. If you need to outline text in a PDF you do not have source files for, LazyPDF's compression tool can help reduce the resulting file size, as outlined text tends to be slightly larger than font-dependent text.
- 1Step 1 — Open in the source application: Open the original document (InDesign, Illustrator, Word, etc.) rather than the PDF.
- 2Step 2 — Select all text: Use Ctrl+A (or Cmd+A on Mac) to select all content, or select only the text elements with font issues.
- 3Step 3 — Convert to outlines: In Illustrator, use Type > Create Outlines. In InDesign, use Type > Create Outlines. In other applications, look for 'Convert to Curves' or 'Flatten Text' in the text or export options.
- 4Step 4 — Export to PDF: Save or export the modified document as a new PDF. Test it in a viewer on a different machine to confirm no squares appear.
Frequently Asked Questions
Why does the PDF look fine on one computer but shows squares on another?
This is the classic symptom of missing unembedded fonts. The PDF was created on a machine where the original font was installed, so it rendered correctly there. On a different machine without that font installed, the viewer substitutes a fallback font that lacks the specific glyphs needed, resulting in the square placeholder. The fix is to re-export the PDF with all fonts embedded so the file carries the font data regardless of which system opens it.
Is there a quick way to tell if fonts are embedded in a PDF?
Yes. In Adobe Acrobat Reader, go to File > Properties and click the Fonts tab. Every font listed will show its embedding status — either 'Embedded', 'Embedded Subset', or a blank entry meaning not embedded. Fonts listed as 'Embedded Subset' include only the characters used in the document, which is normal and fine. Fonts with no embedding indication are fully dependent on the viewing system's installed fonts, which is where square rendering problems originate.
Will compressing the PDF fix the squares problem?
Compression alone will not fix missing font issues because compression only reduces image and stream data sizes — it does not add missing font data. However, if you run the PDF through a re-processing tool that re-embeds fonts during its pipeline (some advanced compression tools do this), the problem may be resolved as a side effect. The reliable fix remains embedding the correct fonts at the source or replacing the font with one that is both embeddable and available on target systems.
Can I fix the squares without access to the original document?
Partially. If the squares affect only a few special characters, installing the relevant font on your local system allows your viewer to render them correctly, even without re-embedding. If the missing font is a commercial typeface you can license, installing it solves the problem for you personally. However, the PDF will still show squares for anyone else who opens it without that font. A permanent, distributable fix requires access to the source document or a tool that can re-embed fonts into the existing PDF.
My PDF has squares only for certain symbols or special characters. Is that a different problem?
It is the same root cause but a more targeted manifestation. Specific symbols — mathematical operators, currency symbols, arrows, decorative characters — often come from a secondary symbol font or from specialized Unicode ranges. If the substitute font does not cover those specific Unicode code points, only those characters render as boxes while the rest of the text looks fine. Installing a comprehensive Unicode font like Noto Sans or Noto Serif, which covers virtually all Unicode blocks, usually resolves this without any changes to the PDF file itself.