Open any popular Instagram or TikTok bio and you will find at least one piece of text in a bold, italic, or script "font" that does not match the rest of the app. There is no font picker in Instagram. There is no custom CSS in a TikTok bio. So how do creators do it?
The trick is not a font at all. It is a quirk of the Unicode standard that gives you thirteen complete alphabets to work with, including bold, italic, monospace, double-struck, and several script styles. Pasting them anywhere — Instagram, X, TikTok, Discord, LinkedIn — works because the styling is baked into the character, not into the rendering layer.
This guide explains where these characters come from, how to use them well, and the situations where they cause real harm — accessibility, search, and cross-platform compatibility.
What you are actually looking at
The Unicode standard, which assigns a unique code point to every text character on every modern computer, has a dedicated block called Mathematical Alphanumeric Symbols in the range U+1D400 to U+1D7FF. Unicode added it in 2001 so that math equations could distinguish a normal italic x (a variable) from a bold roman x (a constant) at the character level, without depending on a particular font.
The block contains thirteen full alphabets — both uppercase and lowercase Latin letters:
- Bold (𝐀 𝐁 𝐂 … 𝐚 𝐛 𝐜)
- Italic (𝐴 𝐵 𝐶 … 𝑎 𝑏 𝑐)
- Bold Italic (𝑨 𝑩 𝑪 … 𝒂 𝒃 𝒄)
- Script (𝒜 ℬ 𝒞 … 𝒶 𝒷 𝒸)
- Bold Script (𝓐 𝓑 𝓒 … 𝓪 𝓫 𝓬)
- Fraktur (𝔄 𝔅 ℭ … 𝔞 𝔟 𝔠)
- Bold Fraktur (𝕬 𝕭 𝕮 … 𝖆 𝖇 𝖈)
- Double-struck (𝔸 𝔹 ℂ … 𝕒 𝕓 𝕔)
- Sans-serif (𝖠 𝖡 𝖢 … 𝖺 𝖻 𝖼)
- Sans-serif Bold (𝗔 𝗕 𝗖 … 𝗮 𝗯 𝗰)
- Sans-serif Italic (𝘈 𝘉 𝘊 … 𝘢 𝘣 𝘤)
- Sans-serif Bold Italic (𝘼 𝘽 𝘾 … 𝙖 𝙗 𝙘)
- Monospace (𝙰 𝙱 𝙲 … 𝚊 𝚋 𝚌)
Plus the older Halfwidth and Fullwidth Forms block (Fullwidth), Enclosed Alphanumerics (Ⓒⓘⓡⓒⓛⓔⓓ, ⒫⒜⒭⒠⒩⒮), and Enclosed Alphanumeric Supplement (🅂🅀🅄🄰🅁🄴🄳), which add circled, parenthesized, and squared variants. Combining the math alphabets with these older blocks gives you the 22-or-so styles you see in any "fancy text generator" online.
Why it works everywhere
Because each fancy character is encoded as a distinct Unicode code point — not as plain text rendered through a special font — the styling is part of the data, not part of the presentation. Every modern operating system, browser, and app that supports Unicode (essentially everything built since 2010) can render the characters using whatever font is already installed.
That is why pasting 𝐡𝐞𝐥𝐥𝐨 into Instagram works without any styling on the Instagram
side: the platform stores the exact code points U+1D421 U+1D41E U+1D425 U+1D425 U+1D428, and your
phone's emoji and symbol font renders them as bold "hello". No HTML, no CSS, no rich-text editor
required.
The gaps and fallbacks
Several letters are missing from the math alphabets because Unicode had already assigned them earlier as standalone "letterlike symbols". When you generate a script-style alphabet, a careful implementation falls back to the older canonical character so the output is consistent.
| Style | Reserved code points fall back to |
|---|---|
| Script | ℬ (B), ℰ (E), ℱ (F), ℋ (H), ℐ (I), ℒ (L), ℳ (M), ℛ (R), ℯ (e), ℊ (g), ℴ (o) |
| Fraktur | ℭ (C), ℌ (H), ℑ (I), ℜ (R), ℨ (Z) |
| Double-struck | ℂ (C), ℍ (H), ℕ (N), ℙ (P), ℚ (Q), ℝ (R), ℤ (Z) |
| Italic | ℎ (h) |
A generator that does not handle these exceptions will produce broken output — typically a question mark in a box (the missing-glyph indicator) where the letter should be. If you copy text from a generator and a single letter looks wrong, this is almost certainly the cause.
The accessibility problem
Screen readers — software that reads digital content aloud for blind and low-vision users —
rely on the Unicode database to pronounce each character. For ordinary letters, they say "a"
or "the letter A". For the math alphabets, almost every screen reader reads the full
official Unicode name. The bold lowercase a (𝐚, U+1D41A) is announced as
"mathematical bold small a". A bio that reads "𝓜𝓪𝓻𝓲𝓪 ❀ 𝓟𝓱𝓸𝓽𝓸𝓰𝓻𝓪𝓹𝓱𝓮𝓻" is heard as a string of
twenty mathematical announcements with a flower emoji between them.
The W3C addressed this directly in WCAG technique F87: using mathematical alphanumeric symbols for stylistic purposes outside of math content is a failure of the readability criterion. The technique recommends restricting these characters to actual mathematical context.
The same problem exists for voice assistants, automated captions on video, and any text crawler that respects Unicode metadata. The visual styling looks the same to a sighted user — and entirely different (or invisible) to everyone else.
The search problem
Search engines and platform search bars index the actual code points, not the visual glyphs.
A profile name written as 𝙅𝙊𝙃𝙉 will not match a search for JOHN in plain text, because the underlying characters are different.
Instagram, TikTok, and YouTube all index profile fields character-by-character. If your handle is in plain ASCII but your bio is entirely in math italic, the bio will not show up for any user who types your keywords in the standard alphabet. To stay discoverable, leave at least one occurrence of every important keyword in normal text.
Google's general web search behaves similarly for indexed pages: a heading set in math bold contributes a different token to the inverted index than the same word in plain text. For an Instagram bio this barely matters, but for a website headline it can quietly delete SEO value.
When fancy fonts are the right choice
- Display names and one-line bios. A single, short, visual flourish — usually on a profile where everything else is in normal text — gives you the brand signal without destroying accessibility for the entire profile.
- Section dividers inside long posts. Small caps and bold monospace work especially well as visual anchors because they are easy to scan and stay legible.
- Visual quotes inside captions. A pulled quote in italic Unicode looks distinctive without breaking the surrounding prose.
When to leave them out
- Long body copy. Anything more than a sentence is a punishment for screen reader users and a slog for everyone else.
- Hashtags. Platforms index hashtags as plain Unicode, so a fancy hashtag simply does not match the equivalent normal-text tag and gives you no reach.
- Calls to action and links. A "shop now" or "tap link in bio" written in fancy fonts is harder for skimmers, voice users, and translation tools to parse.
- SMS, transactional email subject lines, and push notifications. All can fall back to clients that do not support Unicode math symbols. Empty boxes in a marketing SMS are not a good first impression.
Picking the right style
If you have decided that a touch of fancy text is right for the spot, a few practical rules help pick the style:
- Bold sans-serif and bold serif are the safest. They look intentional, work cleanly at small sizes, and even render correctly in most older Android keyboards.
- Italic styles render well visually but are the worst for screen readers, because the announced Unicode names are longer and more disruptive.
- Script and fraktur are the most distinctive and the most fragile. They depend on the user's system having a font that covers the full math alphabet; on devices with limited font support, characters may render as tofu (□).
- Double-struck and circled look great in headers and dividers but should never appear in copy that needs to be searched, read aloud, or translated.
The simplest way to try a style without committing is to paste one short word at a time and see how it sits next to your normal text. The Unicode Font Generator on this site renders all 22 styles side by side and lets you copy any of them with a single click.