Bold, Italic, and Strikethrough Text Without Any Formatting Tools
You can make text bold, italic, underlined, or struck through on platforms that don't support formatting — using Unicode characters that carry their style with them. Here's how it works and where it breaks.
Most social media platforms, messaging apps, and form fields don't give you a toolbar for bold, italic, or strikethrough text. There's no formatting menu in an Instagram bio, a Twitter/X display name, a YouTube comment, or a Wi-Fi network name. Yet you've probably seen styled text in all of these places — bold profile names, italic captions, struck-through words in comments. These aren't hacks or exploits. They're Unicode characters that look like styled versions of regular letters but are actually completely different characters with different code points.
This article explains the three main techniques for producing "formatted" text without any formatting system — Unicode mathematical symbols for bold and italic, combining diacritical marks for strikethrough and underline, and how these techniques work at the character level. It also covers the significant accessibility and compatibility problems they create.
How Unicode "Styled" Text Works
Unicode, the universal character encoding standard, includes tens of thousands of characters beyond the basic Latin alphabet. Among these are complete sets of letters and digits styled as bold, italic, bold italic, script, fraktur, double-struck, monospace, and sans-serif — originally intended for mathematical notation.
These characters live in the Mathematical Alphanumeric Symbols block of Unicode (U+1D400 to U+1D7FF) and a few related blocks. They were added to Unicode so that mathematical documents could distinguish between regular variables, bold vectors, script-style sets, and fraktur-style operators using plain text rather than markup. The bold capital A for math is U+1D400, the italic capital A is U+1D434, the bold italic capital A is U+1D468, and so on for every letter. You can explore these characters on the Mathematical Alphanumeric Symbols Wikipedia page.
When you use a "fancy text generator" to make your Instagram bio bold, what's actually happening is that each regular letter in your text is being replaced with its corresponding mathematical bold Unicode character. The letter "H" (U+0048) becomes the mathematical bold H (U+1D407). The letter "e" (U+0065) becomes the mathematical bold e (U+1D41E). The result looks like bold text, but to the computer, it's completely different characters — as different as "A" and "Z." For a deeper explanation of Unicode and these symbol blocks, see our article on What Is Unicode? How Fancy Text Actually Works.
Our bold text generator performs this substitution automatically. Paste your text in, copy the output, and paste it anywhere — the "bold" characters travel with the text because they ARE the text, not formatting applied to it.
The Available Styles
The Mathematical Alphanumeric Symbols block provides the following complete alphabets (uppercase and lowercase A-Z, plus digits 0-9 for some styles):
Bold — U+1D400 to U+1D433 for letters, U+1D7CE to U+1D7D7 for digits. These are the characters that appear as heavier-weight versions of standard Latin letters. Our bold text generator handles this conversion.
Italic — U+1D434 to U+1D467 for letters (no italic digits exist in Unicode). These slanted characters mimic traditional italic type. Our italic text generator handles this.
Bold Italic — U+1D468 to U+1D49B for letters. Combines the heavier weight and the slant.
Script — U+1D49C to U+1D4CF, with some exceptions where pre-existing characters from the Letterlike Symbols block are used instead. These resemble cursive handwriting. Our script text generator handles this.
Bold Script — U+1D4D0 to U+1D503. A heavier-weight version of the script alphabet.
Fraktur — U+1D504 to U+1D537, with exceptions for characters already encoded in the Letterlike Symbols block. These are the angular, medieval-looking blackletter characters. Our fraktur text generator handles this. For the history behind fraktur letterforms, see our article on the history of fraktur.
Double-Struck — U+1D538 to U+1D56B, with exceptions for characters like the double-struck C, H, N, P, Q, R, and Z already in the Letterlike Symbols block. Also called "blackboard bold," these characters have a distinctive doubled vertical stroke.
Sans-Serif — U+1D5A0 to U+1D5D3 for letters, U+1D7E2 to U+1D7EB for digits. These resemble clean, unadorned sans-serif typefaces.
Sans-Serif Bold — U+1D5D4 to U+1D607 for letters, U+1D7EC to U+1D7F5 for digits.
Sans-Serif Italic — U+1D608 to U+1D63B.
Sans-Serif Bold Italic — U+1D63C to U+1D66F.
Monospace — U+1D670 to U+1D6A3 for letters, U+1D7F6 to U+1D7FF for digits. These have the fixed-width appearance of typewriter or terminal text.
Each of these is a complete mapping that a generator tool can apply character by character. The limitation is that these blocks only include the basic Latin letters A-Z and a-z (plus digits for some styles). They don't include accented characters, punctuation, or non-Latin scripts. If your text contains "cafe," the generator can style all four letters, but an accented "e" would stay as the regular character — there's no mathematical bold version of accented letters in Unicode.
Strikethrough: Combining Diacritical Marks
Strikethrough text uses a completely different Unicode mechanism: combining characters. A combining character is a Unicode character that doesn't stand on its own — it attaches to the preceding character and modifies its appearance. Accent marks are the most common combining characters, but the same mechanism is used for strikethrough.
The character U+0336 (COMBINING LONG STROKE OVERLAY) draws a horizontal line through the preceding character. To create strikethrough text, you insert U+0336 after every character in the string. Each visible "struck-through letter" is actually two characters — the letter and the combining stroke. So a five-letter word becomes ten characters: the original letter, then U+0336, then the next letter, then U+0336, and so on.
Our strikethrough text generator automates this insertion. Paste your text, get the strikethrough version, copy and paste it anywhere.
There's also U+0335 (COMBINING SHORT STROKE OVERLAY) which produces a shorter line, and U+0337 (COMBINING SHORT SOLIDUS OVERLAY) and U+0338 (COMBINING LONG SOLIDUS OVERLAY) which produce diagonal slashes. The long stroke (U+0336) is the standard choice for strikethrough.
Underline: Also Combining Characters
Underline works the same way as strikethrough but uses U+0332 (COMBINING LOW LINE). Inserting U+0332 after each character produces underlined text. Our underline text generator handles this.
There's also U+0333 (COMBINING DOUBLE LOW LINE) for double underline. Both work on the same principle — a non-spacing combining character that modifies the rendering of the preceding base character.
The rendering quality of combining underlines varies significantly across platforms and fonts. On some systems, the underline is a clean, continuous line beneath the text. On others, each character has its own separate underline segment with visible gaps between them. This inconsistency is one of the reasons combining-character styling is less reliable than mathematical-symbol styling.
Small Caps: Phonetic Extensions
Small caps use yet another source of Unicode characters: the phonetic extensions blocks. Characters like Latin Letter Small Capital A (U+1D00), Latin Letter Small Capital B (U+0299), Latin Letter Small Capital C (U+1D04), and Latin Letter Small Capital D (U+1D05) were added to Unicode for the International Phonetic Alphabet and linguistic notation. They happen to look like small-cap versions of regular letters, so font generators repurpose them for styling.
The small caps mapping is less complete than the mathematical alphabets. Not all letters have corresponding small cap forms in Unicode — some generators use regular lowercase letters for the missing characters, which creates an inconsistent appearance. Our small caps generator handles the available mappings and falls back gracefully for unsupported characters. For more on the design use of small caps, see our article on small caps in design and typography.
Where Styled Unicode Text Works
Unicode styled text works anywhere that supports Unicode — which is almost everywhere: Instagram bios and captions, Twitter/X display names and tweets, Facebook posts and profile names, YouTube comments and channel names, TikTok bios, LinkedIn posts (though LinkedIn may strip some characters), WhatsApp messages, Discord messages (which also support native Markdown formatting), email subject lines, Wi-Fi network names, file names (on most operating systems), and most form fields on the web.
The text works because it's just Unicode characters. There's no special formatting to support or strip — the characters themselves carry the visual style. A platform would have to specifically block the Mathematical Alphanumeric Symbols block to prevent bold text, and almost none do.
Where It Breaks: Accessibility Problems
Unicode styled text has serious accessibility issues that you should understand before using it widely.
Screen readers can't interpret it. When a screen reader encounters the mathematical bold character for "H" (U+1D407), it doesn't read it as "H." Depending on the screen reader, it might read the full Unicode character name ("Mathematical Bold Capital H"), skip the character entirely, or produce gibberish. A bio that displays as bold "John Smith" visually is read by screen readers as something like "Mathematical Bold Capital J, Mathematical Bold Small O, Mathematical Bold Small H, Mathematical Bold Small N..." — completely unusable.
Search doesn't work. Because the mathematical bold "H" and the regular "H" are different Unicode characters, searching for "Hello" won't find the bold version. Your bold Instagram bio text is invisible to Instagram's search function. Your styled tweet won't appear in search results for the words it contains. This also affects browser Ctrl+F search.
Copy-paste can be inconsistent. Some applications normalize Unicode characters when pasting, converting mathematical symbols back to plain ASCII. Others preserve them. The behavior depends on the application, the operating system, and the specific characters used.
Translation tools fail. Google Translate and other translation services may not recognize words written in mathematical Unicode characters. Auto-correct and spell-check also fail, because the characters aren't recognized as letters.
Font support varies. The mathematical symbol characters are only displayed correctly if the user's device has a font that includes them. Most modern devices do, but older systems, some embedded displays, and certain accessibility tools may display blank rectangles or placeholder characters instead.
The practical recommendation is: use Unicode styled text sparingly and for decorative purposes only. Never use it for important information that needs to be readable, searchable, or accessible. A bold keyword in an otherwise plain-text bio is fine. An entire paragraph of mathematical bold text is hostile to screen reader users and invisible to search.
How the Generators Work
Building a Unicode text generator is conceptually simple. For mathematical-symbol-based styles (bold, italic, script, etc.), the generator maintains a mapping table from regular ASCII characters to their styled Unicode equivalents. When you type "Hello," it looks up each character and maps it to the corresponding code point in the target block. The mapped characters are output as a string that you can copy.
For combining-character-based styles (strikethrough, underline), the generator inserts the appropriate combining character after each character in the input. A five-letter word becomes ten characters — each original letter followed by the combining mark.
Characters without a mapping (punctuation, accented characters, emoji, CJK characters) are typically passed through unchanged. This is why styled text often has unstyled spaces and punctuation — the space character and most punctuation don't have mathematical-symbol equivalents.
Our fancy text generator provides all available styles in one place, letting you preview multiple styles and copy the one you want. For specific styles, the individual tools — bold, italic, strikethrough, underline, script, fraktur, small caps — provide focused functionality.
The Bottom Line
Unicode styled text is a clever exploitation of characters designed for mathematical notation and linguistic transcription. It produces text that looks bold, italic, or struck-through on platforms with no formatting support. The technique works because it uses different Unicode characters rather than formatting metadata — the style is in the characters themselves. But this same mechanism creates real accessibility problems: screen readers can't interpret the characters, search doesn't work, and translation tools fail. Use it for decorative emphasis in short text (bios, display names, occasional social media highlights), but not for body text, important information, or any content that needs to be universally readable.
References
Unicode Standard — Mathematical Alphanumeric Symbols — Wikipedia article on the Unicode block used for bold, italic, script, and other mathematical alphabets.
Unicode Standard — Combining Diacritical Marks — Wikipedia article on the combining characters used for strikethrough and underline.
Unicode Character Code Charts — Official Unicode code charts for all blocks.
WebAIM — Accessible Social Media — Guidance on accessibility issues with Unicode styled text in social media.