FontifyText

Fancy Text Compatibility Guide

Fancy Text Compatibility: What Actually Works on Instagram, TikTok, Discord, WhatsApp, Facebook, X & Twitch

Our fancy text compatibility guide covers 8 Unicode styles โ€” bold, italic, script, gothic, bubble, monospace, underline, and strikethrough โ€” across 7 major platforms, plus why boxes, missing glyphs, and accessibility issues happen.

8

Text Styles Compared

7

Platforms Covered

4

Limitations Explained

Free

Cheat Sheet Download

Fancy Text Compatibility Table by Platform

Ratings reflect Unicode block coverage and widely-reported platform rendering behavior, not exhaustive device-by-device lab testing. Click a style to open its generator.

StyleExampleInstagramTikTokDiscordWhatsAppFacebookXTwitch
Bold๐—•๐—ผ๐—น๐—ฑ ๐—ง๐—ฒ๐˜…๐˜
Italic๐˜๐˜ต๐˜ข๐˜ญ๐˜ช๐˜ค ๐˜›๐˜ฆ๐˜น๐˜ต
Script / Cursive๐’ฎ๐’ธ๐“‡๐’พ๐“…๐“‰ ๐’ฏ๐‘’๐“๐“‰
Gothic / Fraktur๐”Š๐”ฌ๐”ฑ๐”ฅ๐”ฆ๐”  ๐”—๐”ข๐”ต๐”ฑ
Bubble / Circledโ’ทโ“คโ“‘โ“‘โ“›โ“” โ“‰โ“”โ“งโ“ฃ
Monospace๐™ผ๐š˜๐š—๐š˜๐šœ๐š™๐šŠ๐šŒ๐šŽ
UnderlineUฬฒnฬฒdฬฒeฬฒrฬฒlฬฒiฬฒnฬฒeฬฒ
StrikethroughSฬถtฬถrฬถiฬถkฬถeฬถtฬถhฬถrฬถoฬถuฬถgฬถhฬถ
ReliableMixedHigh risk

What the matrix tells you

Six of the eight styles are safe almost anywhere

Bold, italic, script, gothic, bubble and monospace are one Unicode character per letter, from blocks that have shipped in system fonts for well over a decade. If a style has to work, pick from those six.

Start with bold โ†’

Underline and strikethrough are the ones that break

They are the only two built from combining marks, which the renderer has to position over the preceding letter. That is why they vary by app and why WhatsApp handles them worst. Use them for a short label you can check, not for anything load-bearing.

See the strikethrough styles โ†’

The field matters more than the platform

The same app will accept a style in a caption and reject it in a handle. No platform in this table allows styled characters in an @handle, and Twitch will not let a display name differ from the username at all. Style the caption, the bio line or the title - never the identifier.

Instagram styles โ†’

Rendering is the reader's problem, not yours

Every rating here describes whether the characters arrive intact. Whether they can be searched, or read aloud by a screen reader, fails separately and more often - which is the single most common reason to keep the important half of a line in plain text.

What screen readers do with it โ†’

How these ratings were arrived at

Last reviewed 2026-08-20

What the ratings mean

Reliable means the style is a single Unicode code point per letter, drawn from a block with full A-Z coverage that has shipped in system fonts for over a decade. Mixed means it usually renders but has known failure modes on specific apps or older devices. High risk means it is frequently stripped, mangled, or blocked by the field itself.

Why two rows are riskier than the rest

Underline and strikethrough are the only styles here that are not single characters. They are ordinary letters followed by a combining mark - U+0332 and U+0336 - which the renderer has to position over the letter before it. That depends on the font and the text-layout engine, so it varies by app and device in a way a single code point does not. Every other row in this table is one code point per letter, which is why those rows behave consistently.

Twitch is a different case

Twitch does not let a display name differ from the username except in capitalisation, and its localized display name feature adds a name in Chinese, Japanese or Korean characters alongside the username rather than replacing it. So styled Unicode is not an option for a Twitch name the way it is for an Instagram or TikTok display name. The Twitch column above describes stream titles, panel text and chat, where Unicode does render.

What this is not

These ratings are reasoned from documented Unicode block coverage and widely-reported platform behaviour. They are not the output of device-by-device lab testing: no specific handset, OS version or browser build was used to produce them, and no cell here should be read as "verified on hardware on a date".

