Unicode Blocks Behind Every Style This Site Generates
Which Unicode block each of the 32 styles draws from, with the exact code point ranges, the official charts, and the characters each block leaves out.
Every style on this site is plain Unicode text. Nothing here is an image, a font file or a piece of CSS. When you copy styled text you are copying real characters that happen to look like a different typeface, which is why they survive a paste into a bio field that has no formatting controls.
That also explains every limitation on this page. A style can only render characters that exist in its block, and the blocks were never designed to be alphabets for social media.
Mathematical Alphanumeric Symbols
Most styles draw from this block, U+1D400 to U+1D7FF. It was added for mathematical notation, where a bold A and an italic A mean different things and therefore need separate code points.
| Style | Range starts at | Covers |
|---|---|---|
| Bold serif | U+1D400 | AโZ, aโz, 0โ9 |
| Italic serif | U+1D434 | AโZ, aโz |
| Bold italic serif | U+1D468 | AโZ, aโz |
| Sans-serif | U+1D5A0 | AโZ, aโz, 0โ9 |
| Bold sans-serif | U+1D5D4 | AโZ, aโz, 0โ9 |
| Italic sans-serif | U+1D608 | AโZ, aโz |
| Bold italic sans-serif | U+1D63C | AโZ, aโz |
| Monospace | U+1D670 | AโZ, aโz, 0โ9 |
| Script | U+1D49C | AโZ, aโz |
| Bold script | U+1D4D0 | AโZ, aโz |
| Fraktur | U+1D504 | AโZ, aโz |
| Bold fraktur | U+1D56C | AโZ, aโz |
| Double-struck | U+1D538 | AโZ, aโz, 0โ9 |
The holes in this block
The block is not a clean run. Unicode had already encoded several of these letters elsewhere, as โletterlike symbolsโ, so the mathematical block skips them and the older code point has to be substituted.
Script style borrows eight characters this way: โฌ, โฐ, โฑ, โ, โ, โ, โณ, โ, plus โฏ, โ and โด in lowercase. Fraktur borrows โญ, โ, โ, โ and โจ. Double-struck borrows โ, โ, โ, โ, โ, โ and โค. Italic serif borrows โ for lowercase h.
If a style seems to render one letter in a slightly different weight, this is why. The substituted character comes from a different part of the standard and font designers did not always draw it to match.
Digits
Only five of these styles include digits: bold serif, sans-serif, bold sans-serif, monospace and double-struck. The script, fraktur and italic styles have no digit range at all, so numbers pass through unchanged. That is not a bug in the generator; those code points do not exist.
Enclosed Alphanumerics
Circled letters come from U+24B6 (โถ) for uppercase and U+24D0 (โ) for lowercase, with digits 1โ9 at U+2460 and zero at U+24EA.
Filled circled letters come from U+1F150 (๐ ), which is in Enclosed Alphanumeric Supplement. That block has uppercase only, so lowercase input is mapped to the same uppercase glyph.
Squared letters come from U+1F130 (๐ฐ) and filled squared from U+1F170 (๐ ฐ), both uppercase only for the same reason.
Halfwidth and Fullwidth Forms
Fullwidth, the vaporwave look, uses U+FF21 to U+FF5A plus U+FF10 to U+FF19. These are the wide forms used in Chinese, Japanese and Korean typesetting, where Latin letters occupy the same square cell as a CJK character. The extra spacing is the character, not padding added by the tool.
Phonetic Extensions and Spacing Modifiers
Small caps are assembled from several blocks rather than one, mostly IPA Extensions and Phonetic Extensions. Coverage is genuinely incomplete: there is no small-capital X in Unicode, so the generator leaves a lowercase x in place.
Superscript and subscript are similarly scattered across Latin-1 Supplement, Spacing Modifier Letters and Superscripts and Subscripts. Several letters have no superscript form, and q has no subscript form.
Combining Diacritical Marks
The seven modifiers, and the Zalgo generator, use U+0300 to U+036F. These are zero-width marks that attach to the preceding character rather than occupying their own cell.
- Underline uses U+0332 combining low line
- Strikethrough uses U+0336 combining long stroke overlay
- Slash uses U+0338 combining long solidus overlay
- Dotted above uses U+0307 combining dot above
- Wavy tilde uses U+0303 combining tilde
Because they attach to whatever comes before them, they compose with any other style. A bold fraktur letter can carry an underline mark, and the result is still a single user-perceived character.
Stacking many marks on one character is what produces the Zalgo effect. It is also why heavily corrupted text can overflow its line box: the marks are drawn above and below the baseline with no reserved space.
What none of these blocks contain
None of them cover accented Latin characters. Type รฉ, รผ or รฑ into any style and the character passes through unchanged, because there is no bold fraktur รฉ in Unicode.
The same is true for Cyrillic, Greek, Arabic, Hebrew and every CJK script, and for most punctuation. Spaces, digits in unsupported styles, punctuation and emoji are all deliberately passed through untouched rather than dropped.