The honest explainer
How Unicode "Fonts" Actually Work (And Why They Sometimes Break)
Our font generator and tools like it produce text that looks like dozens of different fonts. Here is the honest truth about how that works, and why the same text sometimes shows up perfectly in one app and as empty boxes in another.
What Unicode is
Unicode is a giant, agreed-upon list that gives every character a unique number, called a code point. The letter A, the digit 7, an emoji, a Japanese character and a musical symbol each have their own number in this list. Apps and devices use Unicode so that text typed on one phone shows up correctly on another.
Crucially, Unicode does not just include the plain alphabet. Over the years it has added many alternate alphabets for maths, science and symbols, such as bold letters, italic letters, script letters, circled letters and more. These exist as real characters with their own code points, completely separate from normal letters.
Fonts vs characters: the key difference
A real font is a separate file, such as Arial or Times New Roman, that an app loads to decide how to draw text. Changing a font keeps the same letters but draws them differently. Most apps, like Instagram or Discord, do not let you choose a font.
A font generator does something different. It does not change any font. Instead it swaps each of your normal letters for a different Unicode character that already looks styled. When you type "Hello" and get a bold version, you are not applying bold; you are receiving five different characters that happen to be drawn in a bold shape everywhere they appear.
So these are not really fonts
Correct. Calling them "fonts" is a convenient shorthand, but technically they are alternate Unicode characters. This is also why a font generator can never produce a truly new lettering style such as real spray-paint graffiti or a custom handwriting font. It can only use styled characters that already exist in Unicode, which is why some looks are approximations.
Why fancy text sometimes breaks
You may have pasted a fancy style somewhere and seen empty boxes, question marks or plain letters instead. There are a few reasons this happens:
Missing glyphs (tofu)
To draw a character, a device needs a glyph for it in one of its installed fonts. If a particular Unicode character has no glyph on that device, you see a placeholder box, often nicknamed "tofu". The text is still technically correct; the device just cannot draw that character.
Stripped characters
Some apps clean or limit the text you enter, especially in name and username fields, and remove unusual characters. That is why styled display names work in many places but handles and account usernames usually do not.
Combining marks behaving differently
Glitch and Zalgo styles stack extra marks on top of letters. Different apps cap or trim these marks differently, so a heavy glitch effect can look intense in one place and mild in another.
The accessibility side
This part is often ignored, so it is worth being clear about. Screen readers, which read text aloud for people with visual impairments, can struggle with styled Unicode. A word in mathematical bold or script may be read out one character at a time, mispronounced, or skipped entirely.
When not to use it
- Anything you want found in search. Search engines may not match styled characters to normal words, so avoid them in titles and important text.
- Long passages. Styled Unicode is harder to read in bulk and worse for screen readers.
- Usernames and handles. Most platforms reject unusual characters there.
- Forms and official fields. Names, addresses and the like should stay plain.
For everything else, such as a bio flourish, a caption, a one-word highlight or a fun message, fancy text is a great, harmless way to stand out.
Quick glossary
- Unicode: the global standard that gives every character a unique number.
- Code point: the unique number assigned to a character.
- Glyph: the actual drawn shape of a character in a font.
- Tofu: the placeholder box shown when a glyph is missing.
- Combining mark: a character that stacks onto another, used for accents and glitch effects.
Ready to try it? Head back to the font generator, or explore styles like cursive, gothic and glitch.