Discord font generator

Type your text once and get it converted live into ten decorative Unicode styles — bold, italic, script, gothic, monospace, small caps, bubble, fullwidth, upside down and strikethrough — ready to paste into a Discord nickname, server name, channel name, bio or message. Every character is real, standard Unicode, so it survives copy-paste anywhere plain text goes.

Where these fonts actually work on Discord

The honest answer is "almost everywhere except one specific field", and knowing which is which saves you from styling something that Discord will just reject.

Where decorative Unicode text does and does not render on Discord
FieldFancy Unicode?Why
Message textWorksDiscord renders whatever Unicode you send; no restriction on message content beyond length.
Display name / nicknameWorksBoth the global display name and a per-server nickname accept almost any Unicode text, including these styles, spaces and emoji.
Server nameWorksSet under Server Settings → Overview by anyone with the Manage Server permission; no character-set restriction.
Channel nameUsually worksAccepts decorative Unicode, though Discord's channel-name field auto-lowercases and replaces spaces with hyphens. Bold, italic, script, gothic and monospace pass through unaffected because Unicode defines no lowercase form for them — but Fullwidth and Bubble letters do have a lowercase form and will get flattened. See the reference table below.
About Me (profile bio)WorksUnicode renders fine; Discord's own **bold**/*italic* Markdown does not render there — see the dedicated bio fonts page.
Unique usernameRejectedDiscord's current username system only accepts lowercase a-z, digits, underscores and periods. Every style below is silently invalid there.

The username field is the one real limitation. Discord replaced the old Name#1234 discriminator system with a single, globally unique @username per account, and deliberately restricted that field to plain ASCII so usernames stay easy to type, search and mention. Your display name is the separate, unrestricted field designed for exactly this kind of styling — it sits right above your username on your profile and is what most people see first in a server.

The Markdown formatting bonus

Unicode substitution — everything the generator above produces — is one way to get styled text on Discord. Discord also has its own, completely separate formatting system: Markdown, which only works inside message text (never in a nickname, server name or channel name). The two are easy to confuse because they can produce a visually similar result, but they work in opposite ways: Markdown applies a style to the plain letter A; Unicode substitution replaces the letter A with an entirely different character that already looks bold.

Discord Markdown syntax and what it produces, message text only
Type thisRenders as
**bold**bold
*italic*italic
__underline__underline
~~strikethrough~~strikethrough
`inline code`inline code
```code block```a fenced, fixed-width block
> quoted texta left-bordered blockquote
# Headinga large heading line
||spoiler||text hidden behind a click-to-reveal spoiler bar

The code-block helper built into the generator above wraps whatever you type in single or triple backticks, so you can copy it straight into a message and have Discord render it in its fixed-width code font — genuine Markdown, not a Unicode substitution, which is why it looks identical on every device instead of depending on which fonts a reader has installed.

How the Unicode substitution works

Five of the ten styles — Bold, Italic, Script, Gothic/Fraktur and Monospace — come from a single block of the Unicode standard called Mathematical Alphanumeric Symbols (U+1D400 to U+1D7FF), added so mathematicians could write things like a script for a Hilbert space or a blackboard-bold for the real numbers without relying on a specific font. It assigns a separate codepoint to essentially every combination of style and letter — bold capital A, bold capital B, and so on through 26 capitals, 26 lowercase letters, and (for some styles) 10 digits, repeated for each of about a dozen mathematical alphabets.

The reserved holes

Here is the part that trips up a naive implementation. A small number of slots in that block were not given a new codepoint, because a character that looked the same already existed somewhere else in Unicode — mostly in the older Letterlike Symbols block, added decades earlier for things like care-of or sound recording copyright. Rather than duplicate those, the Unicode Consortium left the "obvious" slot in the new block permanently unassigned and pointed everyone at the older character instead:

italic small h -> U+210E ℎ PLANCK CONSTANT script capital H -> U+210B ℋ SCRIPT CAPITAL H script capital I -> U+2110 ℐ SCRIPT CAPITAL I script capital L -> U+2112 ℒ SCRIPT CAPITAL L script capital R -> U+211B ℛ SCRIPT CAPITAL R script small e -> U+212F ℯ SCRIPT SMALL E gothic capital C -> U+212D ℭ BLACK-LETTER CAPITAL C gothic capital H -> U+210C ℌ BLACK-LETTER CAPITAL H

A generator that computes every letter by simple arithmetic — "bold capital A is U+1D400, so bold capital H must be U+1D400 + 7" — gets the wrong answer for exactly these slots, because that arithmetic lands on a codepoint Unicode never assigned to anything. Depending on the platform, the result is either a visible tofu box, or — worse, because it looks like it worked — a font falling back to render nothing at all where that character should be. This generator's source checks every letter of every style against Unicode's own character database before shipping (see the About page for how), so italic h correctly becomes and script H correctly becomes instead of a hidden gap.

Bold and Monospace happen to have no holes at all — every one of their 52 letters plus 10 digits was freshly assigned — which is also why they are the only two of these five styles that support styled digits; Italic, Script and Fraktur have no digit glyphs defined anywhere in Unicode, so numbers in those three styles pass through as ordinary digits.

The remaining five styles are not slices of that block at all. Small Caps and Upside Down are hand-assembled from unrelated, pre-existing Unicode characters (IPA and phonetic-extension letters mostly) chosen because they visually resemble a small capital or a turned letter — there is no formal Unicode "small caps alphabet", so this is a lookup table of look-alikes, not a typeface. Bubble (circled letters) and Fullwidth are genuine contiguous Unicode ranges of their own (Enclosed Alphanumerics and Halfwidth and Fullwidth Forms respectively). Strikethrough does not substitute characters at all — it inserts a combining overlay mark after each one.

Primary references, if you want to check any of this yourself: the Mathematical Alphanumeric Symbols chart, the Letterlike Symbols chart, the Enclosed Alphanumerics chart, and the Halfwidth and Fullwidth Forms chart, all published by the Unicode Consortium.

Reference table — all ten styles

Every example below was produced by the generator on this page, converting the word "Discord".

Every style, a worked example, whether digits are supported, and where it comes from in Unicode
Style"Discord" becomesDigits?Source
Bold𝐃𝐢𝐬𝐜𝐨𝐫𝐝YesMathematical Alphanumeric Symbols, no holes
Italic𝐷𝑖𝑠𝑐𝑜𝑟𝑑No — passes throughMathematical Alphanumeric Symbols, 1 hole (h)
Script𝒟𝒾𝓈𝒸ℴ𝓇𝒹No — passes throughMathematical Alphanumeric Symbols, 11 holes
Gothic / Fraktur𝔇𝔦𝔰𝔠𝔬𝔯𝔡No — passes throughMathematical Alphanumeric Symbols, 5 holes
Monospace𝙳𝚒𝚜𝚌𝚘𝚛𝚍YesMathematical Alphanumeric Symbols, no holes
Small CapsᴅɪꜱᴄᴏʀᴅUnstyled — passes throughIPA / phonetic-extension look-alikes
BubbleⒹⓘⓢⓒⓞⓡⓓYes (0 is a special case)Enclosed Alphanumerics
FullwidthDiscordYesHalfwidth and Fullwidth Forms
Upside DownpɹoɔsᴉpYes (visual approximation)IPA look-alikes; reversed reading order
StrikethroughD̶i̶s̶c̶o̶r̶d̶Works on anythingU+0336 combining overlay, not a substitution

Use cases & limitations

Where this is genuinely useful

  • Standing out in a member list or channel sidebar. A styled display name or channel name is one of the few visual differentiators Discord gives you without Nitro.
  • Server branding. A consistent decorative style across your server name and pinned channel names reads as more deliberately designed than default text.
  • Emphasis inside a bio or "About Me" section, where Discord's own Markdown does not render (see the bio fonts page) but Unicode substitution does.
  • Copying real Discord code formatting via the backtick helper, for sharing a command, file path or short snippet in a message.

What this tool cannot do

  • It cannot put fancy text in your username. That field is restricted at the platform level; see the FAQ and the table above.
  • It is not guaranteed to render identically everywhere. Unlike Discord's own Markdown, these are ordinary Unicode characters, so they depend on the reader's device having a font that includes them. Coverage is strong on current phones and desktops, weaker on older hardware.
  • It is not reliably accessible. Screen readers work from Unicode character names, and several of these styles read poorly or unpredictably out loud — see the dedicated FAQ answer below before using one for something that must be understood by ear.
  • It cannot guarantee a specific server will allow it. Individual servers set their own moderation rules; Discord as a platform does not block decorative Unicode, but a server's AutoMod configuration or a moderation bot might.
  • Small Caps has one honest gap. There is no small-capital X in Unicode, so that one letter falls back to a plain lowercase x rather than being silently dropped — see the FAQ.

Frequently asked questions

Will fancy Discord fonts work in my username?

No — not in the unique username field. Discord's current username system only accepts lowercase a-z, digits 0-9, underscores and periods; it silently rejects or strips anything else, including every style on this page. Fancy Unicode text works in your display name and per-server nickname instead, which sit next to your username and are what other people actually see in chat.

Where do these fonts actually show up on Discord?

Message text, your global display name, per-server nicknames, server names and channel names all render decorative Unicode normally, because Discord treats it as ordinary text — there is no special handling and nothing to enable. The one place it does not work is the unique username field, covered in the question above.

Why do some of these letters look tiny, or like empty boxes, on my phone?

These are real, individually assigned Unicode characters, not a font Discord applies — so they only display correctly if the device rendering them has a font installed that includes that specific character. Most of the Mathematical Alphanumeric Symbols block (bold, italic, script, gothic, monospace) is covered by fonts on current iOS, Android, Windows and macOS, but older devices, some Android OEM skins, and a handful of niche characters (particularly in the Upside Down and Bubble styles) can still fall back to a small system font or a tofu box. Preview the result on the actual device before committing to it as a server or channel name.

Is this actually bold or italic text, or just Unicode characters that look that way?

It is a different, fixed Unicode character for every letter — for example the bold A you copy is U+1D400 MATHEMATICAL BOLD CAPITAL A, a completely separate codepoint from the plain A (U+0041), not the plain A with a bold style applied. That is why it survives copy-paste into a plain-text field like a username or a nickname without needing any formatting support from the app: the boldness is baked into which character it is, not into how it is displayed. Discord's own **bold** markdown, by contrast, is real formatting applied to the plain letter A — see the next question.

Can Discord's own Markdown (**bold**, *italic*) do the same thing?

In messages, yes, and it renders more reliably there because it uses Discord's own font rather than depending on the reader's device having a rare Unicode character installed. But Markdown only renders in message text — Discord does not apply it to nicknames, server names or channel names, so **bold** in a nickname shows up as the literal asterisks. Unicode substitution is the only option that works in those fields. This tool's code-block helper (further up the page) wraps text in backticks for Markdown's fixed-width code style, which is genuine Discord formatting rather than a Unicode trick.

Are these Unicode text styles accessible to screen reader users?

Not reliably, and this matters if you are naming something people rely on being read aloud, like a channel or a role. Screen readers pronounce text by looking up each character's Unicode name, and many characters used here have generic or unhelpful names to a synthesizer — some screen readers spell out a bold or script word letter by letter instead of reading it as a word, and a few rarer characters may be skipped or announced as "unknown character" entirely. Plain text remains the only style guaranteed to be read the way it looks.

Will my server ban me or filter these characters?

That depends entirely on the specific server, not on Discord as a platform — Discord itself places no blanket restriction on decorative Unicode in messages, nicknames or names. Individual servers can and do set their own rules through AutoMod or a moderation bot that flags unusual Unicode, and some communities simply prefer plain names for readability or searchability. Check that server's own rules before renaming yourself or a channel with a heavily stylised font.

Why does the Small Caps style leave the letter X unchanged?

Because Unicode has never defined a dedicated small-capital-X character in the block this style draws from, unlike every other letter of the alphabet. Rather than silently print the original capital X — which would look like a mistake sitting inside a row of small caps — this tool prints a plain lowercase x, which is the closest honest visual match available. It is a genuine gap in Unicode, not a bug in this tool.

Is my text uploaded anywhere when I generate these fonts?

No. What you type never leaves your device — every conversion is plain JavaScript character substitution running in your own browser, with no server call involved. There is nothing to sign in to and nothing saved between visits; reloading the page clears the text box.

Go deeper