Circled Letters in Unicode: Bubbles, Squares and Their Gaps

Circled letters and squared letters in Unicode: the Enclosed Alphanumerics blocks, the full ranges, and which variants have no lowercase or no digits.

Character blocks6 min read
The same word shown in circled, dark circled, squared and dark squared letters

Circled letters โ€” โ’ถ, โ“‘, โ‘  โ€” are characters, not letters with a border drawn round them. They live in three Unicode blocks with different histories, different coverage, and gaps that explain every odd-looking bubble-text output you have seen.

Enclosed Alphanumerics, U+2460โ€“U+24FF

The oldest and best-supported block. Enclosed Alphanumerics holds 160 characters.

RangeContentsExample
U+2460โ€“U+2473Circled digits 1โ€“20โ‘  โ‘ณ
U+2474โ€“U+2487Parenthesised digits 1โ€“20โ‘ด โ’‡
U+2488โ€“U+249BDigits with a full stopโ’ˆ โ’›
U+249Cโ€“U+24B5Parenthesised lowercaseโ’œ โ’ต
U+24B6โ€“U+24CFCircled capitals Aโ€“Zโ’ถ โ“
U+24D0โ€“U+24E9Circled lowercase aโ€“zโ“ โ“ฉ
U+24EACircled zeroโ“ช
U+24EBโ€“U+24FENegative circled and double-circled numbersโ“ซ โ“ต
U+24FFNegative circled zeroโ“ฟ

The Latin ranges are complete: 26 capitals, 26 lowercase, and digits 0 through 20. This is why the standard bubble text style โ€” โ’ทโ“คโ“‘โ“‘โ“›โ“” โ€” preserves capitalisation correctly, which most of the other enclosed styles cannot.

The block came from Japanese and Korean encodings, where circled numbers are ordinary typographic furniture: list markers, ranking, footnote references, item numbers on a form.

The negative circled digits are somewhere else

โถ โท โธ โ€” the solid-filled numbers โ€” are not in this block. They are in Dingbats at U+2776โ€“U+277F, inherited from the Zapf Dingbats font. Unicode encoded that font wholesale in 1991, which scattered a lot of otherwise-related symbols.

So a โ€œdark bubbleโ€ style draws its digits from Dingbats and its letters from a block added twenty years later.

Enclosed Alphanumeric Supplement, U+1F100โ€“U+1F1FF

Added in Unicode 6.0, mostly from Japanese mobile carrier character sets โ€” the same source as much of the original emoji.

RangeContentsExample
U+1F130โ€“U+1F149Squared capitals Aโ€“Z๐Ÿ„ฐ ๐Ÿ…‰
U+1F150โ€“U+1F169Negative circled capitals Aโ€“Z๐Ÿ… ๐Ÿ…ฉ
U+1F170โ€“U+1F189Negative squared capitals Aโ€“Z๐Ÿ…ฐ ๐Ÿ†‰
U+1F1E6โ€“U+1F1FFRegional indicator symbols Aโ€“Z๐Ÿ‡ฆ ๐Ÿ‡ฟ

Capitals only. There is no lowercase in any of these three sets. That is the single most important fact about them, and it is why our dark-bubble and squared styles render Roblox as ๐Ÿ…ก๐Ÿ…ž๐Ÿ…‘๐Ÿ…›๐Ÿ…ž๐Ÿ…ง and ๐Ÿ…๐Ÿ„พ๐Ÿ„ฑ๐Ÿ„ป๐Ÿ„พ๐Ÿ…‡ โ€” both cases map to the same characters, so capitalisation is lost entirely.

There are no digits either. A phone number in dark-bubble style is a plain phone number.

The regional indicators are a trap

U+1F1E6โ€“U+1F1FF look like plain squared letters on their own, and they are not decorative. Two of them adjacent form a flag. ๐Ÿ‡ฌ followed by ๐Ÿ‡ง is ๐Ÿ‡ฌ๐Ÿ‡ง, and there is no way to stop it โ€” the pairing is done by the fontโ€™s emoji sequences, not by anything in the text.

So spelling a word with regional indicators produces flags for any two-letter sequence that happens to be a country code, in unpredictable places. Never use them as letters. A converter that does is broken.

Enclosed CJK Letters and Months, U+3200โ€“U+32FF

The third block, largely Korean and Japanese: parenthesised and circled Hangul, circled ideographs, circled numbers 21โ€“50, and abbreviations for months and units.

Two ranges occasionally matter outside CJK typesetting:

RangeContents
U+3251โ€“U+325FCircled numbers 21โ€“35
U+32B1โ€“U+32BFCircled numbers 36โ€“50

That is how a circled list gets past 20. Beyond 50, nothing exists.

Summary of the gaps

StyleCapitalsLowercaseDigitsCase preserved?
CircledYesYes0โ€“50Yes
Negative circledYesNo0โ€“10No
SquaredYesNoNoNo
Negative squaredYesNoNoNo
ParenthesisedNoYes1โ€“20โ€”

The first row is the only complete one. If you want enclosed text that keeps its capitals and handles numbers, plain circled is the style to use.

Font support

Mixed, and it splits along the block boundary.

Enclosed Alphanumerics (U+2460) is safe. Basic Multilingual Plane, decades of font coverage, renders essentially everywhere including old devices.

The Supplement (U+1F100) is not. Plane 1, and many systems treat parts of it as emoji, which has two consequences: a font may render ๐Ÿ…ฐ in full colour beside your monochrome text, and a font without emoji coverage shows an empty box. The colour-versus-monochrome behaviour also differs between platforms for the same character, so you cannot predict how it will look for the reader.

If you want reliable enclosed text, stay in U+2460.

Normalisation and accessibility

NFKC unwraps them, oddly. These characters have compatibility decompositions that include the brackets: โ’ฝ normalises to (H), not to H. So โ’ฝโ“”โ“›โ“›โ“ž becomes (H)(e)(l)(l)(o) โ€” usually not what anyone wanted, and worth knowing if you are storing this text somewhere that normalises. See unicode normalisation.

Screen readers may announce each as โ€œcircled latin capital letter Hโ€ or read the decomposition with the brackets. As with every styled block, a whole bio in circled letters is a bio part of your audience cannot use.

Line height is worth a mention: enclosed characters are visually taller than surrounding text in many fonts, so a circled word inside a paragraph can push the line spacing out.

Quick answers

Are there circled numbers above 20?
Yes, 21โ€“50, in Enclosed CJK Letters and Months. Nothing above 50.

Why does dark bubble text lose my capitals?
Because the negative circled range has no lowercase, so both cases map to the same characters.

Why did my squared letters turn into a flag?
You used regional indicators, U+1F1E6โ€“U+1F1FF, which pair into country flags. Use the squared capitals at U+1F130 instead.

Why are some enclosed letters in colour?
Parts of the Supplement block are treated as emoji, and the platform renders them with its emoji font.

Which enclosed style is safest?
Plain circled, U+2460. Complete alphabet, complete case, and universally supported.