Styled text: Unicode alphabets, zalgo and upside-down

Bold in a chat field is not a font setting. Fancy text swaps each letter for a different Unicode character, and that changes what the text is, not how it looks.

Three tricks, one idea

Fancy text maps letters to the Mathematical Alphanumeric Symbols block: Bold becomes 𝐁𝐨𝐥𝐝 — five different code points that happen to render in a bold face. Zalgo text stacks combining marks on a base character, so one letter is followed by many accents that pile up above and below it. Upside-down text maps each letter to a character that resembles it rotated 180° and reverses the order: Hello becomes ollǝH.

All three produce valid Unicode text. None of them changes the font, the weight or the layout. That is why the result survives a copy into an app with no formatting support — and why it breaks the moment a system compares it to ordinary letters.

What the mappings do not cover

Each alphabet maps only the characters its block defines. ASCII letters are covered; digits only where the block has a digit set; accented letters, Cyrillic, CJK and emoji pass through unchanged. So Café in bold becomes 𝐂𝐚𝐟é, with the é in the page's own font. There is no mathematical bold é in Unicode, and no converter can invent one without lying about the code point.

Zalgo is different: it does not replace the base letter, it appends combining marks. The intensity setting controls how many marks are added. A little produces a subtle glitch; a lot can make a line unreadable and can overflow the layout, because the marks are drawn outside the character's normal box. The remover strips the combining marks and returns the base letters, which is why it can recover text that was only glitched, not transformed.

Search, accessibility and identity

PropertyStyled textOrdinary text
Search matchesNo — different code pointsYes
Screen readerMay read letter by letter or skipReads normally
SortingSorts away from ASCIIPredictable
Database uniquenessLooks identical, compares differentCompares as expected

A username, a display name that people search, a filename or a key in a database should not be styled. Decoration in a post or a caption is fine; an identifier that must be found, sorted or read aloud is not. This is the same distinction as the difference between formatting and encoding: styling is a presentation choice, and these tools change the text instead.

Upside-down text has an extra limitation: the mapping is approximate. Not every letter has a rotated counterpart, so some characters stay as they are or are replaced with a lookalike; the result reads only when the reader mentally rotates it. It is a puzzle format, not a reversible encoding.

Zalgo and layout

Combining marks are drawn outside the base character's box, so a heavily glitched line can overlap the line above, push a layout sideways or be clipped by a container with a fixed height. The intensity setting is the control: a few marks produce a subtle effect and stay within the line box; many marks turn the text into a visual texture that is not readable. If the glitched text is meant to be copied, keep the base letters recoverable by using a lower intensity.

Copying between apps

Whether a styled string survives depends on the destination's validation, not on the generator. A field that accepts arbitrary Unicode keeps it; a username policy of [a-z0-9_] strips every styled letter; a platform that normalises input may fold the characters back to ASCII (NFKC does that for mathematical letters). A password field is the worst case: the character is not on the keyboard, so a user who pastes it may be unable to retype it on another device. Test the destination with one word before decorating a whole profile.

When not to use them

  • Names and handles that people need to type, search or mention.
  • Anything a machine parses — CSV keys, JSON fields, email addresses, URLs.
  • Accessible content: a screen reader may not read mathematical letters at all.
  • Forms with character policies: [a-z0-9_] strips every styled letter.

Questions this guide raises

Is fancy text real bold?

No. It is a different set of Unicode characters that render in a bold-looking font. The text has no font weight; if the destination uses a font without those glyphs, it may show boxes or fall back to another face. Real bold requires formatting support in the destination.

Can I undo zalgo text?

The combining marks can be stripped, which restores the base letters — that is what the remover does. If the text was also transformed (letters replaced by other code points), stripping marks will not restore the original; only the glitch layer is removable.

Why does upside-down text read backwards?

Because rotating a line by 180° reverses its order as well as its glyphs. The tool maps each letter to a rotated lookalike and reverses the sequence, so the result reads correctly when the line is turned upside down. It is a visual puzzle, not a reversible encoding.