Emoji Unicode Reference: Shortcodes, Modifiers, and Sequences

May 28, 20267 min read

Emoji may look like simple pictures, but under the hood they are Unicode characters with specific code points, modifiers, and combining rules. This reference covers the technical foundations that power every emoji you send.

Unicode Code Point Ranges

Emoji span multiple Unicode blocks. The core ranges include:

BlockRangeExample Characters
Miscellaneous SymbolsU+2600–U+26FF☀️ ☂️ ⚡ ✂️
DingbatsU+2700–U+27BF✅ ✨ ✏️ ❓
Miscellaneous Symbols and PictographsU+1F300–U+1F5FF🌈 🍂 🔥 🎃
EmoticonsU+1F600–U+1F64F😀 😎 🤣 😴
Transport and Map SymbolsU+1F680–U+1F6FF🚀 🚗 🚂 🛳️
Supplemental Symbols and PictographsU+1F900–U+1F9FF🤖 🥶 🦄 🧩
Symbols and Pictographs Extended-AU+1FA00–U+1FA6F🪐 🪞 🪟 🫠
Symbols and Pictographs Extended-BU+1FA70–U+1FAFF🪆 🪸 🪿 🛼

A single emoji can consist of one code point (e.g., U+1F600 for 😀) or multiple code points combined through sequences.

Skin Tone Modifiers

Unicode 8.0 (2015) introduced five skin tone modifiers based on the Fitzpatrick scale, a dermatological classification of human skin color.

ModifierCode PointFitzpatrick TypeExample
🏻 LightU+1F3FBType I–II👋🏻
🏼 Medium-LightU+1F3FCType III👋🏼
🏽 MediumU+1F3FDType IV👋🏽
🏾 Medium-DarkU+1F3FEType V👋🏾
🏿 DarkU+1F3FFType VI👋🏿

To apply a modifier, you append the modifier code point directly after the base emoji. For example, U+1F44B U+1F3FD produces 👋🏽. Not all emoji support skin tones — only those representing people or body parts qualify.

If no modifier is specified, platforms render a generic (often yellow) default. Users select skin tones through their keyboard or emoji picker interface.

ZWJ Sequences

The Zero Width Joiner (ZWJ, U+200D) lets you combine multiple emoji into a single glyph. This mechanism creates family emoji, profession emoji, and other multi-person combinations without assigning each one a dedicated code point.

Family Sequences

SequenceComponentsResult
👨‍👩‍👧👨 + ZWJ + 👩 + ZWJ + 👧Family: man, woman, girl
👨‍👨‍👦👨 + ZWJ + 👨 + ZWJ + 👦Family: man, man, boy
👩‍👧‍👦👩 + ZWJ + 👧 + ZWJ + 👦Family: woman, girl, boy

Profession Sequences

SequenceComponentsResult
👩‍💻👩 + ZWJ + 💻Woman technologist
👨‍🍳👨 + ZWJ + 🍳Man cook
👮‍♀️👮 + ZWJ + ♀️Woman police officer

You can stack modifiers onto individual components within a ZWJ sequence. For example, 👩🏻‍💻 uses a light skin tone on the woman base before joining it with the laptop.

If a platform does not support a particular ZWJ sequence, it falls back to displaying the individual emoji side by side instead of merging them into one glyph.

Variant Selectors

Some Unicode characters have existed for decades as text symbols, long before emoji existed. The variant selector tells the rendering engine whether to show the text form or the emoji form.

SelectorCode PointEffect
VS-15 (text)U+FE0EForces text/presentation
VS-16 (emoji)U+FE0FForces emoji/presentation

Common examples:

  • U+2764 U+FE0F → ❤️ (color emoji heart)
  • U+2764 U+FE0E → ❤︎ (text heart outline)
  • U+2600 U+FE0F → ☀️ (color sun)
  • U+2600 U+FE0E → ☀︎ (text sun)

Always include U+FE0F when you intentionally want the emoji version. Omitting it can cause unpredictable rendering — some platforms default to emoji, others to text.

Shortcode Systems

Shortcodes provide a text-based way to reference emoji in platforms that do not natively support Unicode input. Each ecosystem defines its own mapping.

PlatformFormatExample
GitHub:code::smile: → 😄
Slack:code::thumbsup: → 👍
Discord:code::wave: → 👋
HTML entity&#xhex;😀 → 😀

Shortcodes are not standardized:thumbsup: works on Slack and GitHub, but the exact code may differ on Discord or other platforms. When building cross-platform systems, always map shortcodes back to Unicode code points rather than relying on platform-specific names.

Key Takeaways

  • Emoji occupy multiple Unicode blocks from U+2600 through U+1FAFF
  • Skin tone modifiers (U+1F3FB–U+1F3FF) append to base emoji to change appearance
  • ZWJ sequences combine multiple emoji into single glyphs for families and professions
  • Variant selectors U+FE0E and U+FE0F control text vs. emoji presentation
  • Shortcodes are platform-specific — always convert to Unicode code points for portability

Try It Yourself

Need to look up a specific code point or find the right emoji? Our emoji picker lets you browse by category, search by keyword, and copy code points instantly.

👉 Open the Emoji Picker — Free Online Tool