How Unicode fonts work
When you use a "font generator" for Instagram or TikTok, it isn't changing the font — those apps don't let you. It's swapping each letter for a different Unicode character that already looks bold, italic or fancy, then handing you that as plain text you can copy and paste anywhere.
That one idea explains everything else on this page: why the styled text works on almost every app and device, why it isn't an image, and the few times it breaks. Here's how it actually works, in plain English.
Where to Use It
Understanding why your fancy bio never breaks
𝐔𝐧𝐢𝐜𝐨𝐝𝐞
Knowing which styles are safe on every device
𝕌𝕟𝕚𝕔𝕠𝕕𝕖
Seeing why it's text you can edit, not an image
Unicode
Picking styles that survive usernames and games
ᴜɴɪᴄᴏᴅᴇ
It's a character swap, not a font change
A normal font draws the same character in a different shape: your device has one letter 'A', and the font decides how it looks. Instagram, TikTok and most apps don't let you pick a font for a bio or caption, so that route is closed.
A font generator does the opposite. It leaves the shape to the device and changes the character itself. Type 'A', pick Bold, and you get back 𝐀 — not your 'A' in a bold font, but a completely separate Unicode character named Mathematical Bold Capital A (code point U+1D400). It already looks bold, everywhere, because that is simply what that character is.
That's the entire trick: the tool maps each letter you type onto a look-alike character from another part of Unicode, and hands you the result as ordinary, copyable text. Type "Hello" and here's what each style gives back:
Hello → Bold𝐇𝐞𝐥𝐥𝐨Hello → Italic𝐻𝑒𝑙𝑙𝑜Hello → Script𝓗𝓮𝓵𝓵𝓸Hello → Double-struckℍ𝕖𝕝𝕝𝕠Hello → Small capsʜᴇʟʟᴏHello → FullwidthHello
Why it pastes and survives everywhere
Since the output is made of standard Unicode characters, it behaves like any other text. It lives in plain-text fields, travels through copy and paste, and shows up the same on the reader's screen as on yours — because their device is reading the same universal code points.
That's why a single styled bio looks right to everyone: you aren't sending a font file or an image that has to load. You're sending characters every modern operating system already knows how to draw. No app, no download, no account — the text simply is fancy.
It also means the style stays intact when text is forwarded, quoted or re-shared, and remains selectable and searchable instead of baked into a picture.
When it breaks — and how to avoid it
Not every style is equally robust. There are two kinds of fancy text, and only one is bulletproof.
Character-swap styles — bold, italic, script, double-struck, small caps, fullwidth, monospace, circled — replace each letter with a single solid character. These render everywhere and are safe for usernames, bios and games.
Combining-mark styles — underline, strikethrough, zalgo, and heavily decorated frames — work by stacking extra invisible 'combining' marks on top of normal letters. They look great in a caption, but some platforms strip those marks for safety, and a few older Android builds don't position them correctly, so they can revert to plain text or look messy in tight fields.
The practical rule: for anything that must render — a username, a game tag, an account name — stick to character-swap styles. Save combining-mark styles for places with room and tolerance, like chat messages and captions. On this site, the styles known to be reliable are marked as safe.
Accessibility: use fancy text with care
Styled Unicode text is a clever workaround, but it isn't a substitute for real formatting, and it has real accessibility costs worth knowing.
Screen readers don't always handle it well. A line like 𝓗𝓮𝓵𝓵𝓸 may be read letter by letter, mispronounced, or skipped entirely, because the assistive software sees mathematical or decorative code points rather than ordinary letters. The same applies to some search and autocomplete systems, which may not match styled text to the normal word.
The guidance from the W3C and WebAIM is consistent: keep decorative text short and sparing. Use it for a name, a bio highlight or a label — never for instructions, long passages, or anything a reader genuinely needs to act on. A good test: if the meaning would be lost when the styling is stripped to plain letters, don't style it.
The history of Unicode text
Before Unicode, every system numbered characters its own way, and text routinely turned to garbage when it moved between computers. Unicode, introduced in 1991, fixed that by giving every character — in every writing system on earth — one universal number called a code point. It now defines over 140,000 characters.
The fancy-text styles live inside specific Unicode blocks that were originally added for maths, phonetics and East Asian typesetting: Mathematical Alphanumeric Symbols (the bold, italic, script and double-struck letters, in the range U+1D400–U+1D7FF), Enclosed Alphanumerics (circled and bracketed letters), and Fullwidth Forms (the wide vaporwave look). Nobody designed them for bios and usernames — but because they're real, standard characters, they copy and paste like any other text, and font generators simply map your A–Z onto them.
Sources and further reading: the Unicode Consortium (unicode.org) maintains the standard and the code charts; the W3C and WebAIM publish the accessibility guidance referenced below.
Platform Compatibility
The most important things to know about using this style on the platforms people ask about most.
Standard Unicode blocks (bold, italic, script, double-struck, small caps, fullwidth, monospace) render identically across iOS, Android, Windows and Mac.
Styles built from combining marks (underline, strikethrough, zalgo, decorative overlays) sometimes strip or misrender — especially in usernames and on some older Android builds.
Assistive tech may read styled letters oddly or skip them. Use fancy text for short names and labels, not body copy or instructions.
Full platform reference
Unicode font styles are plain text characters, so they paste almost anywhere. Here’s how the major apps handle styled text — from full support to fields that filter certain glyphs.
Social media
·9 apps- InstagramSafe
Bio, captions, comments and story text all accept Unicode fonts.
- TikTokSafe
Bio and display name accept styled text; the @handle stays plain.
- FacebookSafe
Posts, comments and bio render styled text on web and app.
- Twitter / XPartial
Tweets and display name work; some glyphs render thinner on certain devices.
- ThreadsSafe
Posts and bio accept Unicode styling, mirroring Instagram support.
- SnapchatPartial
Display name and chat work; some decorative styles may not show on older builds.
- PinterestSafe
Board titles, descriptions and profile text accept styled fonts.
- YouTubeSafe
Channel name, video titles, descriptions and comments all support Unicode.
- TumblrSafe
Posts, titles and bio render Unicode font styles cleanly.
Messaging
·6 apps- WhatsAppPartial
Messages and About text work; WhatsApp also has its own *bold* / _italic_ markup.
- TelegramSafe
Messages, bio and channel names all accept Unicode font styles.
- DiscordPartial
Usernames and messages accept Unicode; native colors need ANSI code blocks.
- SignalSafe
Messages and profile name render styled text on all platforms.
- MessengerSafe
Chat messages and name display styled Unicode text.
- iMessageSafe
Messages render Unicode fonts; appearance depends on the recipient’s font.
Gaming
·6 appsServer nicknames and channel messages accept fancy Unicode names.
- RobloxPartial
Display name accepts some styles; the chat filter blocks many symbols.
- Free FirePartial
In-game name supports many styled glyphs; some are rejected by the filter.
- PUBG / BGMIPartial
Player name accepts most Unicode; very decorative glyphs may be blocked.
- SteamSafe
Profile name, nickname and bio accept Unicode font styles.
- TwitchSafe
Display name and chat render styled Unicode on web and app.
Professional & other
·5 apps- LinkedInPartial
Headline and About work, but heavy styling can hurt readability and search.
- Gmail / EmailSafe
Subject lines and body text render Unicode in most modern mail clients.
- RedditSafe
Posts, comments and display name accept Unicode font styles.
- NotionSafe
Page titles and body text render styled Unicode characters.
- Google DocsSafe
Document body and headings accept pasted Unicode fonts.
Examples
Mathematical Bold
block U+1D400
Double-struck (outline) letters
Fullwidth Forms
vaporwave spacing
Frequently Asked Questions
How does a font generator work if I can't change the font?↓
Why does fancy text work on Instagram, TikTok and Discord?↓
Is copy-paste fancy text actually an image?↓
Will these fonts work on iPhone and Android?↓
Why did my fancy text turn back into normal letters?↓
Is it safe to use Unicode fonts in usernames and bios?↓
Are Unicode fonts accessible for screen readers?↓
What is a Unicode code point?↓
Do I need to install anything to use fancy fonts?↓
Sam Whitaker
Typography & Unicode editorSam writes about Unicode text, fonts and how they behave across apps. Every generator on the site is tested by hand before it's marked safe.