Fancy Text Showing Boxes or Question Marks? Why It Happens and How to Fix It (2026)
Pasted a fancy font and got empty squares or question marks? Here's exactly why it happens, how to tell which of three different problems you have, and the fixes that work on iPhone, Android, Windows and Mac.
Last updated: October 17, 2026
If your fancy text turned into empty squares (□) or question marks (?), the cause is almost always one of three things: the device viewing it has no font containing those characters, an app or website converted the text and lost it on the way, or the file or page was saved in the wrong encoding. Each has a different fix, and the fastest way to tell them apart is to look at what you're seeing.
That's the shortcut. This guide walks through each cause, how to diagnose yours in about a minute, and the fixes for iPhone, Android, Windows and Mac. We'll also tell you which styles are the safest, so you can avoid the problem in the first place.
First, work out which problem you have
The symptom tells you a lot.
Empty rectangles or squares, sometimes with tiny numbers inside. The text is intact, but the font being used has no picture for those characters. This is the most common case. Designers call these "tofu," because the blocks look like little pieces of tofu.
Question marks, or a black diamond with a question mark (�). The text has been damaged. Somewhere between where it was typed and where you see it, the characters were converted into something that couldn't hold them. This one is usually not about fonts. It's about encoding or an app that stripped the text.
Strange accented letters like "ð" and "â€" in a row. That's mojibake: UTF-8 text read as if it were an older encoding. Also an encoding problem, and typically seen on web pages, databases or files.
The letters show, but they look plain. The platform normalised the text back to regular letters. Some sites do this on purpose.
Everything shows, but one character is misaligned or cramped. Combining marks (used for strikethrough and underline) are being placed badly by the font. Cosmetic, not broken.
Now to each fix.
Cause one: the font doesn't have those characters
Every font file covers a limited set of characters. A font for English might include the Latin alphabet and a few thousand extras, and nothing more. When the system hits a character the current font can't draw, it normally looks for a backup font that can. This is called font fallback. If none of the available fonts has the character, it draws the "missing glyph" shape instead, a rectangle.
Google's Noto font project exists for this exact reason. Its name is short for "no tofu", the goal being to cover every Unicode character so those boxes disappear. You can read about it on the Noto fonts site.
Fancy text relies on characters from blocks that ordinary fonts often skip. The Mathematical Alphanumeric Symbols block, which gives you bold, script, fraktur and double-struck letters, has been part of Unicode since 2001, so modern systems cover it well. Rarer blocks are another story: enclosed letters, some phonetic small caps and decorative symbols are less consistently covered, especially on older devices.
Fixes
Update the device. This sounds boring but it's the single most effective fix. Newer operating system versions ship newer fonts. If you're a few major versions behind, install the update.
Try a more widely supported style. If a fancy style shows boxes, switch to bold, italic, bold italic or fullwidth. These are the best-supported. Our font generator shows a live preview for each style, so you can see which render on your own screen before you copy anything.
Change the app, not the text. Some apps use their own fonts and don't fall back to the system. Open the same text in a different app or in the browser. If it shows there, the problem is the first app, not the text.
Install a broad font (desktop). On Windows or Mac you can install a full-coverage font such as Noto Sans Math or Noto Sans Symbols from Google Fonts. Many apps will then use it as a fallback.
What about iPhone?
Current iPhones cover the common styles well. Problems tend to come from old iOS versions. Go to Settings, General, Software Update. If you can't update because the phone is too old, stick to bold, italic and fullwidth.
What about Android?
Android is a bigger mix. The phone maker, the OS version and the app all matter. Something that works on a recent Pixel may fail on an older budget phone. Update the system if you can, and test the text in the Chrome browser, which often handles fallback more completely than a messaging app does. If a style works in Chrome but not in an app, the app is the weak link.
What about Windows?
Windows ships fonts like Cambria Math and Segoe UI Symbol, which cover mathematical letters and many symbols, so most styles render in modern apps. Older programs and some games use fixed fonts and don't do fallback, so they show boxes anyway. Flag emoji are a separate Windows quirk: they appear as two-letter country codes instead of flags, which is normal behaviour, not a bug in your text.
What about Mac?
macOS has strong fallback and broad built-in coverage, so boxes are rare. If you see them, check that the app isn't forcing a specific font.
Cause two: the text was damaged on the way
If you see question marks, the problem is a different animal. The text was real when you copied it. Then something converted it.
Common culprits:
A form or database that doesn't accept Unicode. The classic example is an older database set to a "latin1" encoding that can't store characters beyond it. It replaces what it can't store with a question mark, permanently. Once converted, the original is gone. You'll need to re-enter the text after the system is fixed.
MySQL's "utf8" trap. In MySQL, the encoding named utf8 stores only up to three bytes per character. Many styled letters need four. The fix is the utf8mb4 encoding. If you run a site and fancy text turns to question marks on save, check this first. The MySQL documentation explains it.
SMS and older messaging. Some carriers or old SMS apps convert text to a limited character set, and any character outside it is dropped or replaced. Using a chat app instead of SMS often solves it.
Email in the wrong encoding. Rare today, but it still happens with old mail software.
Spreadsheet imports. Opening a CSV file in a spreadsheet without choosing UTF-8 can scramble special characters. Use the program's import option and select UTF-8.
Copying from a PDF. PDFs sometimes store text in ways that don't copy cleanly. Copy from the original source if you can.
Fixes
Re-paste the original text into a place you know accepts Unicode, then check each step. If the text is fine in a browser and wrecked in the destination, the destination is the problem. If you manage the system, set it to UTF-8 end to end: the database, the connection, the page, and the file.
Cause three: wrong encoding on a page or file
This is the "ð" and "â€" case, where you see garbled sequences of accented characters. It happens when UTF-8 text is read as if it were an older single-byte encoding like Windows-1252. Each character is made of several bytes, and the wrong decoder turns each byte into its own character.
If you run a website, make sure the page declares its encoding. Both of these should be in place:
<meta charset="utf-8">
and an HTTP header saying Content-Type: text/html; charset=utf-8. If you're editing a text file, save it as UTF-8 and make sure the editor isn't set to something else. The W3C guide on character encodings is a clear reference.
For someone just trying to view or copy text, the fix is often in the browser: open the page menu and look for a text encoding or character set option, and choose Unicode (UTF-8). Most modern browsers detect this automatically, so it's mostly a problem with old pages and local files.
When the letters show but look plain
Sometimes the text arrives intact, but the platform has changed it to normal letters. That's normalisation. Unicode defines a process called NFKC that folds styled letters back to their plain equivalents, so 𝐇𝐞𝐥𝐥𝐨 becomes Hello. Some platforms apply this on purpose, for example to usernames, search or spam control. You can read the specification in Unicode Standard Annex #15.
If a site converts your styled text, there's nothing to fix on your side. The site doesn't allow it. Check whether the field has a rule, or use a different field.
The special case: strikethrough, underline and slashes
Styles like strikethrough and underline don't use special letters at all. They put a combining mark after each ordinary letter, and the font is supposed to draw the mark over or through the letter before it. Two things go wrong.
First, rendering varies. Some fonts line the mark up neatly, others leave gaps or push it off-centre. Second, the character count inflates. We measured the string "Hello World 2026": it is 16 characters plain, but 32 UTF-16 units once each character carries a combining strikethrough mark. That matters if you're near a limit.
If strikethrough looks messy, use it on a single word, switch to a different style, or use the platform's own strikethrough if it has one.
Which styles are safest
Based on how Unicode blocks are covered, from most to least dependable:
- Plain Latin letters. Always works, obviously.
- Mathematical bold, italic and bold italic. Part of Unicode since 2001 and in nearly every modern font.
- Fullwidth letters. An older, widely covered block.
- Sans-serif and monospace math styles. Same block as bold, same strong support.
- Script, fraktur and double-struck. Same block, but some letters are stored elsewhere because they already existed. A few look slightly different from the rest.
- Small caps. Built from letters in phonetic blocks, with a couple of missing letters substituted. Support is good but not universal.
- Circled, squared and negative-squared letters. Newer blocks, less consistent coverage on old devices.
- Combining-mark styles (strikethrough, underline, slashes). Render unpredictably.
- Upside-down and mirrored. Borrow letters from many blocks, so they have the most gaps.
If you need text that has to look right for strangers, stay in the top four or five. If it's just for you or a close group, go wild.
This ranking comes from the structure of Unicode and how fonts are usually built, not from a lab test of every phone ever made. Your results may differ on unusual devices.
How to test before you send
Before you commit to a style in a profile, a post, a nickname or a printed design:
- Check the preview in the font generator. It draws every style with your own device's fonts, so what you see is what your device can show.
- Paste into the real destination, not just a notes app.
- Look at it on at least one other device, ideally one older or from a different maker.
- Make sure there's a plain-text alternative for anything that matters.
That last point is important. If your name, a price or an instruction is only available in styled characters and someone's device shows boxes, they get nothing.
Troubleshooting by situation
Instagram bio shows boxes for followers. Likely cause one. Switch to bold or italic. See our guide on changing fonts in an Instagram bio for field-by-field advice.
Discord nickname turns into question marks. Rare. Check that you're on the current app and try bold. Discord also has its own formatting for messages.
Username rejected. Many platforms restrict usernames to plain characters. This isn't an encoding failure; it's a rule.
Game name shows boxes. Many games use a fixed font with limited coverage. Unfortunately you'll need to stick to plain letters or whatever symbols the game supports.
Email subject line shows question marks. Old clients or gateways. Test with a different mail app and keep it simple.
Website or blog post shows boxes. Add a fallback font stack that includes a font with broad coverage, and make sure your page is UTF-8. Don't rely on one decorative font for characters it doesn't contain.
Printed design shows boxes. The design program's font doesn't have the character. Choose a font that does, or convert the text to outlines once you're sure it looks right.
Terminal or code editor shows boxes. Monospace fonts often have narrow coverage. Pick a font with symbol support or install a patched one.
Symbols, not letters, are the problem. If decorative symbols, arrows or ASCII-style characters show as boxes, the same causes apply. Our symbols library groups characters by category, and the common ones (arrows, stars, hearts, punctuation) are widely supported. Rarer pictographs less so. Our ASCII art collection uses basic characters with a few exceptions and works nearly everywhere, though ASCII art needs a monospace font to line up properly.
A quick word on emoji
Emoji add one more wrinkle. Some characters can display either as a flat text symbol or as a colourful emoji, and a special invisible character called a variation selector (U+FE0F) tells the system to choose the emoji look. If a symbol shows in black and white where you expected colour, the selector may be missing or ignored. Newer emoji also appear only on newer systems, so a brand new emoji can show as a box on a device that hasn't updated yet. That's the same missing-glyph problem as before, caused by timing: the character exists, but the font doesn't have it.
For developers and site owners
If you build sites, a few habits prevent most of this:
- Serve everything as UTF-8: pages, API responses, database connections and files.
- In MySQL use utf8mb4, not utf8.
- Declare the charset in your HTML and headers.
- Use a font stack that ends in a broad-coverage fallback, such as Noto, or a system-ui font.
- Don't truncate strings by counting UTF-16 units naively. Math letters take two units each, and cutting between them leaves an invalid half character that shows as a diamond with a question mark.
- If you validate usernames, decide deliberately whether styled characters should be allowed, and normalise with NFKC if you want "𝐀lice" and "Alice" treated as the same name.
None of these are exotic. They're the usual suspects, and fixing them once protects you from most future weirdness.
Frequently asked questions
Why does it look fine on my phone but not my friend's? Different fonts. Your device has the character, theirs doesn't, or theirs has an older font set.
Is the text broken? Usually not. If you see boxes, the text itself is intact. It's the display that can't draw it. If you see question marks, the text may be damaged.
Can I fix boxes by changing a setting? Not usually. You fix them by updating the system, installing a font or choosing a more common style.
Do all fancy text generators have this problem? Yes. Every generator uses the same Unicode characters, so the same limits apply. We can't change what a viewer's phone is able to draw, and no honest generator can either.
Which is safest for a business? Plain text for anything critical, bold for emphasis.
Does a box mean the style is wrong? No. It means that style isn't supported on that device.
A five-minute diagnostic you can run on any device
If you'd rather test than guess, this routine isolates the cause quickly.
- Type a known-safe test string in the browser. Open the font generator, type "Test 123", and look at the bold, italic and fullwidth previews. If these show boxes, your device is short on fonts, and cause one is almost certain.
- Paste the same text into a plain notes app. If it shows there but not in the target app, the target app is the problem, not the text.
- Send it to yourself on another channel. Message it through a chat app, then through email. If one channel turns it into question marks and the other doesn't, the first channel is converting it (cause two).
- Open the destination on a second device. If it looks fine on a newer phone but not an older one, you have a font coverage gap, not a damaged string.
- Try a single character. Paste one styled letter, such as 𝐀. If a single letter works but a whole word doesn't, look at combining marks or invisible characters in the string.
Write down which step changed the result. That one observation usually points straight at the fix, and it's far more useful if you contact us or a platform's support team.
One last habit worth building
Whenever you share styled text with other people, treat the plain version as the master copy. Keep the ordinary spelling of your name, your headline and your key message in a notes file. If a platform mangles the styled version, a client complains about squares, or you need to search for the text later, you can restore it in seconds. Styled text is a presentation layer on top of the real words, not a replacement for them. Thinking of it that way also settles most design arguments: if the message still works when the styling fails, the styling is safe to use.
What we can and can't promise
We make a font generator, so we'd love to tell you everything works everywhere. It doesn't. Unicode text is only as reliable as the weakest device that views it. What we can promise is that the live previews on our pages are drawn with your own device's fonts, so if a style looks right to you, it's at least supported on your screen. Whether it's supported on your audience's screens is a judgement call, and the ranking above is our best guide.
If you hit a case that this guide doesn't cover, send it to us, including the device, the app and what you saw. Real examples make the next update better. In the meantime, browse the blog for more guides, or go back to the font generator and try a safer style.
Tags
Related Articles
How to Change the Font in Your Instagram Bio, Captions and Name (Copy and Paste, 2026)
Instagram has no font menu for your bio or captions. Here's how the copy-and-paste trick really works, where it works, where it quietly breaks, and how to do it without hurting readability.
Read More →Top 6 Fancy Text Generators for Copy and Paste (October 2026)
Six fancy text generators compared honestly. Yes, ours is number one — it's our site, so read the bias note — but we tell you where the others do better.
Read More →