tooldura
Social Media

Fancy Text Is Not a Font: Where Unicode Bold Comes From and What It Costs

T
tooldura editorial
7 min readUpdated October 20, 2026Open tool →

Instagram bios and LinkedIn headlines have no bold button, yet both are full of 𝐛𝐨𝐥𝐝 and 𝓬𝓾𝓻𝓼𝓲𝓿𝓮 text. None of it is formatting. Every styled letter is a separate character with its own code point, most of them taken from a block Unicode added for mathematicians, and that origin explains both why the trick works everywhere and why it quietly breaks things.

A Block Built for Equations

Unicode 3.1, released in 2001, added the Mathematical Alphanumeric Symbols block at U+1D400 to U+1D7FF. In mathematics the style of a letter carries meaning: a bold v is a vector, an italic v is a variable, and a double-struck R is the set of real numbers. Those distinctions have to survive copying between documents, so they could not be left to fonts, and Unicode encoded each style as its own alphabet.

The block holds 996 characters: thirteen full Latin styles (bold, italic, bold italic, script, bold script, fraktur, bold fraktur, double-struck, sans-serif in four weights and monospace), Greek in five of them, and five sets of digits. The Unicode Standard says plainly that these characters are meant for mathematical notation and are not a substitute for styled text, which is exactly how social media ended up using them.

The reason they caught on is that a platform which strips all formatting still has to keep characters. A bio field that refuses a <b> tag accepts U+1D41B because, as far as the software can tell, it is just a letter from an unusual alphabet.

Where Each Style Comes From

Coverage refers to plain Latin letters and digits. Anything a style does not cover, including accented letters, punctuation and emoji, is left as it was.

StyleSourceCoverageNotes
Bold, Bold SansMathematical Alphanumeric SymbolsA–Z, a–z, 0–9The best supported of all the styles
Italic, Bold Italic, Italic SansMathematical Alphanumeric SymbolsA–Z, a–zItalic h is ℎ, the Planck constant, from Letterlike Symbols
Cursive (script)Math block plus Letterlike SymbolsA–Z, a–zEleven letters come from the older block
Gothic (fraktur)Math block plus Letterlike SymbolsA–Z, a–zC, H, I, R and Z come from the older block
Outline (double-struck)Math block plus Letterlike SymbolsA–Z, a–z, 0–9ℂ ℍ ℕ ℙ ℚ ℝ ℤ predate the rest
TypewriterMathematical Alphanumeric SymbolsA–Z, a–z, 0–9Monospace, so columns line up
BubbleEnclosed AlphanumericsA–Z, a–z, 0–9Older than the math block, widely supported
Black Bubble, Square, Black SquareEnclosed Alphanumeric SupplementA–Z onlyCapitals only, and some render as emoji
Small Caps, TinyPhonetic and modifier lettersMost lettersNo small-capital x, no superscript q
WideHalfwidth and Fullwidth FormsAll of printable ASCIIMade for mixing Latin into CJK text
Strikethrough, UnderlineCombining marksEvery characterA mark is added after each character, not substituted

The 24 Empty Slots

The math block was not the first place Unicode encoded styled letters. Letterlike Symbols, part of Unicode since 1993, already held ℎ for Planck's constant, ℝ for the real numbers, ℌ for Hilbert space and a handful of script capitals used in physics. Encoding those a second time would have created duplicates, so the math block leaves their slots reserved and empty.

There are 24 of them across the Latin styles: one in italic, eleven in script, five in fraktur and seven in double-struck. A generator that computes each letter as "start of the alphabet plus position" lands in those holes and prints an unassigned code point, which most devices draw as an empty box. Script is the worst affected because the gaps include e and o, so a word as ordinary as "Hello" breaks in two places.

The fix is a lookup table for the exceptions rather than a smarter formula, which is what the generator on this site does. It is also why ℬ, ℰ and ℯ can look a little different from their neighbours: they were drawn for a different block, often by a different type designer.

What Styled Text Costs You

The characters paste cleanly almost everywhere. The trouble starts once software, or a person using assistive technology, tries to read them.

1

Double the characters on X

X weights each character by code point. Basic Latin and most European scripts count as one, and anything outside a few listed ranges counts as two, which covers the whole math block. A 150-character post written entirely in bold costs 300 and will not send on a standard account.

2

Screen readers do not see words

𝐒𝐚𝐥𝐞 is four mathematical symbols, not the word sale. Depending on the screen reader and its verbosity settings, it may be read as "mathematical bold capital S" and so on for every letter, spelled out, or skipped entirely. A bio written wholly in a styled font can be unintelligible to a blind visitor.

3

Search and hashtags miss it

Most platform search compares the characters you typed. A post that says 𝐠𝐢𝐯𝐞𝐚𝐰𝐚𝐲 does not contain the string giveaway, and a styled hashtag is a different hashtag from the plain one.

4

Some devices show boxes

Current iOS, Android, Windows and macOS ship fonts for bold, italic and script. Older Android builds, embedded browsers and devices like smart TVs often lack the rarer sets, and the enclosed capitals are the first to fail.

5

Forms reject it

Handles, email fields and most sign-up forms allow a fixed character set and refuse these outright, so styled text belongs in display names and bios, never in a username.

🔊

Listen to it before you publish

Turn on VoiceOver on an iPhone or TalkBack on Android and let it read your bio aloud. It takes thirty seconds and shows immediately whether the styled part comes through as words, as a string of symbol names, or not at all.

Why Some Systems Quietly Undo It

Unicode records that 𝐀 is a styled A. Unicode Standard Annex #15 defines compatibility normalization, NFKC, which folds characters like 𝐀, Ⓐ and A back to a plain A. Software that applies it before comparing text treats the styled and plain versions as the same word.

Whether a given platform does that before search, moderation or spam filtering is not documented and changes over time, so it is safer to assume the styled version is not matched than to rely on it. The same lookalike problem is why a styled username is refused rather than accepted: identifier rules built on Unicode's security recommendations in UTS #39 exclude these characters precisely because they pass for ordinary letters.

Not every style folds back. The black bubble and black square letters, small caps and upside-down text have no compatibility mapping at all, so to normalization they are entirely unrelated characters.

Try every style on your own text

51 styles side by side, each one ready to copy into a bio, caption or post.

Open Fancy Text Generator →

Where It Earns Its Place

Used sparingly, styled text does what it is meant to: it catches the eye in places with no formatting at all. A single bold word at the top of a LinkedIn post, a styled display name, or bold section labels inside an Instagram bio all add emphasis without making the text unreadable.

The pattern that works is decoration around plain text, not instead of it. Keep the words people search for, the hashtags, links, dates and anything someone has to act on in ordinary letters, and use the styled characters for the part that is there to look good.

When in doubt, bold sans is the safest choice. It has the widest font support of any style, it reads closest to real bold, and its letters all come from one block, so there are no mismatched glyphs mid-word.

Frequently Asked Questions

Found this guide useful? Pass it on.

Related Tools

Keep Reading