Single emoji

๐ŸŽ‰

U+1F389

MeasureValueNote
Code points1single scalar value
UTF-16 units (JS length)2astral characters cost 2 units
UTF-8 bytes4what the wire carries
ZWJ joins0none
Variation selector U+FE0F0none

Bulk mapper

EmojiName (known)Code pointsJS lengthUTF-8 bytes
๐Ÿ˜€grinning faceU+1F60024
๐Ÿ‘thumbs upU+1F44D24
โค๏ธred heart (with VS16)U+2764 U+FE0F26
๐Ÿ‘จโ€๐Ÿ’ปman technologist (ZWJ sequence)U+1F468 U+200D U+1F4BB511
1๏ธโƒฃkeycap: 1 (VS16 + enclosing keycap)U+0031 U+FE0F U+20E337

Segmentation uses Intl.Segmenter at grapheme granularity โ€” the same unit a cursor moves through.

You Might Also Need

The emoji Unicode mapper decodes what an emoji actually is in memory: its code points, its UTF-16 units, which is what a JavaScript length counts, and its UTF-8 bytes. It separates the three cases that behave differently in code.

What is Emoji Unicode Mapper?

The emoji Unicode mapper takes an emoji and reports the sequence it is built from, which matters because the characters that look like single glyphs are often several code points long.

Three cases cover almost every emoji, and they behave very differently in code.

  • A single code point, such as the party popper, which is one scalar value and one grapheme.
  • A base character with a variation selector, where U+FE0F forces the emoji presentation rather than the text one; the red heart and the warning sign are the common examples.
  • A zero-width joiner sequence, where several code points are joined by U+200D and render as one glyph, which is how the rainbow flag and the technologist emoji are built.

Two further variants are handled by the same model: a regional indicator pair, where two letters combine into a national flag, and a keycap, where a digit is followed by a variation selector and an enclosing mark. The readouts per emoji are the code point list in the U+ format, the count of code points, the UTF-16 unit count that JavaScript's length reports, the UTF-8 byte count that the network carries, the number of zero-width joiner joins and the number of variation selectors present, with a note explaining what each number implies. Copy buttons then take the emoji itself, its JavaScript escapes or its HTML entities, which is the escape route for storing an emoji safely in source.

The bulk mapper does the same work for a pasted list, and it uses grapheme segmentation to decide where one emoji ends and the next begins, which is the same unit a text cursor moves through. That matters because splitting a joined sequence on code points destroys it: half a rainbow flag is two code points that render as separate letters. The known-emojis table names fifteen common characters, including the joined sequences and the keycap, which is enough to make the segmentation output readable at a glance.

Four limits are worth knowing, and they are the reason the numbers are shown rather than summarised.

  • Segmentation depends on the Unicode data the engine was built with, so an older browser can split a newer sequence, including a zwj sequence that a current engine reads as one grapheme.
  • The name list is small, so anything outside it is shown with a dash rather than a name.
  • Nothing here tests rendering, and a joined sequence can fall back to its components on a platform whose emoji font does not carry it, which turns one glyph into three.
  • The escape buttons concatenate code points without separators, which is right for source code and wrong for a case where each unit has to be read individually.

The code point count is not the number a reader perceives โ€” a single flag can be two code points, four UTF-16 units and eight UTF-8 bytes, and separating those three figures is the whole purpose of the tool, as well as the reason a length limit written for characters rejects a perfectly valid emoji.

How to use Emoji Unicode Mapper

  1. Paste the emoji into the input, or pick one from the common set, and read the code point list before anything else.
  2. Check the joiner and variation selector counts, since they explain why an emoji that looks like one glyph is several code points.
  3. Compare the UTF-16 and UTF-8 counts against the number of code points to see which measure the code in front of you is using.
  4. Copy the escape form the destination needs, and use the bulk mapper to segment a list rather than splitting it by character index.

When to use Emoji Unicode Mapper vs related tools

Reach for it when a validation rule rejects an emoji as too long, when a truncation function cuts one in half, or when an emoji has to be stored or compared in code and its sequence length has to be known rather than guessed. The three structural cases are the part worth learning. For the surrounding repertoire the Unicode block explorer shows the planes emoji live in, the character code converter lists every encoding of a single character, and the special character picker covers the punctuation marks that sit beside emoji in real text.

Privacy & Security

This tool runs entirely in your browser โ€” no data ever leaves your device. There is no server round-trip, no upload, no logging, and no account required. Your input is processed locally using client-side JavaScript and is never stored, transmitted, or accessible to anyone else. When you close the tab, everything disappears.

Frequently asked questions about Emoji Unicode Mapper