Why Your Fancy Font Turns Into Boxes

The boxes aren't a bug in your text. They're a missing glyph on the reader's device. Once you understand that, the fix is simple: choose styles that everyone's phone can actually draw.

Accessibility & Compatibility ⏱ 8 min read Style safety tiers
A styled letterform on the left degrading into empty tofu boxes on the right, showing a glyph the device cannot draw.

Key Takeaways

Boxes Are the Reader's Device Talking, Not Yours

You styled your name, it looked perfect, and a friend replied: "it's just squares for me." The instinct is to assume you did something wrong. You didn't.

Here is the one fact that explains the whole thing: the styled "fonts" you copy from a generator are not fonts at all. They're ordinary text made of special Unicode characters — the bold "𝗮" is a different character from a normal "a," not the same letter wearing a costume. When you paste them, the characters travel with your message. What happens next is entirely up to the reader's device.

Every device keeps a set of fonts that map characters to little pictures called glyphs. When a device meets a character it has no glyph for, it draws a placeholder: the .notdef box — □ or ▯ — nicknamed "tofu" (the font family Noto is literally named "no more tofu"). So the box isn't your text failing. It's the reader's device saying "I received this character, but I don't own a picture for it."

The Failure Is Invisible to the Author

This is what makes boxes so frustrating: you can't reproduce the problem on your own phone. Your device has the glyph, so it renders perfectly for you, every time. Meanwhile a chunk of your audience — often older Android phones, certain web browsers, or specific apps — sees a row of squares.

That asymmetry is why "my bio looks broken to some people" is one of the most-asked questions across Discord, Instagram and TikTok. The author and the audience are looking at the same characters through different fonts.

What you see: 𝕬𝖊𝖘𝖙𝖍𝖊𝖙𝖎𝖈  ·  What an older Android sees: ▯▯▯▯▯▯▯▯▯

The Style Safety Tiers

Not all styles are equally risky. Support tracks how widely a style's underlying Unicode block is shipped in device fonts. Here's the hierarchy, safest first.

TierStylesWhyUse for
1 · UniversalBold & italic sans, bold/italic serif, 𝚖𝚘𝚗𝚘, small capsMathematical Alphanumeric block — shipped almost everywhereAnything important: names, hooks, CTAs
2 · Mostly safeFullwidth, Ⓒⓘⓡⓒⓛⓔⓓ, monospace symbolsCommon blocks, occasional gaps on very old devicesDecorative emphasis, captions
3 · Risky𝔉𝔯𝔞𝔨𝔱𝔲𝔯, 𝕯𝖔𝖚𝖇𝖑𝖊-𝖘𝖙𝖗𝖚𝖈𝖐, enclosed/squared, decorativesSparse coverage on older Android & some appsThrowaway flair only — never load-bearing
4 · FragileZ̸̢a̵l̷g̶o, obscure symbol runs, regional decoratives ꧁☬꧂Combining marks & rare glyphs break or look brokenOne-off jokes; expect breakage

The rule of thumb: the prettier and more unusual a style looks, the fewer devices can draw it. Decorative cursive and blackletter are exactly the styles people reach for in bios — and exactly the ones most likely to turn into tofu.

Three Rules That Keep Your Text Readable

1. Never style a load-bearing word alone

If a word must be read — your name, a link, a price, a call to action — keep it in plain text or a Tier 1 style. If it turns to boxes, your message still survives.

Fragile 𝕯𝕸 𝖒𝖊 𝖙𝖔 𝖔𝖗𝖉𝖊𝖗 Safe 𝗗𝗠 𝗺𝗲 to order

2. Keep meaning in the plain layer

Treat styling as a topcoat, not the structure. A reader who sees only boxes should still get your point from the unstyled words around them.

3. Apply the 2-device test

Before a style goes into a bio, view it on a second device — ideally an older Android phone, the worst-case renderer. If it survives there, it'll survive almost anywhere.

Boxes vs Question Marks vs Garbled Text

□ Box (tofu)

The character arrived fine; the device has no glyph to draw it. A font problem. Fix it by choosing a safer style.

? or �

The character was lost or mis-decoded in transit. A data problem. The styling won't help — the text itself changed.

é garbage

"Mojibake" — bytes read with the wrong encoding. Also a data problem, usually from a broken copy/export step.

This guide is about the first one — a font problem you fix by choosing a safer style. The other two are data problems: the characters themselves changed in transit, so no style choice will bring them back.

Where Boxes Show Up Most

  • Discord — styled names render for most desktop users, but older Android clients and screen readers struggle. See Discord text formatting decoded.
  • Instagram & TikTok — bios render via the viewer's system fonts, so the same bio can look crisp on iPhone and broken on a budget Android.
  • Older Android, generally — the single most common source of tofu. If you only test on an iPhone, you're testing the easy case.
Your characters are never broken.
The reader's device simply ran out of pictures.

Style for the worst phone in the room, not the best.

Generate text in a device-safe style

Pick a Tier 1 style — bold, italic or small caps — and it'll render almost everywhere. Type it once, copy it, paste it anywhere.

Open the Text Generator →
Instagram TikTok Discord LinkedIn X WhatsApp
FAQ

Frequently Asked Questions

Because the boxes are drawn by the reader's device, not yours. A styled "font" is really a set of special Unicode characters. Your phone happens to have a font that can draw them, so you see them perfectly. When a friend's device has no glyph for a character, it falls back to the .notdef box (□), often called "tofu." Your text is intact — their device just can't paint it.

Bold and italic sans-serif, bold/italic serif, and small caps are the safest — they map to the Mathematical Alphanumeric block that nearly every modern device ships a glyph for. Monospace, fullwidth and circled styles are usually fine. Fraktur (blackletter), double-struck, heavily decorative and zalgo styles are the most likely to break on older Android and some apps. Make a safe one with the text generator.

Pick a Tier 1 style for anything important, keep the meaning readable even if the styling drops, and never put a load-bearing word (a name, link, or call to action) in a risky style alone. Then test on a second device — ideally an older Android phone — before you commit it to a bio.

No. A box (tofu) means the character arrived fine but the device has no glyph to draw it. A question mark or � means the character was lost or mis-decoded along the way (an encoding problem). Garbled "mojibake" means the bytes were read with the wrong encoding. Boxes are a font problem; the others are data problems.