Skip to content

Text Bubble Generator

Type once and copy your words in five bubble styles: ⓑⓤⓑⓑⓛⓔ, 🅑🅛🅐🅒🅚, 🅂🅀🅄🄰🅁🄴 and more. Paste bubble text in instead and you get the plain letters back.

  • Bubble
    Capitals, small letters and 0–50

    Ⓑⓤⓑⓑⓛⓔ ⓣⓔⓧⓣ ②⓪②⑥

  • Black bubble
    Capitals only, numbers 0–20

    🅑🅤🅑🅑🅛🅔 🅣🅔🅧🅣 ❷⓿❷❻

  • Square
    Capitals only, no numbers

    🄱🅄🄱🄱🄻🄴 🅃🄴🅇🅃 2026

  • Black square
    Capitals only, no numbers

    🅱︎🆄🅱︎🅱︎🅻🅴 🆃🅴🆇🆃 2026

  • Brackets
    Capitals, small letters and 1–20 (no zero)

    🄑⒰⒝⒝⒧⒠ ⒯⒠⒳⒯ ⑵0⑵⑹

Five bubble styles and what each covers

Bubble text is not a font. Each letter is swapped for a separate Unicode character that already has the circle or box drawn round it, which is why it survives copy and paste into places that do not let you pick a font. The catch is that Unicode only encodes some of the sets. There is no black-circled small a, no squared digits, and no bracketed zero, so the styles below do not all cover the same characters.

Bubble text styles, coverage and Unicode code points
StyleA to Za to zDigitsCode points
BubbleⒶ…Ⓩⓐ…ⓩ⓪ ①…⑨U+24B6–24E9, U+2460, U+24EA
Black bubble🅐…🅩as capitals⓿ ❶…❾U+1F150–1F169, U+2776, U+24FF
Square🄰…🅉as capitalsnoneU+1F130–1F149
Black square🅰…🆉as capitalsnoneU+1F170–1F189
Brackets🄐…🄩⒜…⒵⑴…⑼ (no 0)U+1F110–1F129, U+249C, U+2474

Where a style has no matching character, the generator leaves the original as it is, so a square “ROOM 12” comes out as 🅁🄾🄾🄼 12. The plain Bubble style is the only one with a full set of capitals, small letters and digits, and it is also the oldest: those characters date from Unicode 1.1 in 1993, while the black and squared letters arrived between Unicode 5.2 and 6.0, so very old phones and some fonts may show them as empty boxes.

Circled numbers from 0 to 50

Unicode has single characters for whole circled numbers, not just digits. ⑩ is one character; ①⓪ is two characters squeezed together, each in its own circle. With “Whole numbers in one circle” ticked, the generator uses the single character whenever the style has one, and falls back to digit by digit above that.

Worked example. “Table 25” in the Bubble style becomes Ⓣⓐⓑⓛⓔ ㉕. The ㉕ is U+3255 from the Enclosed CJK Letters and Months block, which is why it can look slightly different from ① to ⑳ in the same line: fonts often draw that block for East Asian text. In Black bubble the largest is ⓴ (20), so “Table 25” becomes 🅣🅐🅑🅛🅔 ❷❺.

Single-character circled numbers by range
NumbersBubbleBlack bubbleBrackets
0⓪ U+24EA⓿ U+24FFnone
1–10①…⑩ U+2460–2469❶…❿ U+2776–277F⑴…⑽ U+2474–247D
11–20⑪…⑳ U+246A–2473⓫…⓴ U+24EB–24F4⑾…⒇ U+247E–2487
21–35㉑…㉟ U+3251–325Fnonenone
36–50㊱…㊿ U+32B1–32BFnonenone

Unicode also has double-circled ⓵ to ⓾ (1–10) and a sans-serif set ➀ to ➉ (1–10). They are useful for a numbered list of up to ten steps, but there are no letters to go with them, so they are not offered as a style here.

Why 🅰 🅱 🅾 🅿 and Ⓜ turn into emoji

