Article — Bold Text Generator
Bold text generator: Unicode characters that survive copy-paste
- What is a bold text generator?
- Unicode bold vs. HTML or Markdown bold
- Mathematical Alphanumeric Symbols, the source block
- Bold, italic, monospace, and other Unicode text styles
- Where Unicode bold text actually works
- Limitations of Unicode bold text
- Unicode bold and accessibility
- Common bold text mistakes
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.
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.
HTML bold <b>A</b> renders as A in bold typefaceMarkdown bold **A** compiled to HTML boldUnicode bold character U+1D400, looks bold by designUnicode 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.
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.
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.