TL;DR A bubble text generator swaps your normal letters for circled Unicode characters — ⓑⓤⓑⓑⓛⓔ ⓣⓔⓧⓣ — that paste into free-text fields like bios and captions because the circle is baked into each character. Outline uppercase A–Z and digits 1–20 have the broadest support; lowercase a–z is close behind; filled bubbles and circled numbers above 20 are where things get spotty.
You typed a word, ran it through a bubble text generator, and out came ⓒⓘⓡⓒⓛⓔⓓ ⓛⓔⓣⓣⓔⓡⓢ you can paste straight into a bio. It feels like magic, and then it half-breaks: a friend says your name shows as boxes, the "0" in your handle refuses to go round, and a couple of the filled bubbles look like little colored buttons instead of matching letters.
None of that is a bug. It's the predictable result of how bubble text actually works under the hood. Once you understand that, you know exactly which circled characters to trust and which to leave alone. Here's the full picture, with real examples you can copy.
What a bubble text generator actually does
A bubble text generator is not changing your font. There's no "bubble font" being applied. Instead, it swaps each normal letter for a completely separate Unicode character that happens to be drawn inside a circle.
Your normal lowercase b is code point U+0062. The bubble version, ⓑ, is U+24D1 — a different character entirely, one that Unicode defines as "circled latin small letter b." The generator just maps your input to that parallel set of code points. (This is the same character-substitution trick behind every Unicode styler; we break down the mechanism in how bold text generators work.)
That single fact explains everything that follows. Because the circle is part of the character — not a style layered on top — the result behaves like plain text:
- It pastes into free-text fields — bios, captions, posts, and messages.
- It survives the trip between apps, because you're moving characters, not formatting.
- It needs no app, no signup, nothing stored — BoldlyType generates it in your browser.
One honest caveat before you use it on a profile: many username and @handle fields are restricted to plain ASCII or a short list of allowed characters, so they'll silently strip or reject circled letters even though a bio in the same app accepts them. Bubble text is for the free-text fields, not the locked-down ones.
It also explains the failures. A character can only appear if the reader's device has a glyph to draw it, and not every circled character is equally well supported. So let's separate the reliable ones from the risky ones.
Outline bubble letters: the reliable set
These are the workhorses — circle outlines around normal-colored letters. They come from the Enclosed Alphanumerics block (U+2460–U+24FF), which Unicode first published back in 1993, so font support has had decades to mature.
Uppercase A–Z — complete set, U+24B6 to U+24CF:
Ⓐ Ⓑ Ⓒ Ⓓ Ⓔ Ⓕ Ⓖ Ⓗ Ⓘ Ⓙ Ⓚ Ⓛ Ⓜ Ⓝ Ⓞ Ⓟ Ⓠ Ⓡ Ⓢ Ⓣ Ⓤ Ⓥ Ⓦ Ⓧ Ⓨ Ⓩ
Circled digits 1–20 — precomposed and complete, U+2460 to U+2473:
① ② ③ ④ ⑤ ⑥ ⑦ ⑧ ⑨ ⑩ ⑪ ⑫ ⑬ ⑭ ⑮ ⑯ ⑰ ⑱ ⑲ ⑳
Lowercase a–z — complete set, U+24D0 to U+24E9:
ⓐ ⓑ ⓒ ⓓ ⓔ ⓕ ⓖ ⓗ ⓘ ⓙ ⓚ ⓛ ⓜ ⓝ ⓞ ⓟ ⓠ ⓡ ⓢ ⓣ ⓤ ⓥ ⓦ ⓧ ⓨ ⓩ
A small but real coverage note: the uppercase letters and the circled digits 1–20 have the oldest, broadest font support and almost never fall back to boxes. The circled lowercase letters were a later addition to the same block and, while they render fine on modern phones and desktops, they're the likeliest of these three sets to show as empty boxes on older or budget Android devices with a thinner default font. So they're reliable — just not quite as bulletproof as the uppercase and number sets.
Real copy-paste examples you can lift right now:
- Username-style string (for a free-text field): ⓙⓤⓢⓣⓙⓞⓡⓓⓐⓝ
- Bio header: Ⓦⓔⓛⓒⓞⓜⓔ ⓣⓞ ⓜⓨ ⓟⓐⓖⓔ
- A numbered list in a caption: ① Wake ② Coffee ③ Post
These three sets — uppercase, lowercase, and 1–20 — are the ones to reach for when you want bubble text that actually shows up on most people's screens.
Filled (negative) bubbles: where it gets inconsistent
"Filled" bubbles invert the look: a white letter sitting on a solid dark circle or square. They feel like the same effect, but they live in a different, much newer block — the Enclosed Alphanumeric Supplement (U+1F100–U+1F1FF), added around 2009–2010 — and they behave very differently.
Two things to know before you use them.
First, they're uppercase-only. There are no filled bubble lowercase letters anywhere in Unicode. The two filled sets are both A–Z capitals:
- Negative circled (white letter on black circle): 🅐 🅑 🅒 🅓 🅔 🅕 🅖 🅗 🅘 🅙 🅚 🅛 🅜 🅝 🅞 🅟 🅠 🅡 🅢 🅣 🅤 🅥 🅦 🅧 🅨 🅩
- Negative squared (white letter on dark square): 🅰 🅱 🅲 🅳 🅴 🅵 🅶 🅷 🅸 🅹 🅺 🅻 🅼 🅽 🅾 🅿 🆀 🆁 🆂 🆃 🆄 🆅 🆆 🆇 🆈 🆉
Second — and this is the gotcha — four of them aren't plain text at all. A few characters in the negative-squared run carry default emoji presentation, so most systems draw them as colored buttons rather than monochrome letters: 🅰 (A button), 🅱 (B button), 🅾 (O button) — these three double as the blood-type emoji — plus 🅿 (P button, the parking sign). Spell a word with the negative-squared set and any of those four can suddenly render red or blue while the rest stay dark, which is exactly why filled bubble words can look broken and uneven across apps.
(There's also a separate character, 🆎, the "AB button." It's worth knowing about, but it isn't one of the per-letter bubbles — it's a single code point that encodes the two letters "AB" together, so a generator can't produce it by substituting one of your typed letters. You'd never get it from spelling a word out letter by letter.)
The honest takeaway: outline letters are dependable; filled bubbles are a stylistic gamble that varies by platform. If you want a filled look that holds together, test it on more than your own phone before you commit it to a bio.
The gaps nobody warns you about
A few things people expect from bubble text simply don't exist as single characters. Knowing these up front saves a lot of confusion.
- There is no outline bubble zero. Circled digits start at 1. The only circled zero in Unicode is the filled form ⓿ (U+24FF) — a white 0 on a black circle. There is no plain outline ⓪. If your string needs a "0," you either use the filled ⓿ or keep it plain.
- There are no uppercase parenthesized letters. Parenthesized Latin letters exist, but lowercase-only: ⒜ ⒝ ⒞ … ⒵ (U+249C–U+24B5). Unicode gives them no case mapping, so a parenthesized "A–Z capitals" set doesn't exist no matter what a generator claims.
- Single-character circled numbers run out at 50. Precomposed outline circled digits in the main block stop at ⑳ (U+2473). The Enclosed CJK Letters and Months block continues them: circled 21–35 (㉑–㉟, U+3251–U+325F) and circled 36–50 (㊱–㊿, U+32B1–U+32BF). Past 50 there's no precomposed circled number anywhere — higher ones you see online are drawn with CSS or SVG on a web page and can't be copied as a character. Those CJK-block numbers also have thinner font support than 1–20, so treat 1–20 as your safe range and 21–50 as a stretch.
- Double-circled exists for 1–10 only. ⓵ through ⓾ (U+24F5–U+24FE) give you a double-ring look, but there's no double-circled letter set and nothing past 10.
How to use bubble text without it backfiring
Bubble text is a flourish, and it's a good one — used in the right spot. The trick is keeping it away from anything that has to work.
- Keep load-bearing text plain. Your @handle, links, and the searchable keywords in your bio should stay in normal characters. In-app search won't match circled text, so a bubble-styled keyword effectively becomes invisible to anyone searching for it.
- Mind accessibility. Screen readers handle circled characters poorly — they may read them out one awkward character at a time or skip them entirely — so don't bury essential information inside a bubble string. This is the same trade-off behind every Unicode style; we cover the rendering side in why fancy text shows as boxes.
- Preview on a second device. Because glyph coverage varies, the only way to know your bubble text holds together for other people is to look at it somewhere other than the phone you made it on.
Do that, and bubble text stays exactly what it's good at: a fun, portable, copy-paste flourish — with the uppercase, lowercase, and 1–20 outline sets doing the dependable work, and the filled and high-number forms used only where a little inconsistency won't hurt.