A Unicode text converter looks like it changes your font, but what it really does is look up each character you type and replace it with a different character that has a similar shape. Understanding the three ideas behind that — code points, blocks, and mappings — explains both why the tool works everywhere and why a few letters never convert.
See it running on the Unicode text converter, which applies every mapping at once.
Code points: every character has a number
Unicode assigns each character a number called a code point — 'A' is U+0041, the script 'a' 𝒶 is U+1D4B6. Software stores and sends those numbers, and each device draws them using whatever font it has. A converter is just a table that says 'when you see U+0041, output U+1D4B6 instead'.
Blocks: styled alphabets live in ranges
Related characters are grouped into blocks. The Mathematical Alphanumeric Symbols block holds bold, italic, script, fraktur, and double-struck alphabets. Enclosed Alphanumerics holds bubble letters. Superscripts and Subscripts is its own small block. A converter picks the target block for each style.
Mappings: where conversions break
Some blocks were designed for maths or phonetics, not for writing full words, so they're incomplete. The Superscripts and Subscripts block has no form for several capital letters; the small-capitals set is missing a clean 'X'. When there's no target character, a good converter leaves your original letter in place rather than substituting a look-alike from a different script — which is why you sometimes see one normal letter in a styled word.
Why it survives copy-paste
Because the output is genuine characters with real code points, copying it copies the code points, and pasting it pastes them. There's no formatting layer to lose. The only failure modes are an app that filters certain ranges, or a device whose fonts don't include a glyph for that code point — in which case you see a box, sometimes called 'tofu'.
Converter vs font vs image
Installing a font changes how text looks on your device only; other people see their own font. Saving text as an image fixes the look but loses selectability, search, and accessibility. A Unicode converter is the middle path — the styling is in the characters, so it looks the same for everyone and stays real text. Copy and paste fonts covers the practical trade-offs.
Reading a code point yourself in thirty seconds
Every styled character is an ordinary character with a number, and you can look that number up without any tooling.
Take the small-capital A, which is U+1D00. The U is for Unicode, the 1D00 is hexadecimal, and the block it sits in is called phonetic extensions. Now take the bold A at U+1D400 in mathematical alphanumeric symbols, and the double-struck A at U+1D538 in the same block. Three different alphabets, three different ranges, one shared design: each block provides a set of letters that look like a style.
That is also why coverage is uneven. Blocks were created for notation, so the characters that notation needed arrived first and complete, while letters nobody needed in a formula were never added.
| Block | Example | What it provides |
|---|---|---|
| Latin letters, basic | A a | The plain alphabet you type |
| Phonetic extensions | ᴀ ʙ ᴄ | Small capital letters |
| Superscripts and subscripts | ² ₂ | Digits and a few symbols |
| Mathematical alphanumeric symbols | 𝐀 𝘼 𝔸 | Bold, italic, script, fraktur, double-struck |
| Enclosed alphanumerics | ①② Ⓐ | Circled and parenthesised characters |
| Combining diacritical marks | a combining marks | Zalgo and other stacked effects |
Why conversion is a lookup rather than a transformation
A converter does not stretch or rotate your text. It reads each character, finds the matching character in the target block, and writes that one instead. Where no match exists, it copies the original through unchanged, which is exactly what you see when a subscript word keeps one full-size letter.
This is also why some conversions are reversible and some are not. Converting bold back to plain is a lookup in the other direction, and it works for every letter in that block. Converting a zalgo string back is harder, because the marks are separate characters stacked on a base letter and there is no single correct number of them to remove.
The practical upshot: any converter you use is deterministic. The same input produces the same output, and a difference you see in the results is a difference in the block's coverage rather than a difference in cleverness.