3tej home
← Writing & Text

What is Bubble Text Generator?

A Bubble Text Generator produces a bubble text on demand, using a deterministic algorithm or a cryptographically strong random source. Output is generated entirely in your browser so nothing is sent to a server. Convert plain text to outline bubble (Ⓐⓑⓒ), filled bubble (🅐🅑🅒), or mixed bubble Unicode characters.

Bubble Text Generator

Convert text into Ⓑⓤⓑⓑⓛⓔ characters - Unicode circled letters that work on Instagram, TikTok, Twitter, Discord, and almost any platform that supports Unicode.

About bubble text

Bubble text is plain Unicode dressed up to look like letters trapped in circles. The generator maps each ASCII character to a codepoint in the U+24B6 to U+24E9 Enclosed Alphanumerics range (outline bubbles) or to U+1F150 to U+1F169 in the Enclosed Alphanumeric Supplement (filled bubbles), then concatenates the result. Nothing about the styling lives in CSS, so the circles travel intact into Instagram bios, TikTok display names, Discord nicknames, and any other field that accepts raw Unicode.

How it works

The algorithm is a single-pass lookup table. For every input code point, the generator checks whether the character has a bubble equivalent in the chosen block, substitutes it, and falls through to the original character if no mapping exists. There is no randomness, no server call, and no statefulness; the same input always produces the same output.

outline_bubble(c)  = c in [A-Z] ? U+24B6 + (c - 'A')
                   : c in [a-z] ? U+24D0 + (c - 'a')
                   : c in [0-9] ? U+2460 + (c - '1')   (1-9)
                   : U+24EA                            (0)

filled_bubble(c)   = c in [A-Z] ? U+1F150 + (c - 'A')
                   : c in [a-z] ? U+1F170 + (c - 'A')  (Microsoft renders filled lowercase as filled uppercase)
                   : c                                 (unchanged)

The Mixed style alternates between the two tables based on character index, producing the Ⓜ🅸🆇🅴🅳 pattern visible above.

Worked example

Take the four characters Hi 7 (capital H, lowercase i, space, digit 7) and pass them through each style:

  1. Outline bubble: H (U+0048) maps to Ⓗ (U+24BD). i (U+0069) maps to ⓘ (U+24D8). Space (U+0020) has no entry, so it passes through unchanged. 7 (U+0037) maps to ⑦ (U+2466). Result: Ⓗⓘ ⑦.
  2. Filled bubble: H maps to 🅗 (U+1F157). i has no filled lowercase entry in the Supplement block, so the generator falls back to filled uppercase 🅘 (U+1F158). Space passes through. 7 has no filled-digit codepoint in the block, so it stays as 7. Result: 🅗🅘 7.
  3. Mixed: index 0 (H) uses outline -> Ⓗ. Index 1 (i) uses filled -> 🅘. Index 2 (space) unchanged. Index 3 (7) uses outline -> ⑦. Result: Ⓗ🅘 ⑦.
Result: The widget renders 3 stylings of the same string in roughly 0.2 ms on a 2020 phone. No network call, no rendering glyph different from what your friend will see, because the mapping is deterministic Unicode, not a font hack.

Unicode block reference

Bubble letters do not all live in the same block. Coverage gaps are the main reason output sometimes shows boxes on the receiving device.

StyleBlockRangeCoverage
Outline uppercase A-ZEnclosed AlphanumericsU+24B6 to U+24CFUniversal since Unicode 1.1 (1993)
Outline lowercase a-zEnclosed AlphanumericsU+24D0 to U+24E9Universal since Unicode 1.1
Outline digits 1-9, 0Enclosed AlphanumericsU+2460 to U+2468, U+24EAUniversal since Unicode 1.1
Filled uppercase A-ZEnclosed Alphanumeric Suppl.U+1F150 to U+1F169Added in Unicode 5.2 (2009); patchy on pre-2015 Android
Negative circled digitsDingbatsU+2776 to U+277EUniversal but visually inconsistent across fonts

Common pitfalls and limitations

  • Accessibility cost. Screen readers (VoiceOver, NVDA, TalkBack) read Ⓗ as "circled capital H", not as "H". A bubble-text bio becomes an exhausting verbal slog for blind users. The W3C WCAG 2.1 success criterion 1.3.1 (Info and Relationships) explicitly flags Unicode style swaps as an accessibility failure.
  • Search invisibility. Twitter, Instagram, and most platform search engines index by raw Unicode, not by NFKC normalisation, so Ⓢⓐⓛⓔ will not appear for a search of "sale". Avoid bubble text in copy meant to be discoverable.
  • Filled lowercase tofu. The Enclosed Alphanumeric Supplement block has no filled lowercase letters; the generator substitutes filled uppercase. On older Android phones (below Android 7) and Windows 7, even the uppercase versions render as .notdef boxes.
  • Username vs bio. Instagram, TikTok, Twitter, Facebook, and YouTube all restrict @handle to ASCII; bubble characters only work in the display name and bio fields.
  • Copy-paste corruption. Some apps (Slack, older Microsoft Teams, some email clients) silently normalise Unicode to ASCII on paste, stripping the bubble effect.

Frequently asked questions

Why does bubble text sometimes look like boxes on my friend's phone?

The receiving device must have a font that includes the U+24B6 to U+24E9 Enclosed Alphanumerics block. Most modern phones and desktops do, but older Android builds, Windows 7, and some custom Linux setups ship fonts that lack these glyphs and display a .notdef box (tofu) instead. Filled bubble letters (U+1F150 to U+1F169) are in the Enclosed Alphanumeric Supplement block and have even patchier coverage, especially on pre-2018 devices.

Can screen readers read bubble text?

Mostly yes, but awkwardly. VoiceOver and NVDA read U+24B6 (Circled Latin Capital Letter A) as "circled capital A" rather than just "A", so a bubble-text bio reads aloud as "circled capital H circled lowercase e circled lowercase l circled lowercase l circled lowercase o". The W3C explicitly discourages using Unicode style variants for emphasis precisely because they are read this way. Use it for visual flair, not for important content.

Is bubble text allowed in Instagram and TikTok usernames or bios?

Bios accept the full Unicode range on both platforms. Usernames are tighter: Instagram allows only ASCII letters, digits, period, and underscore; TikTok allows letters, digits, period, and underscore. So bubble characters are blocked at the @handle layer but fine in the display name and bio. Twitter/X allows them in display name only.

Will bubble text hurt my search ranking on Twitter or Google?

Yes, when used in indexable copy. Search engines and platform search index by normalised characters (NFKC), but social search uses naive substring matching: a post saying "Ⓢⓐⓛⓔ" will not surface for a query of "sale". Keep bubble characters out of post bodies and hashtags. They are safe in display names where discoverability does not matter.

Sources and further reading

Last updated 2026-05-28.

CT
3Tej Editorial
Free, browser-based tools - no signup, no tracking.