One symbol on screen, several characters underneath
An emoji that looks like a single picture may be stored as a sequence of Unicode code points—the numeric characters computers use to represent text. A skin-tone modifier adds another code point. A zero-width joiner, an invisible character that asks compatible emoji to appear as one combined image, links multiple symbols together.
For example, the family emoji 👨👩👧👦 is made from four person emoji and three joiners. It appears as one symbol, but its sequence contains seven code points.
Why the sequence takes more bytes
Text is commonly encoded in UTF-8, which uses a variable number of bytes per code point. Ordinary English letters and spaces use one byte each. Emoji generally use four bytes apiece, while each zero-width joiner uses three. So that family sequence occupies 25 bytes in UTF-8: 16 for the four emoji and nine for the joiners. The ten-character phrase “Nice work!” takes 10 bytes in ASCII-compatible UTF-8.
The screen’s single image is therefore not a reliable guide to the amount of text data behind it. A plain sentence can be shorter to store than one elaborate emoji.
What “more memory” means here
Those byte counts describe the encoded text, not necessarily the total memory used by an app. Software may also keep extra information about strings, and the font and operating system affect how the sequence is drawn. Still, the underlying sequence matters anywhere text is measured or transmitted: a character limit based on visible symbols can differ from a limit based on code points or bytes. One family emoji can look like one character while counting as seven code points—and using more bytes than a short sentence.






