Why Symbols Show as Boxes (▯) and How to Fix It
Quick answer: an empty box (▯ or □) almost always means the font you are using does not include that symbol. The character is still there; your device just has no drawing for it. Switch to a font with wider coverage, or update your operating system, and the symbol appears. A question mark in a diamond (�) is a different problem: the text was read with the wrong encoding, and changing the font will not help.
First, identify which problem you have
| What you see | What it means | Is the character still there? | Fix |
|---|---|---|---|
| Empty box ▯ or □ | No font on the device can draw the character | Yes | Change the font or update the device |
| Box with tiny hex digits inside | The same, but the browser shows the character's code (some browsers, such as Firefox, do this) | Yes | Same as above; the digits tell you the code point |
| Question mark in a diamond � | Text was decoded with the wrong encoding (U+FFFD replacement character) | No, it was replaced | Fix the file or page encoding (usually UTF-8) |
| Strange pairs like é instead of é | UTF-8 text read as Windows-1252 ("mojibake") | Yes, but garbled | Re-open or re-import the text as UTF-8 |
| Two emoji side by side instead of one | The device is older than that emoji combination | Yes | Update the operating system or app |
The "tofu" box is the most common case, and it is the harmless one. Copy the box and paste it somewhere else (for example into our symbol search or a different app) and the real symbol often appears straight away.
Why it happens: characters vs fonts
Text is stored as numbers called code points. U+20BF, for example, is the Bitcoin sign ₿. A font is a set of drawings for some of those numbers. No single font covers all of Unicode, so your system looks for the character in the chosen font first, then in a list of fallback fonts. If none of them contains it, you get the placeholder box. Our explainer What is Unicode? covers code points in more detail.
That is why the same document can look perfect on one computer and full of boxes on another: the text is identical, but the installed fonts are not.
Fix 1: Change the font
Select the text with the box and try a font with broad symbol coverage:
- Windows: Segoe UI Symbol (symbols and arrows) and Segoe UI Emoji (emoji).
- Mac: Apple Symbols, or simply the system font, which falls back well.
- Any system: the free Noto fonts from Google, designed to cover as much of Unicode as possible.
Decorative fonts are the usual culprits. A stylish heading font may contain only letters, digits and a few punctuation marks, so every symbol you add falls back or becomes a box. In Word, also check that the symbol was not inserted from Wingdings or Symbol; those fonts break in a different way, explained in our guide to inserting symbols in Word.
Fix 2: Update your device
Unicode adds new characters every year. The Bitcoin sign arrived in Unicode 10.0 in 2017, and new emoji arrive almost every year. A phone or computer that has not been updated may simply have no font for recent characters. Installing the latest operating system update usually adds them. On older systems that can no longer be updated, installing a Noto font is the alternative.
Fix 3: Boxes on a website you run
- Make sure the page declares
<meta charset="utf-8">and that the server sends UTF-8. Otherwise visitors may get � or mojibake rather than boxes. - End your CSS
font-familylist with a generic family (sans-serif) so the browser can fall back to system fonts that include the symbol. - If you use a web font, check that its character set includes your symbols. "Latin" subsets often leave them out.
Fix 4: Boxes in a PDF or when printing
If a PDF shows boxes on other computers, the fonts were probably not embedded. Export it again with font embedding switched on (Word: File → Options → Save → Embed fonts in the file for documents; most "Save as PDF" options embed fonts by default). Check that the font you used really contains the symbol, because embedding a font cannot add a character it does not have.
Fix 5: The question mark in a diamond (�)
This one is an encoding error, not a font problem. Somewhere along the way, text was read using the wrong character table, and characters that could not be decoded were replaced with U+FFFD. Typical causes are a CSV file opened with the wrong encoding, a database or email system that is not set to UTF-8, or copying text through an old program. Re-open the original file choosing UTF-8 as the encoding. If the � is already saved in the file, the original character is gone and must be typed again.
How to find out which character the box is
- Copy the box and paste it into Word, then press Alt+X right after it. Word shows the code point (for example 20BF).
- Or paste it into a text editor that uses a font with wide coverage.
- Look the code up on this site: every symbol page lists its Unicode code point, and you can browse by category from the symbols and emoji pages.
Everything on this site is plain Unicode text, so if a symbol here shows as a box, the same box would appear in any app on that device. Our How We Verify page explains where our character data comes from.
Frequently asked questions
Why does a symbol show up as an empty box?
The font being used has no drawing (glyph) for that character, and no fallback font on the device has one either. The character itself is still there; it just cannot be drawn. Switching to a font that includes it, or updating the device, usually fixes it.
What is the difference between a box and the question mark in a diamond (�)?
A box means the character is intact but no font can draw it. The question mark in a diamond (U+FFFD) means the text was decoded with the wrong encoding and the original character was replaced, so changing the font will not bring it back.
Will the person I send it to also see a box?
Not necessarily. The character is sent as normal text, so if their device has a font that includes it, they will see the symbol even though you see a box.
Why do new emoji show as boxes or as two separate emoji?
New emoji are added to Unicode every year, and older phones and computers do not have fonts for them yet. Some newer emoji are combinations of existing ones, so an older device may show the parts side by side instead. Updating the operating system usually fixes it.
Looking for something else? Browse 1,000+ copy-paste symbols, the full Alt Codes finder, or the emoji picker.