What a Unicode formatter actually does
Most text formatting is stored beside the words, never inside them. A web page writes <b>ship it</b>, a Discord message carries **ship it**, a Word document stores a run with a bold font attribute. The letters are ordinary letters in all three cases. Only the markup says how to draw them.
That is exactly why formatting vanishes. Copy ship it from a web page and you copy six plain characters plus a hidden tag. Paste into an app that recognises HTML and the tag survives. Paste into an app that does not — a game chat, an Instagram bio, a WhatsApp status, a profile name — and the tag is discarded, because there is nowhere to put it. The text was never bold. The tag was.
Unicode formatting removes the tag entirely. Instead of wrapping the word, it replaces every letter with a different letter that happens to look bold. A lowercase a (U+0061) becomes \U0001D41A, a Mathematical Bold small a. The word is now spelled with characters that are shaped like a bold a. There is no tag left to strip, no attribute to drop, nothing for a receiving app to refuse. The styling is in the letters.
The same trick covers every style the Unicode standard defines. Italic, bold italic, script, bold script, fraktur, double-struck, sans-serif, monospace, fullwidth, circled, parenthesised, squared, small caps and negative circled letters all exist as complete alphabets, each occupying its own block of the standard. Pick a style and the whole alphabet is substituted.
Why this survives the internet. Unicode is the one format every device agrees on. A pixel is not portable, a font weight is not portable, an HTML tag is not portable — but a code point is. U+1D41A means the same thing on Windows, on iOS, on Android and in a ten-year-old console, so text styled this way survives copy, paste, send, forward, screenshot and re-render on someone else's device.
How to make bold text that stays bold
- Write or paste your text into the editor above. Paste straight from a browser, Google Docs, Word or a Markdown file — the markup is translated automatically, so you do not have to convert anything first.
- Apply a style. Use Ctrl+B for bold, or tap one of the visual style buttons. Each button is drawn in its own style, so you are choosing a look rather than reading a name.
- Pick your target platform from the pills. The formatter emits that platform's native markup where it exists, and falls back to Unicode where it does not.
- Copy and paste. The styling is now carried by the characters, so it looks the same on the other side.
For a quick example, make text bold on Instagram or in a Discord message: type the word, choose the bold style, and copy. The classic bold-serif look uses one character per letter; the lighter styles use two, because they sit above the ASCII range and need a surrogate pair. That matters for character limits — see fancy text in a TikTok bio for the numbers.
What each platform can actually show
There is no single “text formatting” feature to look for, because every app implements a different subset. This is the honest picture.
| Platform | Bold | Italic | Underline | Strikethrough | Best approach |
|---|---|---|---|---|---|
| Discord | Yes | Yes | No | Yes | Discord markup for bold and code, Unicode for underline and headings |
| Telegram | Yes | Yes | No | No | Telegram markdown, or Unicode where markup is switched off |
| Yes | Yes | No | No | One asterisk for bold, one underscore for italic, or Unicode | |
| Slack | Yes | Yes | No | No | Slack markup (*bold*), or Unicode |
| No | No | No | No | Unicode only — there is no markup to use | |
| TikTok | No | No | No | No | Unicode only, and watch the character budget |
| No | No | No | No | Unicode only | |
| X / Twitter | No | No | No | No | Unicode only |
| Yes | No | No | No | Reddit markdown **bold**, or Unicode | |
| Game chat (Roblox, Minecraft, Fortnite) | No | No | No | No | Unicode only, and only widely supported styles |
Rows marked No are exactly the cases people search for — they are the platforms where the only way to get styled text is to change the characters. Each one has its own guide below.
How the underline trick works
Most plain-text platforms have no underline at all. There is no underline character in ASCII, and no bold, italic or script character either — those live in the Mathematical Alphanumeric Symbols block, which is why letter substitution works for them but could never work for underline.
Underline is drawn instead with a combining mark: U+0332 COMBINING LOW LINE is appended after every character. One mark at the end of a word would only draw a line under the final glyph; repeating it after each character paints one continuous line across the whole word. The same technique produces U+0336 for strikethrough, U+0330 for a wavy line and U+0333 for a double underline.
The one caveat worth knowing. Combining marks are the least portable part of this output. Some fonts and some apps drop them, which is why underline is the first thing to vanish on an older device or inside a game client. If your target is one of those, switch the target pill to it — the formatter degrades underline to bold rather than emitting marks that will be discarded.
For the full background, including why some pasted styling disappears mid-word and how to diagnose it, read why your formatting keeps disappearing.
Unicode text styles you can use
Every style below is a real character in the Unicode standard. Tap one in the toolbar to apply it to your selection; the swatches show exactly what the other person will see.
There are 22 of them in the toolbar, plus heading styles, colour highlights, tables, banners and dividers. Open More tools to reach tables that align by display width (so CJK and emoji line up correctly), block-letter banners, ASCII art converted to shaded Unicode, and a decoder that reverses the whole thing back to plain text.
Formatting guides by platform
The same idea behaves differently on each app. These guides cover the specific syntax, the specific limits and the specific failure modes for each one.
Frequently asked questions
What is a Unicode formatter?
A Unicode formatter converts ordinary text into styled Unicode characters. Bold, italic, script and double-struck text each have their own characters in the Unicode standard, so instead of tagging a word as bold, the formatter replaces every letter with the bold variant of that letter.
The style is baked into the letters, which means it renders identically everywhere — including on websites and apps with no formatting support at all.
How do I make text bold on a site that does not support bold?
Use the bold Unicode letterforms. Type your text into the editor above, choose a bold style, and copy the result. Each letter is replaced by its Mathematical Bold counterpart — a lowercase a (U+0061) becomes \U0001D41A.
The receiving site has no formatting to lose, because the styling is part of the text itself. This is what makes it work in an Instagram bio, a TikTok username, a game chat or any other field with no formatting controls.
Why does my formatting disappear when I paste into another app?
Because formatting is normally stored separately from the letters. A web page writes <b>ship it</b>; a Discord message carries **ship it**. In both cases only the six plain letters travel unless the target app understands that markup.
Paste into an app with no formatting support and the markup is discarded, leaving bare letters. Unicode formatting avoids the problem entirely: the styled form is made of different characters, so there is no markup left to strip.
Does this work on Discord, WhatsApp, Telegram and Instagram?
Yes. Unicode characters are ordinary text rendered by the font, so they work on Discord, WhatsApp, Telegram, Slack, Instagram, TikTok, Reddit, Roblox and any other platform.
Each platform behaves differently enough to deserve its own guide — see the platform guides above.
Will other people see the styled text correctly?
Usually. Mathematical Alphanumeric Symbols and Letterlike Symbols are part of core Unicode and are covered by nearly every modern font on Windows, macOS, Android and iOS.
The exception is the small set of combining marks used to draw underlines and strikethroughs, which some fonts and some apps handle poorly. If your target is one of those, switch the target pill to it and the formatter will use a supported alternative instead.
Can I convert HTML or Markdown into Unicode text?
Yes. Paste HTML straight from a webpage, or a Markdown file, straight into the editor — or use the HTML / Markdown converter in the More tools panel. Headings, bold, italic, strikethrough, lists, quotes, code spans, tables and links are all translated into their Unicode equivalents.
Is the Unicode Formatter free and do I need an account?
It is free, with no sign-up, no trial and no feature locked behind an account. There is no server involved at all: your text is processed entirely inside your browser, so nothing you type is transmitted or stored anywhere.
How do I turn styled Unicode text back into normal text?
Paste it into the Decode panel under More tools. It strips the combining marks and maps the Mathematical Alphanumeric, Letterlike, Fullwidth and enclosed character sets back to their ASCII equivalents, returning readable text you can search and copy normally.
Does Unicode text work in usernames, bios and display names?
On most platforms, yes — but check the character count first. A 15-character name can become 60 characters in bold Unicode, because every letter is replaced by a surrogate pair. Instagram, TikTok and Discord all count the styled length, not the visible length.
Single-character styles such as script, fraktur, fullwidth and small caps are much safer for short fields.
Why does part of my styled text show as empty boxes?
That means the device is missing a glyph for one of the characters, which happens with rarer styles on older systems or inside some in-game chat clients. Try a more common style such as bold, italic or fullwidth.
The generator deliberately never emits unassigned code points, because those render as a blank box on some devices and as a different character on others.