How keycap emoji work
The number-in-a-box emoji — 1️⃣, #️⃣, *️⃣ — look simple but are built from three stacked code points. They're a neat example of how emoji sequences compose.
Three parts
A keycap is: the base character (a digit, # or *), the emoji variation selector U+FE0F, and the combining enclosing keycap U+20E3. So 1️⃣ is U+0031 U+FE0F U+20E3.
The enclosing keycap
U+20E3 is a combining character that draws a rounded key/button around the preceding character. The variation selector ensures the emoji (colourful) presentation so it looks like a phone key rather than plain text.
Developer note
Like other sequences, one visible keycap is three code points — so counting or slicing naively can split it. Only digits 0–9, # and * have standard keycap emoji.
Frequently asked questions
How is the 1 emoji made?
1️⃣ is three code points: the digit 1, the variation selector U+FE0F, and the combining enclosing keycap U+20E3.
Which characters have keycap emoji?
Digits 0–9 plus # and *.