Some letters stay normal in fancy text because the styled alphabets are not real fonts — they are separate Unicode characters, and those alphabets are incomplete. Bold, italic, and script cover the 26 Latin letters, but accents, punctuation, spaces, numbers in some styles, and a few individual letters simply have no styled twin, so the original character shows through unchanged.
When you paste a stylish caption into Instagram or X, you are not applying a font. A tool like BoldlyType swaps each of your normal letters for a look‑alike character that already exists in Unicode — the block called Mathematical Alphanumeric Symbols. Bold 𝗮, italic 𝘢, and script 𝓪 are all distinct code points, not styling instructions. That distinction is the whole reason some characters convert and others do not: if a matching styled character was never assigned in the Unicode standard, there is nothing to swap in, so your original plain character simply passes through untouched. The result is text that looks half‑converted — most of it styled, a few stubborn letters or marks left in the default typeface.
Which characters have no styled twin?
The gaps are not random. They follow exactly which characters the Unicode standard chose to encode for each style. Some alphabets are complete; several are missing whole categories.
| Character type | Usually converts? | Why |
|---|
| A–Z, a–z (plain Latin) | Yes | Fully encoded in most styles |
| Accented letters (é, ñ, ü, å) | No | No styled versions exist — accents fall outside the block |
| Digits 0–9 | Depends on style | Bold, double‑struck, sans‑serif, and monospace have styled digits; italic and script do not |
| Punctuation (. , ! ? ') | No | No styled punctuation exists; the plain mark stays |
| Spaces | No | A space has no "bold" form |
| A few individual letters | No | Reserved gaps borrowed from another block |
So a word like café converts the c, a, and f but leaves the é plain, because no bold or italic é was ever assigned. Numbers behave differently depending on which style you picked — that is why "2024" turns bold in one generator but stays normal in an italic or script one.
The famous gaps: small‑caps, subscripts, and reserved letters
A few styles have well‑known holes, and they are worth naming because they are the most common source of "why did that one letter stay normal" confusion.
- Small caps has no X. The small‑capitals set covers 25 of the 26 letters, but a small‑cap X was never added to Unicode. Type an X in a small‑caps generator and you get a plain, full‑size X sitting among the tiny ones.
- Subscripts are badly incomplete. The subscript style has zero capital letters and only about 12 lowercase Latin letters. Most letters simply have no subscript form, so they stay full‑size.
- Reserved letters borrow from elsewhere. In the italic and script alphabets, a handful of letters (like the italic h or several script capitals) were left as reserved gaps in the math block and are instead pulled from the older Letterlike Symbols block (U+2100–214F). They usually still look right — but because they come from a different range, some apps and fonts render them at a slightly different weight or refuse them entirely.
None of this is a bug in the generator. It is a map of which characters the standard actually defines. If you want the mechanics of how the swap works overall, see how to make stylish text.
Separately from the no‑twin problem, some places will undo a styled character that did convert — which can also leave a letter looking normal.
The clearest, verifiable case is Instagram usernames. Instagram restricts the handle field to plain letters, numbers, periods, and underscores, so styled characters there are rejected or reverted to plain — while the same characters work fine in your bio or captions. Beyond that specific rule, some apps run a normalization step called NFKC that folds styled characters back to their plain base — for example, mathematical bold I normalizes straight back to a plain I. Whether any given platform applies this to a given field is not fully published, so treat "will this stick in a search field / display name / alt‑text box?" as something to test rather than assume. We do not have exact per‑field rules from the platforms, and it would be wrong to invent them.
How to avoid the half‑converted look
You cannot add characters Unicode never created, but you can work around the gaps:
- Pick a style whose set you need. If your text has numbers, choose bold, sans‑serif, monospace, or double‑struck rather than italic or script. Try a few in the bold text generator.
- Rephrase around dead characters. Drop or reword accented letters and heavy punctuation in the part you want fully styled.
- Keep handles plain. Style your display name and bio, not your @username.
- Preview before posting. If a character looks off, a different style may cover it — the Instagram text formatter lets you compare.
This is a close cousin of the separate problem where styled text renders as empty boxes; if that is what you are seeing, read why fancy text shows as boxes — that is a can't‑render issue, whereas this article is about characters that have no styled version to begin with.