Fancy Text Generator – 𝐁𝐨𝐥𝐝, 𝓢𝓬𝓻𝓲𝓹𝓽 and ᴀᴇꜱᴛʜᴇᴛɪᴄ Fonts You Can Paste Anywhere
The Fancy Text Generator turns ordinary typing into dozens of styled Unicode fonts — bold, italic, cursive script, gothic fraktur, monospace, double-struck, bubble letters, square letters, upside-down text and the fullwidth vaporwave look. Because the result is a plain string of characters rather than a formatting instruction, it survives copy and paste into Instagram bios, TikTok captions, X posts, Discord names, YouTube titles, Reddit comments, WhatsApp status lines, LinkedIn headlines and gaming nicknames — all places where there is no bold button.
Why plain-text fields can still show styled letters
Unicode assigns a number to every character, and along the way it encoded entire alphabets that were already drawn in a particular style. Mathematicians needed a bold R that meant something different from an italic R, so the Mathematical Alphanumeric Symbols block at U+1D400–U+1D7FF holds bold, italic, script, fraktur, double-struck, sans-serif and monospace alphabets as separate characters. Typographers of East Asian text needed double-width Latin letters, so Halfwidth and Fullwidth Forms exists. Circled and squared letters live in Enclosed Alphanumerics. This tool simply looks each character up and swaps it.
| Style | Example | Base codepoint for A |
|---|---|---|
| Bold | 𝐌𝐨𝐧𝐨𝐂𝐚𝐥𝐜 | U+1D400 |
| Bold Script | 𝓜𝓸𝓷𝓸𝓒𝓪𝓵𝓬 | U+1D4D0 |
| Fraktur | 𝔐𝔬𝔫𝔬ℭ𝔞𝔩𝔠 | U+1D504 |
| Double-Struck | 𝕄𝕠𝕟𝕠ℂ𝕒𝕝𝕔 | U+1D538 |
| Fullwidth | MonoCalc | U+FF21 |
| Circled | ⓂⓞⓝⓞⒸⓐⓛⓒ | U+24B6 |
The reserved slots that break naive generators
Converting looks like simple arithmetic: take the offset of the letter from Aand add it to the block’s base codepoint. It almost works. A handful of slots in the mathematical block were left empty because the glyph had already been encoded years earlier in Letterlike Symbols. Script B, for example, is not at the arithmetic address — it is ℬ at U+212C. Miss those exceptions and users see empty boxes in the middle of a word. This generator patches all of them: eleven in script, five in fraktur, seven in double-struck and the italic h, which is the Planck constant ℎ at U+210E.
Combining marks, decorations and nicknames
Strikethrough and underline work differently. Instead of substituting a letter, the tool appends a combining mark after each character — U+0336 for a long stroke, U+0332 for a low line, U+0305 for an overline. The mark renders on top of whatever precedes it, so S̶o̶l̶d̶ stays readable while looking crossed out. Decoration presets such as ꧁ ꧂ and ★彡 wrap the finished string for gaming tags and profile headers, and letter-spacing options insert a space or middle dot between characters for the aesthetic look.
Counting characters the way platforms do
A styled letter is one codepoint but two UTF-16 units and usually four UTF-8 bytes, and X weights every non-Latin character as two characters. That means a styled post fills the 280-character limit at roughly 140 visible letters, and combining marks double the codepoint count again. The tool reports codepoints, graphemes, UTF-8 bytes and the weighted length side by side, with progress meters against the Instagram bio limit of 150, the X post limit of 280, the TikTok bio limit of 80 and the LinkedIn headline limit of 220.
Font support and the tofu box problem
Every style here is valid Unicode, but a device can only draw what its fonts contain. Squared, circled-filled and regional-indicator letters are the most likely to appear as ▯ replacement boxes, especially on older Android system fonts, while bold, italic, fullwidth and small caps render almost everywhere. Each style card carries compatibility hints so you can pick something that survives the trip.
NFKC normalisation on styled text folds every variant straight back to plain ASCII. Some platforms do this on submit, which is why a bio occasionally reverts to ordinary letters. Paste, then check before you save.Decoding fancy text back to plain letters
The Decode mode inverts the same lookup tables, strips combining marks and spacing separators, and applies NFKD normalisation to anything left over — useful when you have copied a styled username and need the searchable original. Lookalike sets assembled from unrelated scripts are ambiguous by nature and are skipped rather than guessed at. Everything runs in your browser, so no draft you paste in ever leaves your device.