The tweet that started this
In January 2019, the developer Kent C. Dodds posted a short tweet that has followed this little corner of the internet ever since. It contained a sentence in styled Unicode characters, the kind of pretty lettering people paste into bios and usernames, plus a recording of VoiceOver, the screen reader built into Apple devices, trying to read it out loud. His message was simple: you think it is cute to write your tweets and usernames this way, but have you listened to what it sounds like with assistive technology?
The UK disability charity Scope still uses that example in its guidance for businesses. The letters looked fine. To a person listening instead of looking, they were a mess.
I build a fancy text generator. It is called Fonti, and people use it every day to turn plain words into 𝓬𝓾𝓽𝓮 (cute), bold, script, gothic, and dozens of other styles, then paste the results into Instagram bios, Discord names, TikTok captions, and game profiles. So this is not an outsider scolding an industry. It is the warning label I wish shipped with my own product. Styled text is genuinely useful and fun. It also has real costs most people who use it have never heard described.
First, what fancy text actually is
The most common misunderstanding is right in the name. Fancy text is not a font. A font is a coat of paint: the letter underneath stays the same letter, and only its appearance changes. Copy text out of a nicely designed page and the styling falls away, because the words were ordinary all along. Styled text works the other way around.
When a generator turns "cute" into 𝓬𝓾𝓽𝓮, it is not painting your letters. It is swapping each letter for a completely different character that happens to look like a decorated version of it. To you, 𝓬 looks like a fancy c. To your phone, it is a character with its own name and identity: MATHEMATICAL BOLD SCRIPT SMALL C, codepoint U+1D4EC.
Where do these characters come from? Most live in a Unicode block called Mathematical Alphanumeric Symbols, U+1D400 to U+1D7FF, with 997 assigned codepoints. Unicode added them in version 3.1, in 2001, and not for decoration. They exist so mathematicians can write plain text where style carries meaning: in an equation, a bold variable and an italic variable are genuinely different things.
Unicode itself is unusually blunt about this. The official code chart for the block carries this note: "To be used for mathematical variables where style variations are important semantically. For general text, use standard Latin and Greek letters with markup." The people who maintain the character set are telling us, in writing, that these characters were never meant for general text. Every fancy text generator, mine included, is a polite misuse of a maths notation system.
The borrowed alphabet even has holes in it, which explains a small mystery you may have noticed: sometimes one letter in a styled word looks subtly off, in a slightly different weight or shape than its neighbours. A few characters were never duplicated into the math block at all. The mathematical italic small h has a reserved, empty slot at U+1D455, because a suitable character already existed elsewhere in Unicode, the Planck constant symbol ℎ, and generators quietly borrow it. Your styled word is a patchwork, and machines trip over its seams constantly.
Here is one word, four ways, with a plain twin beside each, because this article practises what it preaches:
You type: cute | You get: 𝓬𝓾𝓽𝓮 | First letter really is: MATHEMATICAL BOLD SCRIPT SMALL C
You type: cute | You get: 𝒸𝓊𝓉ℯ | First letter really is: MATHEMATICAL SCRIPT SMALL C
You type: cute | You get: Ⓒⓤⓣⓔ | First letter really is: CIRCLED LATIN CAPITAL LETTER C
You type: cute | You get: 𝕔𝕦𝕥𝕖 | First letter really is: MATHEMATICAL DOUBLE-STRUCK SMALL C
Four visually similar results. Four completely different strings of characters, as far as any software is concerned.
Cost 1: For some of your readers, it says nothing at all
A screen reader is software that reads a screen aloud for people who are blind or have low vision. It does not see your page the way you do. It walks through the underlying characters and speaks what it finds.
The most careful public test of this comes from Adrian Roselli, an accessibility specialist who has been raising the alarm about fake bold and italic text since 2018. In his piece Don’t Use Fake Bold or Italic in Social Media, he recorded six common screen reader setups, covering roughly 78 percent of primary screen reader use, and played them styled text. The results split into three camps, and two of them are bad:
NVDA with Firefox — Not announced at all. The words vanish.
VoiceOver on macOS and iPadOS — Not announced at all. The words vanish.
Narrator — Not announced at all. The words vanish.
JAWS with Chrome — Announces every letter individually, with its case and style.
TalkBack on Android — Reads them as regular text (behaviour in place since 2021).
Sit with the first three rows for a moment. On some of the most widely used setups in the world, a styled word in your bio is not read badly. It is not read.
The fourth row is its own punishment. JAWS spells the word out letter by letter, naming each character. Scope describes the same behaviour: a stylised letter t can be announced as “mathematical sans-serif script t.” Process a whole word that way and a short username becomes a slow recitation of mathematical nomenclature. Even a short word can take a long time for screen reader users to process.
The accessibility writer Per Axbom recorded the cleanest demonstration of the vanishing version: he styled just two words, “brown fox,” inside “The quick brown fox jumps over the lazy dog,” and the reader spoke the sentence with silence where those words should be.
Two honest caveats belong here. Behaviour varies by reader, version, and platform; TalkBack handles these characters gracefully, and things improve over time. But nobody can promise you which setup any particular follower uses, and that is precisely the problem: there is no safe assumption. US government guidance agrees: Section508.gov warns that screen readers may struggle with special characters and advises avoiding them in social media posts.
Cost 2: It cannot be found
Open your browser’s find function on any page full of styled text and search for a word that is visibly there, like “cute.” The find bar reports zero results, because find-in-page does not match shapes; it matches characters, and the characters in 𝓬𝓾𝓽𝓮 are MATHEMATICAL BOLD SCRIPT letters, not c, u, t, e. To the find function, the two words are unrelated strings.
Everything built on matching behaves the same way. Platform search does not match styled keywords, so a caption stuffed with styled words is a caption the search box cannot see. A hashtag written in styled characters, #𝓬𝓾𝓽𝓮, does not link to the real #cute and collects none of its traffic. A styled display name cannot be searched, which means people who heard about you cannot find you. People rediscover this the hard way with Instagram in particular; my companion piece on why your Instagram line breaks keep disappearing has the same theme: the platform processes the characters you gave it, not the ones you meant.
Style the garnish and nothing breaks. Style the substance, your name, your shop’s name, your campaign hashtag, and you have quietly opted out of being found.
Cost 3: On some phones, it is just boxes
The third cost is visible, at least, but only to other people. When a device has no font that covers a character, it cannot draw it, so it draws a stand-in: usually a small hollow rectangle. The industry nickname for that rectangle is tofu, because a row of them looks like little cubes of the food. The problem is common enough that Google named a whole font family after eliminating it: Noto, short for “no tofu.”
A display name in an elaborate style, admired on the owner’s new phone, can arrive on a follower’s older phone as this:
▯▯▯▯▯▯▯▯
Support is uneven by style and device. The bold and italic math styles are broadly safe on current phones. The script, fraktur, and enclosed styles, the ones people pick because they look distinctive, fail first on older and cheaper Android devices, which is exactly what much of a global Instagram or TikTok audience is holding. I keep a small one-page field guide to these rendering failures, Fancy text, fixed: the fancier the style, the more phones it silently excludes.
Questions people actually ask about fancy text
Why does my fancy text show as boxes on some phones?
Because the phone has no font that can draw those characters. When a character is not covered, the system draws a small rectangle instead, nicknamed tofu. Script, fraktur, and circled styles fail first, mostly on older Android phones.
Why can’t I find my own post when I search for my styled name or caption?
Search matches characters, not shapes. Your styled name and styled keywords are different strings from the plain words people type into the search box, so the platform cannot match them.
Why doesn’t Ctrl+F find words written in fancy text?
Find-in-page compares the exact characters you typed with the exact characters on the page. 𝓬𝓾𝓽𝓮 (cute) looks like the word you searched for, but its letters are mathematical symbols. To the find bar, the two words are unrelated.
What does a screen reader actually do with fancy text?
It depends on the reader, and none of the common outcomes is good. NVDA, VoiceOver, and Narrator skip the styled words entirely in recorded tests. JAWS reads every letter one by one, including its style name. TalkBack on Android reads them as regular text.
Is fancy text bad for SEO?
For the words you style, yes: matching systems treat styled words as unrelated strings, so styled keywords and hashtags do not connect to the plain versions people search for. Keep the important words plain and they stay findable.
Why do some letters look different in generated words?
Because the fancy alphabet has holes. A few characters were never added to the math block; the italic small h slot is empty, so generators borrow a similar character, the Planck constant symbol ℎ, from another block. Borrowed letters were designed separately, so they sit slightly differently.
Which fancy text styles are safest to use?
The bold and italic mathematical styles are the most widely supported on current phones, while script, fraktur, and enclosed styles fail first on older devices. No style is safe for essential information, though. Short, decorative, and paired with a plain-text twin is the safe pattern.
The fair counterpoint
If styled text were pure downside, nobody would use it, and the honest version of this article has to explain why millions of sensible people reach for it anyway.
The core reason is that the platforms gave them no choice. Instagram bios, most social posts, Discord names, and game profiles offer no real formatting at all: no bold button, no italic, no headings, nothing. People who want a name to feel like theirs, or one word in a caption to stand out, have exactly one tool available: swapping the characters themselves. A styled word is emphasis in a place that forbids emphasis. A small business owner styling her shop’s name is not being frivolous; she is trying to be recognisable in a feed designed to make everyone look the same.
The villain is not the tool or its users. It is uninformed use: styling the words that carry information, styling everything instead of one thing, and never checking the result. You do not have to give styled text up. You have to demote it, from vehicle to decoration.
When to use it anyway: the rules
These rules are not my invention. They are the consensus you will find repeated by Roselli, by Scope, by Axbom, and in the careful guidance generator sites themselves publish.
One: keep styled text short and decorative. A word or two. A heading. A name flourish. Never sentences, never whole captions. If the styled part vanished entirely, and on some readers it will, the message should still make sense.
Two: never style essential information. Dates, prices, instructions, contact details, links, and hashtags always stay plain. Anything somebody must act on, copy, search for, or tap goes in ordinary characters. No exceptions for aesthetics.
Three: give every styled word a plain-text twin. Repeat the message in ordinary letters nearby, in the caption body or right after the styled version. And keep alt text plain, always: alt text is read aloud, so styled characters there recreate the exact problem.
Four: keep your name and handle plain. Your name is how people search for you, mention you, and tag you. The name itself stays searchable, letter for plain letter.
Five: where real formatting exists, use it instead. If a platform offers actual bold or italic, that formatting is announced properly by assistive technology and survives search. Styled characters are the workaround for places with no formatting, not a replacement for places that have it. The same spectrum has an even quieter end, invisible and blank characters, which I picked apart in Blank Names and Invisible Characters.
Six: if you use a generator, use one that keeps the plain text in sight. Most generators show you forty pretty outputs and hide what you started with. Use one that shows plain text next to styled text, so you can check before you copy. That is how I built Fonti, and even with a careful tool, the two checks below stay your job, because no generator can listen to your bio for you.
Here is Fonti doing its one job, turning plain words into styled text you can copy:
The 30-second self-test
First, turn on the screen reader you already own. On an iPhone or iPad that is VoiceOver; on Android it is TalkBack. Open your own profile and listen to your bio and your name, start to finish. Whatever you hear, including the silences, is what a blind follower hears.
Second, open your profile in a browser, press Ctrl+F, and search for your own name. If the find bar says zero results while you are staring at the words, search engines and platform search are having the same experience.
Then fix what you found with the rules above and run the test again. It will pass, and keep passing, because plain characters are the one format every device, every reader, and every search box agrees on.
Style is a spice, not the meal. A pinch of it makes a plain profile feel like a person. A plateful of it quietly locks people out of your words: the follower who listens instead of looks, the customer searching your name, the fan on an old phone seeing boxes. Keep the words that matter plain, decorate the ones that do not, and fancy text becomes what it was always supposed to be: a small, deliberate pleasure that breaks nothing.
Iris Khan builds Fonti (fonti.cool), a free fancy text generator. More notes at the Iris Labs hub.