Check a cell yourself

  1. Copy one styled word from the generator for the style you are checking.
  2. Paste it into the exact field you care about - a bio is not a caption, and a display name is not a chat message.
  3. View the result on a second device you did not paste from, since the sender often has fonts the reader does not.
  4. Record the platform, the field, the device and OS version, the browser or app version, and the date.
  5. Note the failure mode if there is one: boxes, stripped characters, clipped marks, or outright rejection.

Limitations

  • Platform behaviour changes without announcement, so any rating has a shelf life.
  • Rendering depends on the reader's device, not the writer's - a style that looks correct as you type it may not on someone else's phone.
  • Field type matters more than platform: the same app often accepts a style in a caption and rejects it in a handle.
  • These ratings describe display, not accessibility or searchability, which fail differently and are covered separately.

Why Each Style Behaves the Way It Does

Rendering issues almost always trace back to which Unicode block a style comes from and how complete that block is.

Bold

๐—•๐—ผ๐—น๐—ฑ ๐—ง๐—ฒ๐˜…๐˜

Mathematical Alphanumeric Symbols (Bold), U+1D400โ€“U+1D433

Full Aโ€“Z, aโ€“z, and 0โ€“9 coverage in one contiguous block, so fonts almost never substitute a box. The safest fancy style for bios, captions, and usernames where usernames allow Unicode at all.

Open the Bold Fonts generator โ†’

Italic

๐˜๐˜ต๐˜ข๐˜ญ๐˜ช๐˜ค ๐˜›๐˜ฆ๐˜น๐˜ต

Mathematical Alphanumeric Symbols (Italic), U+1D434โ€“U+1D467

Nearly complete coverage. One quirk: italic mathematical "h" isn't in this block. It lives at U+210E (the Planck constant symbol), so generators substitute it in. On a few older fonts that one letter can look subtly different from the rest of the word.

Open the Italics Fonts generator โ†’

Script / Cursive

๐’ฎ๐’ธ๐“‡๐’พ๐“…๐“‰ ๐’ฏ๐‘’๐“๐“‰

Mathematical Script, U+1D49Cโ€“U+1D4CF (with gaps filled from Letterlike Symbols)

The script block has real gaps. Capital B, E, F, H, I, L, M, and R aren't defined in the math-script range, so generators borrow them from the older Letterlike Symbols block instead. Most modern phone fonts cover both blocks. Some desktop apps and older Android system fonts only ship one, which is where you occasionally see a stray box in an otherwise clean script word.

Open the Cursive Fonts generator โ†’

Gothic / Fraktur

๐”Š๐”ฌ๐”ฑ๐”ฅ๐”ฆ๐”  ๐”—๐”ข๐”ต๐”ฑ

Mathematical Fraktur, U+1D504โ€“U+1D537 (with gaps filled from Letterlike Symbols)

Same gap pattern as script text: capital C, H, I, R, and Z fall back to Letterlike Symbols glyphs. Fraktur is also the style most likely to get flagged or auto-stripped by display-name filters, since it can resemble an attempt to impersonate normal text.

Open the Gothic Fonts generator โ†’

Bubble / Circled

โ’ทโ“คโ“‘โ“‘โ“›โ“” โ“‰โ“”โ“งโ“ฃ

Enclosed Alphanumerics, U+24B6โ€“U+24E9

One of the oldest, most completely defined Unicode blocks for this purpose, so rendering stays reliable everywhere. The real downside isn't boxes. Screen readers often read each character out as "circled latin small letter a" instead of the plain letter, which hurts accessibility more than any other style in this table.

Open the Bubble Fonts generator โ†’

Monospace

๐™ผ๐š˜๐š—๐š˜๐šœ๐š™๐šŠ๐šŒ๐šŽ

Mathematical Monospace, U+1D670โ€“U+1D6A3

Character coverage is complete and boxes are rare. The catch is cosmetic, not technical: these characters only look evenly spaced if the app's font renders them at a fixed width. Discord already has real backtick-code monospace via markdown, so pasting this style there is usually redundant and can look uneven next to Discord's own code font.

Open the Monospace Fonts generator โ†’

Underline

Uฬฒnฬฒdฬฒeฬฒrฬฒlฬฒiฬฒnฬฒeฬฒ

Combining Low Line, U+0332 (applied after every character)

This isn't a letter substitution. It's a combining mark stacked on top of every normal character. Short strings usually display fine. Long strings risk clipped marks (each one counts against character limits), marks dropped by text normalization, or removal by anti-spam filters that treat repeated combining marks as a zalgo pattern. Cursor placement and editing inside the field can also behave oddly.

Open the Underline Text generator โ†’

Strikethrough

Sฬถtฬถrฬถiฬถkฬถeฬถtฬถhฬถrฬถoฬถuฬถgฬถhฬถ

Combining Long Stroke Overlay, U+0336 (applied after every character)

Same combining-character mechanics and the same risks as underline text. WhatsApp is the most likely to disappoint here, since it already has its own native ~strikethrough~ markdown. Pasted Unicode combining marks can render inconsistently across WhatsApp mobile, desktop, and Web depending on the client version.

Open the Strikethrough Text generator โ†’

Boxes, Missing Glyphs, Searchability & Accessibility

Four limitations apply to fancy Unicode text no matter which platform you're posting on.

Why you sometimes see a box (โ–ก) instead of a letter

A box, sometimes called "tofu," appears when the viewer's device has no font installed for that exact Unicode code point. Fancy text styles aren't new letters. They're separate, lookalike characters from specialized Unicode blocks, mostly Mathematical Alphanumeric Symbols and the older Letterlike Symbols block. Bold, italic, bubble, and monospace styles sit in cleanly defined ranges that almost every modern system font covers. Script and gothic/fraktur are the most exposed, since a handful of their letters are historical carry-overs from a different block, and not every font ships both.

Why underline and strikethrough text are the least stable

Underline and strikethrough work by inserting an invisible combining character after every visible letter, instead of swapping in a new letter shape. That makes them fragile in three ways. Character-limit counters count each combining mark separately, so a caption can run out of room faster than it looks. Some apps run text through Unicode normalization that merges or drops combining marks. Anti-spam filters sometimes flag long runs of combining marks as a zalgo/glitch-text pattern and strip or reject them outright.

Fancy text is not searchable the way normal text is

Every style in this table uses a different set of Unicode code points than plain A-Z. A search engine, in-app search bar, or hashtag index matching the word "bold" won't match "๐—ฏ๐—ผ๐—น๐—ฑ" unless the platform specifically normalizes styled Unicode back to plain letters before indexing, and most platforms don't. That means fancy text in a bio or caption headline generally won't surface in on-platform search. Using it for an entire caption, instead of just a short stylized hook, can hurt discoverability.

Accessibility limitations for screen reader users

Screen readers pronounce characters by their formal Unicode name, not their visual shape. Circled/bubble letters often get read out as "circled latin small letter a," character by character, instead of the word itself. Mathematical bold, italic, script, and fraktur letters may be read with their formal Unicode names, or skipped, depending on the screen reader's symbol-handling settings. Combining marks like underline and strikethrough can be announced as separate characters or force words to be read letter by letter. Treat fancy text as a short decorative accent, not a substitute for body copy that needs to stay accessible.

Download the one-page cheat sheet

The full compatibility table above, condensed into a single printable PDF โ€” handy for content calendars, moderator FAQs, or a quick reference when you're not sure a style will render.

Download PDF cheat sheet

Frequently Asked Questions

Which fancy text style is safest to use everywhere?

Bold, italic, and bubble/circled text have the most complete Unicode coverage and render reliably across Instagram, TikTok, Discord, WhatsApp, Facebook, and X. If you only want one style that "just works," pick one of those three.

Why does my fancy font look fine on my phone but broken for someone else?

Rendering depends on the fonts installed on the viewerโ€™s device and the appโ€™s own font stack, not on the text itself. The same Unicode characters can display perfectly on a recent iPhone or Android phone and show as boxes on an older device, a desktop browser missing certain fonts, or a third-party client with a limited font set.

Can I use fancy Unicode fonts in my username?

It depends on the platform and the specific field. Bio and caption fields are usually permissive. Username/handle fields are frequently restricted to plain ASCII on Instagram, TikTok, and Facebook, while display-name fields (which are separate from the handle) are often more permissive but may still filter out styles like fraktur/gothic that resemble impersonation attempts.

Will people be able to find my post if I use fancy text in the caption?

Only partially. Fancy characters are different code points than plain letters, so in-app search and hashtags matched against plain text usually wonโ€™t surface fancy-text captions. Keep hashtags and key search terms in plain text, and use fancy styles for a short decorative hook instead.

Why do underline and strikethrough text break more often than other styles?

Theyโ€™re built from combining characters stacked on top of normal letters rather than single lookalike letters. That makes them more likely to be clipped by character limits, altered by text normalization, or stripped by anti-spam filters โ€” especially in WhatsApp, which also has its own native strikethrough formatting that can conflict with pasted Unicode versions.

Generate any of these styles now

Every style in the table above is available in the free generator โ€” type once, preview all styles, and copy the one that fits your platform.