Five bubble letters are also emoji. 🅰 🅱 🅾 are the blood-type buttons, 🅿 is the parking sign and Ⓜ is the circled M of a metro sign. Unicode’s emoji data lists all five with text as their default look, but many phones and chat apps draw them as coloured emoji anyway. In a Black square word such as 🅱🅰🅽🅳, two letters can turn red and stand out from the rest.

Unicode provides an invisible character for exactly this, variation selector 15 (U+FE0E), which asks for the plain text look. With “Keep … as letters” ticked, the generator adds it after those five letters only. Some apps still ignore it, and it does count towards character limits, so untick the box if a field is very short or rejects the result.

Where bubble text works

Where bubble text can and cannot be used
PlaceWorks?Why
Display names, bios, captions, Discord nicknamesUsuallyThese fields accept most Unicode symbols
Usernames and @handlesRarelyMost sites only allow letters, numbers and a few marks such as _ and .
Search, inside the app or on GooglePoorlyⓗⓔⓛⓛⓞ and hello are different characters unless the search normalises them
Screen readersPoorlyThey may spell it out by character name or skip it; keep a plain version for anything people must read
Short character limitsCheckBlack and square letters are 2 UTF-16 units each, so they can use up a limit twice as fast

The length difference is easy to miss. Ⓐ is one UTF-16 unit and 3 bytes in UTF-8; 🅐 and 🅰 are outside the Basic Multilingual Plane, so each is 2 UTF-16 units and 4 bytes. A field that counts in UTF-16 units, as JavaScript’s length does, sees “🅑🅛🅐🅒🅚” as 10 characters, not 5.

Turning bubble text back into plain letters

Paste any bubble text into the box and a Plain text row appears above the styles, so there is no direction to switch. It recognises every character the five styles use, including whole numbers like ㉕, and strips the invisible emoji selectors. Anything else, such as emoji and punctuation, passes through unchanged.

Worked example. 🅗🅔🅛🅛🅞 ⓦⓞⓡⓛⓓ ⑫ turns back into “HELLO world 12”. The first word comes back in capitals because Black bubble has no small letters, so whatever case it was typed in is already lost.

Software can also do part of this by itself. Unicode normalisation form NFKC, which many sites use to tidy up usernames and search queries, folds some enclosed characters back to plain text, but not all of them:

What NFKC normalisation does to each bubble style
CharacterAfter NFKCEffect
Ⓐ ⓐA aBecomes plain
⑩ ㉕10 25Becomes plain digits
🄰ABecomes plain
⒜ ⑴(a) (1)Brackets become real brackets
🅐 🅰 ❶ ⓫unchangedNo compatibility mapping, so they stay as they are

In practice that means a name in the plain Bubble style may still be found by a search for the ordinary word, while Black bubble and Black square text usually will not be.

Bubble text, bubble letters and circle text

Three different things share the name. Bubble text is the copy-and-paste characters on this page. Bubble letters are the puffy, rounded lettering from graffiti and school notebooks; that is a drawing style or a font, so it only travels as an image. And if you want words running round the edge of a circle, as on a stamp or badge, that is a layout, made with the circle text generator.

Frequently asked questions

Why are some of my small letters coming out as capitals?

Black bubble, Square and Black square only exist as capitals in Unicode. The generator uses the capital rather than leaving a gap, so “hello” becomes 🅗🅔🅛🅛🅞. Use the plain Bubble or Brackets style if you need small letters.

Why do I see empty boxes instead of bubbles?

The device or app has no font with those characters. The plain Bubble style is the most widely supported; the black and square letters are newer and missing from some older systems.

Can I use bubble text in a password?

Better not. Some systems normalise it to plain letters and some do not, so the same password could be stored one way and typed another, and it is hard to enter on a different device.

Is there a circled version of every number?

Single characters exist for 0–50 in the plain style and 0–20 in black. Bigger numbers are built digit by digit, such as ⑤①, which most readers will take as two numbers.

Is my text sent anywhere?

No. The conversion runs in your browser as you type.

Sources