Styled Letters Are a Closed Alphabet
When you pick a "bold" or "script" style, you're not applying formatting the way a word processor does. You're swapping each letter for a different Unicode character that happens to look bold or scripted — the bold 𝗮 is its own code point, not a normal "a" wearing a costume. (If that idea is new, start with why fancy fonts turn into boxes.)
Those styled characters live in a Unicode region called the Mathematical Alphanumeric Symbols block, and it was built for equations, not languages. It contains styled forms of exactly three things: A–Z, a–z, and 0–9. That's the entire alphabet available to a letter-swap style.
Every accented letter you can think of — á é í ñ ü ç, and every Vietnamese vowel like ữ ế ệ ơ ư ă — lives in completely different Unicode blocks (Latin-1 Supplement, Latin Extended-A/B/Additional). Those blocks have no styled twins. So when a generator reaches for a bold version of "é," there simply isn't one to reach for. The é falls through to its plain form, and you get a word that's half-styled and half-not.
This is the single fact under every problem on this page: a letter-swap style can only restyle letters that have a styled twin, and accented letters don't have one. It's not a limitation of this tool — no tool can produce a character Unicode never defined.
The Three Fates of an Accent
Feed an accented letter into a generator and one of three things happens to it.
The most common outcome. The letter has no styled twin, so it's copied through unchanged while its neighbours are restyled. Your accent is perfectly intact — it just sits in the default font, out of step with the styled letters. é → é inside 𝗰𝗮𝗳𝗲́.
Some tools split "ế" into a base "e" plus floating tone marks, style the "e," then glue the marks back on. It can look right — but the marks now ride on a mathematical glyph they were never designed for, so on many devices they drift, stack wrong, or detach.
The Vietnamese đ / Đ is its own letter, not a "d" with a mark. It has no decomposition and no styled twin, so every style leaves it exactly as-is. It's the one character that breaks uniformly, in every font, forever.
Fate #1 is why Spanish and French look slightly off but usually acceptable. Fate #1 across a whole sentence is why Vietnamese looks broken. And fate #3 is why a Vietnamese name with a đ in it can never be fully styled by a letter-swap font, no matter what.
Accent-Safe Styles vs Half-Styled Styles
Here's the useful part. Whether a style keeps your accents comes down to how it works, not what it looks like. There are two mechanisms, and they behave oppositely.
We ran every style in this generator through the engine against real Spanish and Vietnamese input to sort them. The split is clean.
| Behaviour | How it works | Styles | Accented letter… |
|---|---|---|---|
| ✓ Accent-safe | Adds a mark or wraps the word in symbols — never replaces the letter | Strikethrough, Underline, Slash, Wavy, and the bracket / arrow / symbol word-wraps | keeps every accent & tone mark, styled just like its neighbours |
| ✕ Half-styled | Swaps each letter for a styled twin that doesn't exist for accents | Bold, Italic, Script/Cursive, Fraktur/Gothic, Double-struck, Bubble, Small Caps, Monospace, Fullwidth, Upside-down | drops to plain form while the rest of the word restyles |
| — N/A | Replaces the characters entirely | Redacted / blackout styles | is blacked out along with everything else |
The mechanism test is quick to eyeball: if a style puts a line, mark, or bracket over or around your letters, it keeps accents. If it turns your letters into fancy new shapes, it doesn't. A strikethrough draws a line through "ñ" just fine — it doesn't need a special "ñ" to do it. A bold font needs a bold "ñ," and there isn't one.
Why the Same Text Looks Fine on One Screen and Broken on Another
Even when an accent should render, whether it looks right depends on the reader's device, browser, and screen. This is why you can't judge accented styled text from your own phone alone.
The browser flip: Chrome vs Firefox
When an accent is stored as a separate combining mark, Chrome, Edge and Safari quietly re-compose it onto its letter before drawing (they normalise to NFC). Firefox does not — it hands the sequence to the font as-is. So a reattached accent that looks perfect in Chrome can render as a floating, offset mark in Firefox on the very same page. Same text, opposite result, decided entirely by the reader's browser.
The platform gap: iOS vs Android vs Windows
- Windows can draw the styled glyphs at all only because a math font (Cambria Math) sits in its fallback chain — the default Segoe UI covers almost none of the block. In older or plain text controls with no fallback, styled letters become boxes.
- iOS is strict: if a character isn't in the system font, iOS often won't fall back to another font at all — the glyph simply shows as an empty box. Apple deliberately omits many of these code points.
- Android leans on its Noto fonts ("no more tofu") which cover the math block on modern versions — but Android 5-and-older and low-end builds never got that coverage, so the same styled name that's crisp on a new phone is tofu on an old one.
Size, zoom & screen density: the noticeability dial
Two independent things decide whether breakage is visible: whether the accent is placed correctly, and whether the screen has enough pixels to show it. They pull in opposite directions:
| Condition | Effect on a broken/detached accent |
|---|---|
| Small text, low-DPI screen | Hides it — the mark blurs into the letter as a dark smudge; misplacement is easy to miss |
| Large text, zoom, or a Retina/HiDPI screen | Exposes it — extra pixels render the mark crisply, so any drift or detachment becomes obvious |
| Windows ClearType | Sharpens horizontal detail only — the vertical zone where accents stack gets no benefit and can look coarse or fringed |
| Tight line-height / clipped containers | Tall stacked marks (Vietnamese vowel + tone, or zalgo) overshoot the line and get clipped or overlap the row above |
There's a counterintuitive lesson here: a Spanish name in a script font can look fine on a cramped mobile preview and visibly wrong when someone opens it full-size on a desktop. If you only check the small version, you're checking the case most likely to hide the problem.
How Badly It Breaks Depends on Your Language
The half-styled effect is only as visible as your language is accented. Rough guide, least to most affected:
| Language | Accent load | What a bold/script style looks like |
|---|---|---|
| English | None | Perfect — every letter has a styled twin |
| Spanish, Italian, Portuguese, French | Light (á é í ó ú ñ ç ü, one per word or two) | Mostly styled with the odd plain accented letter — subtle, often acceptable for a short name |
| German, Nordic, Turkish, Polish | Light–medium (ä ö ü å ø æ ı ł, plus ß with no styled form) | Occasional plain letters; ß and ı can look odd |
| Vietnamese | Heavy — most syllables carry a vowel mark and a tone mark, plus đ | Breaks visibly — the majority of letters fall to plain; đ never converts |
| Cyrillic, Arabic, Hindi, Chinese, Japanese, Korean | Non-Latin script | No styled variants exist — the whole text stays plain (only Latin/Greek/digits transform) |
So for a Spanish username, a letter-swap style is usually a fine trade. For a Vietnamese one, it's the wrong tool — which brings us to the hardest case.
Vietnamese: Why "Chữ Kiểu" Fights Back
Vietnamese is the stress test for every idea on this page, because a single vowel can stack a base letter, a vowel-shape mark (â, ă, ơ, ư) and a tone mark (sắc, huyền, hỏi, ngã, nặng). "ế" is really e + circumflex + acute. When a letter-swap font can only restyle the bare "e," it strips the very marks that carry the meaning.
The NFC / NFD trap
Vietnamese text exists in two encodings that look identical: precomposed (NFC — "ệ" is one character) and combining (NFD — "ệ" is three). Most keyboards and websites use NFC, but text copied from a Mac often arrives in NFD. A per-character transform run over NFD Vietnamese will split a vowel from its tone mark and style or flip them separately — so the same tool can behave differently depending on where the text was copied from. (The safe default for any generator is to normalise to NFC first.)
The đ that never budges
As above: đ/Đ has no decomposition and no styled twin, so it's the one letter guaranteed to stay plain in every letter-swap style — and it also survives accent-stripping, so tools that "remove dấu" have to special-case it by hand.
What Vietnamese users actually do
The Vietnamese scene solved this years ago, and the solution is telling: the popular category isn't "font" at all — it's "kí tự đặc biệt" (special characters). Instead of restyling letters, users decorate a plain name with symbol frames (꧁ ༒ 亗 ★), which keeps the letters — and their dấu — safe. The common workarounds:
- Wrap, don't swap — put ornaments around a plain name; the accent-safe symbol styles above do exactly this.
- Bỏ dấu — deliberately drop the tone marks (Hưng → Hung) so the whole word styles uniformly. Standard for game names on Free Fire and Liên Quân, where names are length-capped and diacritics often error out.
- Test before committing — paste the candidate into a chat box first; if it shows □ or ?, pick another.
The lesson for anyone styling Vietnamese: reach for an accent-safe style, or remove the accents on purpose. Don't ask a bold font to do a job Unicode never gave it the letters for.
Search, Paste & the Normalization Tax
Even a perfectly styled accented string can change the moment it leaves the generator, because many systems normalise text on the way in.
- Search sees through the styling. Indexes and search boxes fold styled letters back to plain (NFKC normalization), so 𝐛𝐨𝐥𝐝 is indexed as "bold." That's good for being found — but it also means fancy text won't match a search for the normal spelling, and Ctrl-F / in-app search skips right over it.
- Some fields strip accents outright. A common sanitising step (decompose, then drop combining marks) erases every accent — and, again, leaves đ behind. Your carefully-accented text can arrive plain.
- Handles are ASCII-only everywhere. Instagram, Discord, TikTok, X, Telegram, Snapchat, Roblox and Steam all restrict the @handle to plain letters/numbers/dot/underscore. Styled and accented text belongs in the display-name field, never the handle.
- Stacking marks has limits. Platforms cap combining marks to fight zalgo (Discord stops handling them past ~150; Unicode's own "stream-safe" limit is 30). Piling zalgo on top of Vietnamese is doubly destructive — the glitch marks drown the tone marks that carry meaning.
And length counts against you: on X, each styled letter counts as two characters, so a styled accented bio hits the limit roughly twice as fast — while also raising the odds that at least one character lands on a device that can't draw it.
Five Rules for Accented & Non-English Text
1. Match the style to the language
Light-accent languages (Spanish, French, German) survive a letter-swap style with only minor plain letters. Heavy-accent languages (Vietnamese) need an accent-safe style — or a deliberate accent removal.
2. To keep every mark, wrap or mark — don't swap
Strikethrough, underline, slash and symbol-wrap styles preserve all diacritics because they never replace the letter. Reach for these when the accents must stay.
3. Never leave đ (or a load-bearing accented word) alone in a swap style
đ will always render plain in a bold/script style. If the word must read correctly, keep it plain or accent-safe.
4. Style a word, not a paragraph
Every styled character costs on the accessibility side (a screen reader reads "mathematical bold small e" one glyph at a time) and adds another chance to break. Style a name or a hook, not a whole bio.
5. Test on the worst case
For accents specifically, that's an older Android phone and Firefox — the two renderers most likely to expose a dropped or detached mark. If it survives there, it'll survive nearly anywhere.
So a bold font can't give you one — it can only leave your accent plain.
To keep your marks, choose a style that marks, not one that swaps.
Find a style that keeps your accents
Type your accented or Vietnamese text into the generator and compare styles side by side — the mark-based and symbol styles keep every diacritic intact.
Open the Text Generator →