About this Discord font generator

A small, dependency-free tool for one job: converting text into ten Unicode styles correctly, and being upfront about where Discord will and won't display them. No account, no upload, and nothing you type is ever recorded.

Why it exists

Most "fancy text generator" tools online compute each styled letter with a quick offset — take the codepoint of bold capital A, add the position of the letter in the alphabet, done. That works for most letters and quietly fails for a specific, known set of them, because a handful of slots inside Unicode's Mathematical Alphanumeric Symbols block were deliberately left unassigned in favour of an older character that already existed. Get one of those wrong and a "fancy" H or C renders as a blank box on some devices, or nothing at all on others.

This tool exists to get that arithmetic right, to say plainly which of the ten styles have a real digit form and which don't, and to correct a piece of folk knowledge that gets repeated constantly around Discord styling: that fancy fonts work "everywhere" on the platform. They do not — the unique username field rejects them outright, and this page and the main tool explain exactly where the line actually falls.

How the Unicode tables were built and verified

Five styles (Bold, Italic, Script, Gothic/Fraktur, Monospace) are generated by a single function that takes the Unicode codepoint of capital A, lowercase a, and digit 0 for that style, then adds the letter's position in the alphabet — 0x1D400 + 7 for bold H, for example. That is the fast, correct path for the great majority of letters.

The exceptions — the "reserved holes" explained on the main page — were not guessed or copied from another site. Each one was confirmed directly against the Unicode Character Database using Python's built-in unicodedata module, which ships the same character data Unicode itself publishes, checked entirely offline:

>>> import unicodedata >>> unicodedata.name(chr(0x1D455)) ValueError: no such name >>> unicodedata.name(chr(0x210E)) 'PLANCK CONSTANT'

Every letter of every style that draws from the Mathematical Alphanumeric Symbols block was checked this way — confirmed assigned at its "obvious" codepoint, or confirmed unassigned and given the correct Letterlike Symbols replacement instead. The full list of confirmed holes is in the comment at the top of the tool's source file. Small Caps, Bubble and Upside Down were checked the same way, letter by letter, since those characters are scattered across several unrelated Unicode blocks rather than sitting in one contiguous range.

On top of that, an automated test suite (run under Node.js, not shipped to the browser) asserts the four cases that matter most — bold("abc") equals the correct three bold characters, italic("h") lands on the Planck-constant character rather than the unassigned slot, script("H") lands on the Letterlike Symbols script H, fraktur("C") lands on the black-letter C — plus every other documented hole individually, that no style's output ever contains the Unicode replacement character (U+FFFD), and that punctuation, emoji and other scripts always pass through untouched rather than being dropped or mangled.

How the site is built

  • Static HTML, one small stylesheet, two small scripts. No framework, no build step, no bundler.
  • Nothing loads from the network at runtime. No CDN font, no remote image, no analytics; the favicon is an inline SVG data URI. Once the page has loaded it works offline.
  • System font stack for the site's own interface text — the decorative Unicode you generate is rendered by whatever font your own device provides for that character, which is exactly the same rendering behaviour it will have once pasted into Discord.
  • Nothing you type is transmitted. The whole substitution happens in your browser; text you type is never uploaded to anything, logged, or stored between visits.
  • Dark mode follows your system setting via prefers-color-scheme.

Scope and honesty about limits

This tool covers ten Unicode styles chosen for being both genuinely distinct-looking and reasonably well supported by current device fonts. It deliberately does not attempt every mathematical alphabet Unicode defines (bold italic, sans-serif, sans-serif bold, sans-serif italic, double-struck/blackboard-bold and bold fraktur all exist too) — adding more styles that look similar to ones already here would pad the page without helping anyone choose.

It cannot make Unicode text work in Discord's unique username field; that restriction is enforced by Discord, not by font support, and no client-side trick changes it. It cannot guarantee identical rendering across every device, because these are real Unicode characters depending on font coverage, not an image or a custom font Discord itself serves. It is not an authority on any individual server's moderation rules. And Discord's own features change over time — anything stated here about specific Discord behaviour was accurate when written and is not guaranteed to still be current; check the live Discord app if a specific detail matters to you.