Decorated Text (Fancy Text)
TextEverything runs locally in your browser — nothing is uploaded
Every one of 18 Unicode styles at once, with optional combining styles on top: strikethrough, underline and Zalgo. ⚠️ To be clear first: these are not fonts, they are different code points. `𝐀` (U+1D400) and `A` are two entirely different characters. The consequences are real: screen readers cannot read them, search cannot find them (searching `abc` does not find `𝐚𝐛𝐜`), many input fields show tofu boxes, and some systems treat them as mojibake. So they are for a one-off laugh — a nickname, a social post, a signature. Not for anything formal, searchable, or read aloud. A restore direction is not optional. A tool that can only decorate is half a tool — when someone sends you `𝓗𝓮𝓵𝓵𝓸` and you want plain text, there is nothing to do. So the reverse mapping is here too: decorated characters are looked up back to ASCII, and combining marks layered on top of letters are stripped. ⚠️ Superscripts and subscripts are deliberately omitted: that set is incomplete in Unicode (`q` has no superscript form at all, and there are only about fifteen superscript letters). The result would be half the letters changed and half not, which looks broken.
Features
- ⚠️ The first line states that these are different code points, not fonts, and what that costs (unreadable, unsearchable, tofu boxes)
- All 18 styles at once: bold, italic, bold italic, script, bold script, fraktur, bold fraktur, double-struck, monospace, four sans-serif variants, circled, circled filled, squared, squared filled and fullwidth
- Optional combining styles: strikethrough, underline, slash-through and Zalgo (light and heavy)
- A restore mode that turns decorated text — combining marks included — back into plain text
- ⚠️ Combining marks are chosen deterministically: the same input always gives the same output, never a different look on each copy
- ⚠️ Uppercase-only styles (circled filled, squared) leave lowercase alone rather than silently uppercasing it
- Chinese, punctuation and emoji pass through untouched; only letters and digits are swapped
How to use
- Type the text; all 18 styles are listed at once
- Turn on the combining switch for strikethrough, underline and Zalgo
- To restore text someone sent you, switch the mode to Restore and paste it in
FAQ
- Why should these not be used for anything formal?
- Because they are not fonts but different code points: `𝐀` and `A` are two distinct characters. Three real consequences: screen readers cannot read them (or announce “mathematical bold capital A”), so people who rely on them get nothing; search fails — no site search or search engine will find the `abc` inside `𝐚𝐛𝐜`; and they may not render — if the font serving the page lacks those code points, the reader sees boxes. Great for a nickname, bad for a headline, where some of your readers get a row of squares.
- Why are there no superscripts or subscripts?
- Because those two sets are incomplete in Unicode. There are only about fifteen superscript letters (`ᵃᵇᶜᵈᵉᶠᵍʰⁱʲᵏˡᵐⁿᵒᵖʳˢᵗᵘᵛʷˣʸᶻ`) and `q` has no superscript form at all; subscripts are even scarcer. The result would be half the letters converted and half left alone, which reads as a broken tool. Better to omit it and say why than to ship a half mapping.
- Can Restore recognise every style?
- It recognises all 18 listed here, plus the combining styles (strikethrough, underline, Zalgo and so on). It works by looking decorated characters up in a reverse table and stripping combining marks. ⚠️ One case is deliberately kept: ordinary accented letters — the `é` in `café` is `e` plus combining U+0301, and the strikethrough mark U+0336 lives in the same block. So the rule is whether the combining mark immediately follows an ASCII letter: our decorations do, real accents do not.
- Why is the Zalgo output the same every time?
- Because combining marks are chosen by rotating by position, with no randomness. Plenty of tools in this category use `Math.random()`, so the same input produces a different result on every run — and copying it twice makes the user think they copied wrong. Deterministic output is easier to check and, crucially, possible to restore.
Related tools
Text Diff
TextCompare two blocks of text online and highlight added, removed and unchanged lines, so only the lines that changed are marked. Runs in your browser.
Word Counter
TextCount Chinese characters and English words separately, alongside characters, lines, real UTF-8 bytes, reading and speaking time, and SMS segment counts.
Text Cleaner
TextClean up a column pasted out of a log or spreadsheet: deduplicate, sort, drop blank lines, trim whitespace and strip line numbers, all in your browser.
Case Converter
TextConvert identifiers between fourteen naming styles. Words are split correctly first, so acronyms such as HTTPServer come out right, all in your browser.
Chinese Converter
TextConvert Chinese between simplified and traditional characters, leaning on common words first and the most usual form for the rest, all in your browser.
Regex Tester
TextTest a regex in the browser: live highlighting, capture groups, replace preview, a backtracking guard — and JavaScript, Python, Java, Go or PHP code.