WhatsWrapped

Emoji counting (grapheme-aware)

Counting emoji correctly means counting whole, rendered symbols — not the raw characters a multi-part emoji is secretly built from.

What looks like a single emoji is often several Unicode characters glued together behind the scenes — a skin-tone modifier attached to a base gesture, or several people joined into a family. Counting naively by character breaks these apart and produces nonsense totals; counting by "grapheme cluster" (the technical term for a unit that renders as one visible symbol) keeps them whole. The other correction worth making: merging skin-tone variants of the same base emoji into one count, so 🫶 and 🫶🏻 are recognized as the same gesture rather than competing separately for a top-ten spot.

Example

Without merging skin-tone variants, 🫶 and 🫶🏻 might each place outside a top-ten list on their own, while the gesture they both represent would easily place first if counted together.

Try it with your chat

Frequently asked questions

Why would counting emoji "naively" even go wrong?+

Because a text-processing tool that isn’t specifically emoji-aware often sees a compound emoji as multiple separate unicode symbols and either double-counts it or renders it broken — the fix requires deliberately grouping by grapheme cluster, not assuming it happens automatically.

Does this affect flag emoji too?+

Yes — flags are also built from multiple underlying characters combined into one rendered symbol, and the same grapheme-aware counting keeps a flag as one emoji rather than two mismatched letters.

Related terms