Fancy Text Generator — 20+ Unicode Font Styles
Type once, get bold, italic, script, fraktur, monospace, circled, small caps, upside-down, zalgo and more — each with a one-tap copy button.
20+ Unicode styles update as you type — tap Copy on any row.
How it works
Every style above is made of real Unicode characters, not images. Type or paste your text, tap Copy on the style you like, then paste it anywhere text is accepted — chats, bios, usernames, posts.
Good to know
- Characters without a styled variant (emoji, most punctuation) are kept as-is.
- Some very old devices may show rare glyphs as boxes — preview before publishing.
- Everything runs locally in your browser; nothing is uploaded.
Does the length grow predictably?
The same styles run over four inputs of growing length — 2, 5, 9 and 13 characters. Measuring four lengths instead of one is the point: it shows whether a style has a fixed multiplier you can plan around, or one that drifts as the text gets longer.
| Style | gg (2) | fancy (5) | aesthetic (9) | copy paste me (13) | 2-char input | 13-char input |
|---|---|---|---|---|---|---|
| Bold (Serif) | 4 | 10 | 18 | 24 | 2.00× | 1.85× |
| Italic | 4 | 10 | 17 | 24 | 2.00× | 1.85× |
| Bold Italic | 4 | 10 | 18 | 24 | 2.00× | 1.85× |
| Script | 2 | 10 | 16 | 21 | 1.00× | 1.62× |
| Bold Script | 4 | 10 | 18 | 24 | 2.00× | 1.85× |
| Fraktur | 4 | 10 | 18 | 24 | 2.00× | 1.85× |
| Bold Fraktur | 4 | 10 | 18 | 24 | 2.00× | 1.85× |
| Double-Struck | 4 | 10 | 18 | 24 | 2.00× | 1.85× |
| Sans-Serif | 4 | 10 | 18 | 24 | 2.00× | 1.85× |
| Sans-Serif Bold | 4 | 10 | 18 | 24 | 2.00× | 1.85× |
| Sans-Serif Italic | 4 | 10 | 18 | 24 | 2.00× | 1.85× |
| Sans Bold Italic | 4 | 10 | 18 | 24 | 2.00× | 1.85× |
| Monospace | 4 | 10 | 18 | 24 | 2.00× | 1.85× |
| Circled | 2 | 5 | 9 | 13 | 1.00× | 1.00× |
| Negative Circled | 4 | 10 | 18 | 24 | 2.00× | 1.85× |
| Squared | 4 | 10 | 18 | 24 | 2.00× | 1.85× |
| Small Caps | 2 | 5 | 9 | 13 | 1.00× | 1.00× |
| Upside Down | 2 | 5 | 9 | 13 | 1.00× | 1.00× |
| Wide / Fullwidth | 2 | 5 | 9 | 13 | 1.00× | 1.00× |
| Strikethrough | 4 | 10 | 18 | 24 | 2.00× | 1.85× |
| Underline | 4 | 10 | 18 | 24 | 2.00× | 1.85× |
| Zalgo (Light) | 8 | 15 | 27 | 34 | 4.00× | 2.62× |
| Superscript | 2 | 6 | 10 | 14 | 1.00× | 1.08× |
| Subscript | 2 | 5 | 9 | 13 | 1.00× | 1.00× |
| Overline | 4 | 10 | 18 | 24 | 2.00× | 1.85× |
| Reversed | 2 | 5 | 9 | 13 | 1.00× | 1.00× |
The most important number on this page is that 17 of the 26 styles read 2.00× on the shortest input — not the 1.00× you would expect from a letter-for-letter swap. They get there by two different routes, and both cost the same:
- 14 replace the letter itself. Bold (Serif), Italic, Bold Italic, Bold Script, Fraktur… swap each character for a mathematical or decorative one that lives outside the Basic Multilingual Plane, and every such character is two UTF-16 units. The glyph looks like one letter; the field counts two.
- 3 keep the letter and add to it. Strikethrough, Underline, Overline leave the original character in place and stack one combining mark on top, which is also a second unit.
So “it is still one character on screen” and “the field now counts twice as many” are both true. Anything with a hard limit — game nicknames, profile names, bio fields — has half its apparent room in these styles.
Zalgo (Light) is in a category of its own at 4.00× on the short input and 2.62× on the long one — it stacks several combining marks per letter rather than one, which is what produces the glitch effect. At 20 typed characters that is roughly 52 units, so it is the style that breaks a limit fastest.
Script, Superscript look free and are not. They are both at 1.00× on the two-character input and at 1.62× on the thirteen-character one — because the short test word happened to be made entirely of characters this style has no variant for, and those stay as plain text at one unit each. That is the trap to know about: a quick test with a short word shows no growth at all, and the cost only appears once the real text contains characters with variants. Test with the actual name, not with a placeholder.
6 styles hold at 1.00× on every input (Circled, Small Caps, Upside Down, Wide / Fullwidth, Subscript, Reversed). Every character these styles produce sits inside the Basic Multilingual Plane and nothing is stacked on top of it, so one typed character stays one unit. If the field is already tight, this is the only group that costs nothing to try.
Watch the gap between the two multiplier columns. A style that reads 2.00× on a two-character input and 1.85× on thirteen characters is not behaving inconsistently — spaces and punctuation are never replaced, so the longer the text, the larger the share of cheap characters in it. The second column is therefore the realistic one: use it, not the first, when you are estimating how long a real sentence will come out.
Worked example. A field that accepts 30 units and a name of 12 letters: in a 2.00× style the letters alone cost 24, so after the spaces and any decoration adds its own few units there is nothing left. Either drop to a 1.00× style or shorten the name — those are the only two levers, and the two multiplier columns tell you which one the field is asking for.
All 26 styles side by side
The same words rendered in every style this site ships, using the identical conversion engine the generator runs in your browser. Scan the column, copy the one you want.
Single-style translators
Dedicated one-style tools:
Popular examples
The conversions and symbol sets visitors grab most: