Bold Text Generator

Generate Unicode bold text along with italic, bold italic, sans-serif bold, monospace, script, fraktur, and double-struck variants.

Everyday 13 styles One-click copy
Rate this calculator · 4.0 (1)

Text → Unicode bold

13 styles · copy-paste ready · Unicode-native

Instructions — Bold Text Generator

1

Type or paste your text

Enter any English text in the input box. The generator converts ASCII letters (A–Z, a–z) and digits (0–9) into the matching Unicode Mathematical Alphanumeric Symbol. Spaces, punctuation, and accented characters pass through unchanged because Unicode bold is defined only for ASCII letters and digits.

2

Pick a style

Thirteen styles render in parallel: bold, italic, bold italic, sans-serif bold, monospace, double-struck, script, bold script, fraktur, bold fraktur, sans-serif, sans-serif italic, and sans-serif bold italic. Each uses a different Unicode block. Bold and sans-serif bold are the most reliable across platforms.

3

Copy and paste

Click the Copy button next to any style to put it on your clipboard. The text uses real Unicode characters, so the formatting survives copy-paste into Twitter/X, Instagram bio, LinkedIn headline, Discord, WhatsApp, and most other apps. It does not work inside code blocks or as part of programming identifiers.

Best for short text: bios, headlines, captions, profile names, single-line emphasis. Long paragraphs in Unicode bold are harder to read than native bold or italic formatting.
Limitation: Unicode bold is defined only for English letters and Arabic digits. Polish diacritics (ąćęłńóśźż), German umlauts (äöü), and accented characters in French and Spanish pass through as plain text.

Formulas

Unicode bold is not a font style. It is a separate set of characters reserved in the Unicode standard specifically for mathematical typesetting. The bold A is not the regular A in a bold font — it is a different character with its own codepoint.

Bold capitals
$$ \text{Bold } A = U+1D400 $$
Regular A = U+0041. Bold A = U+1D400. Twenty-six codepoints in sequence cover the entire bold uppercase alphabet.
Bold lowercase
$$ \text{Bold } a = U+1D41A $$
Lowercase bold starts at U+1D41A and runs through U+1D433 (bold z). Adding (code − 0x61) to the base gives the bold equivalent.
Bold digits
$$ \text{Bold } 0 = U+1D7CE $$
Bold digits live further along, at U+1D7CE to U+1D7D7. They cover the ten Arabic digits 0 through 9.
Italic capitals
$$ \text{Italic } A = U+1D434 $$
The italic block starts immediately after bold. Italic h (U+1D455) is reserved for the Planck constant, so it falls back to the BMP character ℎ.
Double-struck capitals
$$ \text{Double-struck } R = U+1D549 $$
Several double-struck letters were already encoded in the Letterlike Symbols block (U+2100–U+214F), so the codepoint maps to ℝ (the real numbers symbol) instead.
Conversion algorithm
$$ U_{out} = base + (code_{in} - 0x41) $$
For each ASCII letter, add the offset to the style's base codepoint, then check the exception map for letters that were pre-encoded elsewhere in Unicode.

Reference

Mathematical Alphanumeric Symbols block (U+1D400–U+1D7FF)
StyleUppercase baseLowercase baseDigit base
BoldU+1D400 AU+1D41A aU+1D7CE 0
ItalicU+1D434 AU+1D44E a
Bold italicU+1D468 AU+1D482 a
ScriptU+1D49C AU+1D4B6 a
Bold scriptU+1D4D0 AU+1D4EA a
FrakturU+1D504 AU+1D51E a
Double-struckU+1D538 AU+1D552 aU+1D7D8 0
Bold frakturU+1D56C AU+1D586 a
Sans-serifU+1D5A0 AU+1D5BA aU+1D7E2 0
Sans-serif boldU+1D5D4 AU+1D5EE aU+1D7EC 0
MonospaceU+1D670 AU+1D68A aU+1D7F6 0

Platform support matrix

Where Unicode bold reliably renders, where it falls back to regular text, and where it is prohibited by the platform.

Renders correctly
PlatformLocation
Twitter / XPosts, bio
LinkedInHeadline, posts
InstagramBio (not captions)
FacebookPosts, comments
DiscordMessages, profile
WhatsAppMessages, status
TelegramMessages, bio
Falls back or breaks
PlatformIssue
Programming editorsNot valid identifier
Email subject linesSpam filter penalty
URL fieldsMost browsers strip
SMS (older phones)Renders as boxes
Markdown code blocksPreserved but useless
Screen readersRead out wrong / skipped
Search indexersOften filtered out

