Encoding Tools
Emoji to Unicode.
Paste one emoji or many. Each emoji gets its code points, its UTF-8 bytes and a plain description of how it is built, whether it is a single character, a skin-tone variant, a flag or a ZWJ sequence such as a family.
Example: 😀 is U+1F600. 👍🏽 is U+1F44D U+1F3FD (thumbs up + medium skin tone). 👨👩👧 is five code points: U+1F468 U+200D U+1F469 U+200D U+1F467. 🇨🇦 is U+1F1E8 U+1F1E6, the letters C and A, which spell the flag of Canada.
Inputs
Result
How emoji are built from code points
A simple emoji is one code point, usually above U+FFFF (U+1F600 is the grinning face). Many others are sequences. UTS #51 describes the building blocks, and this page labels each one:
- Zero width joiner (U+200D). Joins emoji into one image when the platform has a glyph for the combination: man + ZWJ + woman + ZWJ + girl is a family. If a platform has no such glyph it shows the parts side by side.
- Skin tone modifiers (U+1F3FB to U+1F3FF). Placed after a base emoji; the five values correspond to Fitzpatrick types 1–2, 3, 4, 5 and 6.
- Variation selectors. U+FE0F asks for the emoji style of a character that can also be text, such as the heart U+2764; U+FE0E asks for the text style.
- Flags. A national flag is two regional indicator letters (U+1F1E6 to U+1F1FF) that spell an ISO 3166-1 region code, so Canada is C + A. Whether a given pair shows a flag depends on the platform.
- Keycaps. A digit,
#or*, then U+FE0F, then U+20E3 (combining enclosing keycap). - Tag sequences. The flags of England, Scotland and Wales are a black flag U+1F3F4, tag letters from U+E0020 to U+E007E spelling a subdivision code such as
gbeng, and the cancel tag U+E007F.
Counting. A sequence is one user-perceived character: UAX #29 (text segmentation) keeps a ZWJ sequence together as a single grapheme cluster. Under the hood the family emoji is 5 code points, 8 UTF-16 code units and 18 UTF-8 bytes, which is why character limits that count bytes or code units surprise people. The string byte length calculator shows all of these counts.
Limits. This tool describes the structure of what you paste. It does not claim that a sequence is on the official recommended-for-general-interchange (RGI) list, and whether a device shows a single image depends on its fonts. Grouping uses your browser's text segmentation, so a very new emoji may be split on an older browser.
Sources: UTS #51, Unicode Emoji and UAX #29, Unicode Text Segmentation, retrieved October 2026.
Frequently asked questions
How do I find the Unicode of an emoji?
Paste the emoji above. Its code points appear as U+ values, one emoji per line. Single emoji such as the grinning face are one code point (U+1F600); others are sequences of several.
Why does one emoji show several code points?
Because it is a sequence: a base emoji plus a skin tone modifier, a variation selector, or other emoji joined with U+200D. The table under the output explains the role of each part.
What is the invisible U+FE0F next to some emoji?
Variation selector-16. It asks for the colourful emoji presentation of a character that also has a plain text form, such as the red heart (U+2764 + U+FE0F).
How are flag emoji encoded?
As two regional indicator symbols that spell a two-letter region code. The Canadian flag is U+1F1E8 U+1F1E6 (C, A). There is no separate code point for each flag.
Why is the length of an emoji more than 1 in code?
Most languages count UTF-16 code units or bytes, not what a person sees. A single emoji above U+FFFF is 2 JavaScript units and 4 UTF-8 bytes, and a family emoji is 8 units and 18 bytes.