Unicode Emoji Technical Reference & Encoding Guide
Everything software developers, designers, and linguistic researchers need to understand about emoji encoding, code point ranges, joiner sequences, and presentation modifiers in Unicode 15.1 and beyond.
1. Code Points & Planes
Every Unicode character has a unique integer called a code point, written as U+XXXX. While ASCII lives in the Basic Multilingual Plane (Plane 0), most modern emojis reside in Plane 1 (Supplementary Multilingual Plane, U+1F000 to U+1FFFF).
2. Zero Width Joiner (ZWJ)
The invisible character U+200D instructs the font rendering engine to merge adjacent characters into one single graphic glyph (e.g. 🧑 + ZWJ + 💻 = 🧑💻 Technologist).
3. Variation Selectors (VS15 & VS16)
Some symbols can be displayed either as plain black-and-white text or as colorful graphic emojis. U+FE0E (VS15) requests text presentation, while U+FE0F (VS16) forces full color emoji presentation (e.g. ✈️).
4. Fitzpatrick Skin-Tone Modifiers
Unicode defines 5 modifier characters based on the dermatologist Thomas B. Fitzpatrick scale: Light (U+1F3FB), Medium-Light (U+1F3FC), Medium (U+1F3FD), Medium-Dark (U+1F3FE), and Dark (U+1F3FF).