Note: codepoints from Unicode Standard 15.1 (2023). The Mathematical Alphanumeric Symbols block was introduced in Unicode 3.1 in May 2001, almost 25 years ago. Practical support across modern devices and operating systems is universal; the rendering depends on font availability.

Article — Bold Text Generator

Bold text generator: Unicode characters that survive copy-paste

A bold text generator turns plain ASCII text into Unicode characters that look bold (or italic, monospace, script, fraktur, double-struck, and several other styles). The generator above does this for thirteen styles in parallel using the Mathematical Alphanumeric Symbols block at codepoints U+1D400 through U+1D7FF, introduced to Unicode in version 3.1 in May 2001. Unlike HTML bold, which is a font instruction the browser must interpret, Unicode bold is a separate character with its own codepoint — the bold A is not a styled regular A, it is U+1D400, a different glyph entirely. That distinction is why Unicode bold survives copy-paste into places that strip formatting: Twitter bios, Instagram profiles, LinkedIn headlines, Discord messages, and most modern messaging apps.

The Mathematical Alphanumeric Symbols block was originally designed for typesetting mathematics, where the difference between bold A (a vector) and italic A (a scalar) carries meaning. Using these characters as decoration in prose is a side-effect of how widely Unicode is supported, not the block's intended purpose.

What is a bold text generator?

A bold text generator is a character substitution tool. Every input letter or digit is replaced by the Unicode codepoint for its bold equivalent. The plain ASCII A at U+0041 becomes the mathematical bold A at U+1D400. The lowercase a at U+0061 becomes the bold a at U+1D41A. Digits 0 through 9 have their own block starting at U+1D7CE. Non-letter characters — spaces, punctuation, accented letters, emoji — pass through unchanged.

The mapping is mechanical and reversible. Subtract 0x41 from the bold capital codepoint to get the ASCII letter offset, then add 0x41 (or 0x1D400) to encode either direction. The Unicode Consortium publishes the entire block as a downloadable chart at unicode.org.

Did you know

The Mathematical Alphanumeric Symbols block contains 996 characters across thirteen styles. Italic h at U+1D455 is famously absent: that codepoint is reserved because the Planck constant character (U+210E) had already been encoded years earlier in the Letterlike Symbols block. Twenty-eight characters across the math alphanumerics have similar reservations, all to avoid duplicate encoding of letters that already existed elsewhere in Unicode.

Unicode bold vs. HTML or Markdown bold

HTML bold uses the <b> or <strong> tag to instruct the browser to render the same character in a bold typeface. The underlying text is unchanged; only the rendering differs. Markdown bold (asterisks or double underscores) is the same idea at a higher abstraction level. Both depend on a rendering layer that respects the markup.

The three kinds of bold
HTML bold <b>A</b> renders as A in bold typeface
Markdown bold **A** compiled to HTML bold
Unicode bold character U+1D400, looks bold by design

Unicode bold survives copy-paste because the character itself looks bold; no rendering instruction is needed. That is its main advantage and its main weakness, depending on context.

Mathematical Alphanumeric Symbols, the source block

The block is Unicode 3.1's biggest single-purpose addition, designed for mathematical typesetting where multiple variable styles need to coexist without ambiguity. A physicist writes F for a force vector, F for the magnitude, and 𝔽 (double-struck) for a function space — three distinct meanings carried by three distinct character styles. Before Unicode 3.1, mathematical publishers used font tricks to fake this distinction. After 3.1, the styles are first-class characters with their own codepoints.

Bold, italic, monospace, and other Unicode text styles

The full set runs to thirteen styles in the generator above. Each has a different visual character and a different rendering quirk depending on the platform and font.

  • Bold = 𝐀𝐁𝐂... the thickest, most reliable style
  • Italic = 𝐴𝐵𝐶... slanted serif
  • Sans-serif bold = 𝗔𝗕𝗖... cleanest look on social media
  • Monospace = 𝙰𝙱𝙲... fixed width, code-like
  • Double-struck = 𝔸𝔹ℂ... the "blackboard bold" math style
  • Script = 𝒜ℬ𝒞... handwritten flourish
  • Fraktur = 𝔄𝔅ℭ... Old German blackletter

Bold and sans-serif bold are the two styles that render most reliably across phones, desktops, and screen readers. Script, fraktur, and bold fraktur depend heavily on the system font and may fall back to plain text on Android devices without the right Noto fonts installed.

Where Unicode bold text actually works

Twitter/X, LinkedIn, Discord, WhatsApp, Telegram, and Facebook all render Unicode bold correctly in posts and bio fields. Instagram is partial: bios work, captions are stripped of fancy characters by the platform's anti-spam logic. Email body text usually renders fine; email subject lines often get penalized as spam.

Do not use Unicode bold in code or technical docs

Unicode bold characters are not valid identifiers in any major programming language, are not searchable as their plain equivalents, and are not interchangeable with HTML or Markdown emphasis. Using them in documentation, code, or anywhere semantic meaning matters is a category error.

Limitations of Unicode bold text

The Mathematical Alphanumeric Symbols block covers only ASCII letters and digits. Polish diacritics (ą, ć, ę, ł, ń, ó, ś, ź, ż), German umlauts (ä, ö, ü), French accented letters, Spanish ñ, and every Cyrillic, Greek, Arabic, or CJK character pass through unchanged. There is no Unicode bold ñ. Polish bold text is therefore patchy: the basic letters render bold, the diacritics render plain.

The other major limitation is search and indexing. Most search engines either treat Unicode bold as a separate string from its plain equivalent (so a post containing "𝐇𝐞𝐥𝐥𝐨" does not appear in searches for "Hello") or filter it out as suspicious. Hashtags and SEO-relevant terms should always be plain ASCII.

Tip

Use Unicode bold for visual emphasis in social bios and short messages where the platform offers no native formatting. Skip it in tweets, captions, or anything that depends on hashtag matching or full-text search.

Unicode bold and accessibility

Screen readers handle Unicode bold poorly. Some read each character as "mathematical bold capital A, mathematical bold capital B" word by word, which is unbearable to listen to. Others skip the characters entirely. Either way, the meaning of the text becomes inaccessible to readers using assistive technology. For accessibility-critical contexts (job postings, public-facing announcements, government communications), use semantic HTML emphasis instead. Unicode bold should be reserved for decorative use in casual contexts.

Common bold text mistakes

The four common mistakes: pasting Unicode bold into a programming editor and expecting it to compile, using it in email subject lines and triggering spam filters, applying it to Polish or German text and getting half-bolded output, and relying on it for accessibility-relevant emphasis where screen readers will lose the meaning. Unicode bold is a decoration, not a typography system. Use it sparingly, in short text, on platforms that support it. For anything else, use HTML semantic markup or native bold in the host application.

FAQ

A bold text generator converts ordinary ASCII text into Unicode characters that look bold (or italic, monospace, script, etc.). Unlike HTML or Markdown bold, the result uses real Unicode characters — meaning the formatting survives copy-paste into places that do not normally support styled text, like Twitter bios or Instagram captions.
Unicode reserves a block called Mathematical Alphanumeric Symbols at U+1D400 to U+1D7FF. Each ASCII letter and digit has bold, italic, script, double-struck, fraktur, sans-serif, and monospace variants encoded as separate characters. The generator translates each input character into the matching Unicode variant from the block.
No. HTML bold (using the <b> or <strong> tag) is a font instruction — it tells the browser to render the same character in a bold typeface. Unicode bold uses completely different characters with different codepoints. The HTML version disappears when copied outside formatted contexts; Unicode bold travels with the text.
Unicode bold characters are not legal identifiers in any programming language and are not searchable as their plain-text equivalents. Using them in code, documentation, or technical writing is widely considered an antipattern. They are designed for display in mathematical typesetting, not for prose.
Most modern platforms render it correctly: Twitter/X, LinkedIn, Discord, WhatsApp, Telegram, Facebook, and Instagram bios all support the Mathematical Alphanumeric Symbols block. Older devices, screen readers, search indexers, and email subject lines often have problems. Test before relying on it.
No, the Mathematical Alphanumeric Symbols block covers only ASCII A–Z, a–z, and 0–9. Polish diacritics (ąćęłńóśźż), German umlauts (äöü), French accents, and other non-ASCII letters pass through the generator unchanged. The Unicode Consortium has not extended the bold block to accented characters.
Generally no. Screen readers either skip Unicode bold characters or read them as "mathematical bold capital A" instead of just "A". For accessibility-critical contexts, use proper HTML semantic markup (<strong> or <b>) instead. Unicode bold is for visual decoration, not semantic emphasis.
A handful of letters in the script, fraktur, and double-struck blocks were already encoded in the Letterlike Symbols block (U+2100–U+214F) before the Mathematical Alphanumeric Symbols block was added in Unicode 3.1 (2001). To avoid duplication, those positions were reserved and the existing characters were reused. The double-struck R is ℝ, the double-struck Z is ℤ, and so on.