📖 How-To Guides

How to Find the Unicode Code Point for Any Emoji

What Is a Unicode Code Point?

Every emoji is a character in the Unicode standard, and every Unicode character has a unique identifier called a code point — a number written in hexadecimal with the prefix U+. For example:

  • 🔥 is U+1F525 (FIRE)
  • ❤️ is U+2764 U+FE0F (HEAVY BLACK HEART + VARIATION SELECTOR-16)
  • 👩‍💻 is U+1F469 U+200D U+1F4BB (WOMAN + ZWJرابط عرضه صفر (ZWJ)
    حرف Unicode غير مرئي (U+200D) يُستخدم لربط عدة رموز تعبيرية في رمز مركّب واحد، كدمج الأشخاص والأشياء في رموز المهن.
    + LAPTOP)

Knowing an emoji's code point lets you use it in HTML entities (🔥), in programming languages (\u{1F525} in JavaScript, "\U0001F525" in Python), and helps you understand how multi-component emoji are structured.

This guide shows every method for finding the code point of any emoji.

Method 1: EmojiFYI (Fastest)

EmojiFYI displays every emoji's Unicode code point directly on its detail page.

  1. Go to emojifyi.com and search for the emoji by name (e.g., "fire", "heart", "thumbs up")
  2. Click the emoji to open its detail page
  3. The code point(s) are listed in the Unicode section — for example: U+1F525
  4. For complex sequences, all component code points are listed in order

You can also use EmojiFYI's Sequence Analyzer to paste any emoji and instantly see a breakdown of every code point in the sequence, including ZWJ characters, variation selectors, and skin tone modifiers.

Method 2: Browser Developer Tools

Any modern browser's developer console can extract code points from an emoji you paste in.

In Chrome, Firefox, Edge, or Safari

  1. Open DevTools (F12 or Ctrl + Shift + I / Command + Option + I)
  2. Go to the Console tab
  3. Paste this JavaScript and replace the emoji:
// Get all code points for an emoji
function getCodePoints(emoji) {
  return [...emoji].map(char =>
    "U+" + char.codePointAt(0).toString(16).toUpperCase().padStart(4, "0")
  ).join(" ")
}

getCodePoints("🔥")   // "U+1F525"
getCodePoints("❤️")   // "U+2764 U+FE0F"
getCodePoints("👩‍💻")  // "U+1F469 U+200D U+1F4BB"
getCodePoints("👍🏽")  // "U+1F44D U+1F3FD"

This handles the spread-based iteration which correctly separates surrogate pairs into their actual code points.

Using codePointAt Directly

const emoji = "🔥"
console.log(emoji.codePointAt(0).toString(16).toUpperCase())  // "1F525"
console.log("U+" + emoji.codePointAt(0).toString(16).toUpperCase())  // "U+1F525"

Method 3: Python

Python makes emoji code point inspection straightforward:

def get_code_points(emoji: str) -> list[str]:
    return [f"U+{ord(char):04X}" for char in emoji]

# Examples
print(get_code_points("🔥"))    # ['U+1F525']
print(get_code_points("❤️"))    # ['U+2764', 'U+FE0F']
print(get_code_points("👩‍💻"))  # ['U+1F469', 'U+200D', 'U+1F4BB']
print(get_code_points("👍🏽"))   # ['U+1F44D', 'U+1F3FD']

Getting the Official Unicode Name

Python's unicodedata module can retrieve the official Unicode character name:

import unicodedata

def emoji_info(emoji: str) -> None:
    for char in emoji:
        code_point = f"U+{ord(char):04X}"
        try:
            name = unicodedata.name(char)
        except ValueError:
            name = "(no name — control/invisible character)"
        print(f"{code_point}: {name}")

emoji_info("🔥")
# U+1F525: FIRE

emoji_info("👩‍💻")
# U+1F469: WOMAN
# U+200D: ZERO WIDTH JOINER
# U+1F4BB: PERSONAL COMPUTER

emoji_info("👍🏽")
# U+1F44D: THUMBS UP SIGN
# U+1F3FD: EMOJI MODIFIER FITZPATRICK TYPE-4

Method 4: The Unicode Character Database

The Unicode Consortium maintains the authoritative source for all emoji data.

emoji-test.txtemoji-test.txt
الملف الرسمي لـ Unicode الذي يسرد جميع تسلسلات الرموز التعبيرية مع حالة تأهلها ونقاط الرمز وأسمائها المختصرة في CLDR.

The file emoji-test.txt lists all standard emoji with their code points:

https://unicode.org/Public/emoji/latest/emoji-test.txt

Open this file and search for your emoji's name. Each line looks like:

1F525         ; fully-qualified     # 🔥 E1.0 fire
1F469 200D 1F4BB ; fully-qualified  # 👩‍💻 E4.0 woman technologist
1F44D 1F3FD   ; fully-qualified     # 👍🏽 E1.0 thumbs up: medium skin tone

The code points are listed in the first column, separated by spaces for multi-codepoint sequences.

The Unicode Consortium also provides a web-based character search at:

https://www.unicode.org/cgi-bin/GetUnihanData.pl

And the broader character database at:

https://unicode.org/charts/

Method 5: macOS Character Viewer

On macOS, the built-in Character Viewer shows code points directly:

  1. Press Control + Command + Space to open the Character Viewer
  2. Click the emoji you want
  3. Click the info icon (ⓘ) at the top right of the viewer
  4. Expand the detail view — it shows the Unicode name and code point

For multi-codepoint sequences like ZWJ families, the Character Viewer may only show the base character's code point. Use the Sequence Analyzer or Python for complete multi-codepoint sequences.

Method 6: Windows Character Map

On Windows, the Character Map app (charmap.exe) shows code points:

  1. Press Windows + R, type charmap, press Enter
  2. Set the font to Segoe UI Emoji
  3. Find your emoji
  4. The status bar at the bottom shows the Unicode code point when you click an emoji

For the Windows emoji picker (Windows + .), hovering over an emoji shows its name, but not the code point — use the browser console method for that.

Method 7: Linux unicode Command

On Linux, the unicode command-line tool looks up code points by character or name:

# Install on Debian/Ubuntu
sudo apt install unicode

# Look up by pasting the emoji character
unicode 🔥

# Output:
# U+1F525 FIRE
# UTF-8UTF-8
ترميز Unicode متغير العرض يستخدم من 1 إلى 4 بايت لكل حرف، وهو الترميز السائد على الويب (تستخدمه 98%+ من المواقع).
: f0 9f 94 a5 UTF-16BE: d83d dd25 Decimal: 🔥 # 🔥

Understanding What the Code Points Mean

Single Code Point Emojis

Most basic emojis are a single code point:

🔥 = U+1F525
😀 = U+1F600
🐍 = U+1F40D

Variation Selectors

Many emojis that look like symbols have two code points — the base character and a variation selector that forces emoji (color) rendering:

❤️ = U+2764 (HEAVY BLACK HEART) + U+FE0F (VARIATION SELECTOR-16)
☎️ = U+260E (BLACK TELEPHONE)   + U+FE0F
✈️ = U+2708 (AIRPLANE)          + U+FE0F

Without U+FE0F, these characters may render as monochrome text symbols. The variation selector ensures they display as color emoji.

Skin Tone Modifiers

Skin tone modifiers (Fitzpatrick scale) are appended to a base emoji:

👍     = U+1F44D (base thumbs up)
👍🏻   = U+1F44D + U+1F3FB (light skin tone)
👍🏼   = U+1F44D + U+1F3FC (medium-light skin tone)
👍🏽   = U+1F44D + U+1F3FD (medium skin tone)
👍🏾   = U+1F44D + U+1F3FE (medium-dark skin tone)
👍🏿   = U+1F44D + U+1F3FF (dark skin tone)

ZWJ Sequences

Zero Width Joiner (U+200D) joins multiple emojis into a single composed glyph:

👩‍💻 = U+1F469 (WOMAN) + U+200D (ZWJ) + U+1F4BB (LAPTOP)
❤️‍🔥 = U+2764 + U+FE0F + U+200D (ZWJ) + U+1F525 (FIRE)
🏳️‍🌈 = U+1F3F3 + U+FE0F + U+200D (ZWJ) + U+1F308 (RAINBOW)

Quick Reference: Methods by Use Case

Goal Best Method
Quick lookup in browser EmojiFYI Sequence Analyzer
Code point for HTML use EmojiFYI emoji detail page
Programmatic extraction (JavaScript) codePointAt(0).toString(16)
Programmatic extraction (Python) f"U+{ord(char):04X}"
Full sequence with names Python unicodedata.name()
Authoritative reference unicode.org/Public/emoji/latest/emoji-test.txt
macOS desktop Character Viewer (Ctrl+Cmd+Space)
Linux command line unicode CLI tool

Explore More on EmojiFYI

  • Use the Sequence Analyzer to paste any emoji and see all its code points instantly
  • Browse emojis by category and copy their characters with the Emoji Keyboard
  • Learn about variation selectors, ZWJ, and skin tone modifiers in the Glossary
  • Search for any emoji by name or code point at EmojiFYI Search

الأدوات ذات الصلة

⌨️ لوحة مفاتيح الرموز التعبيرية لوحة مفاتيح الرموز التعبيرية
تصفح وانسخ أياً من 3,953 رمزاً تعبيرياً منظمة حسب الفئة. يعمل في أي متصفح دون الحاجة إلى تثبيت.
🔍 محلل التسلسل محلل التسلسل
فكّ تشفير تسلسلات ZWJ ومعدّلات لون البشرة وتسلسلات المفاتيح وأزواج الأعلام إلى مكوناتها الفردية.

مصطلحات المسرد

emoji-test.txt emoji-test.txt
الملف الرسمي لـ Unicode الذي يسرد جميع تسلسلات الرموز التعبيرية مع حالة تأهلها ونقاط الرمز وأسمائها المختصرة في CLDR.
UTF-8 UTF-8
ترميز Unicode متغير العرض يستخدم من 1 إلى 4 بايت لكل حرف، وهو الترميز السائد على الويب (تستخدمه 98%+ من المواقع).
إيموجي إيموجي
كلمة يابانية (絵文字) تعني 'حرف صوري' — رموز رسومية صغيرة تُستخدم في التواصل الرقمي للتعبير عن الأفكار والمشاعر والأشياء.
اتحاد Unicode اتحاد Unicode
المنظمة غير الربحية التي تطوّر معيار Unicode وتُدير عملية إضافة الرموز التعبيرية الجديدة وصيانتها.
الرمز التعبيري الملوّن الرمز التعبيري الملوّن
رموز تعبيرية كاملة الألوان تُعرض باستخدام صور نقطية أو رسومات متجهة ملوّنة، على النقيض من العرض النصي أحادي اللون.
رابط عرضه صفر (ZWJ) رابط عرضه صفر (ZWJ)
حرف Unicode غير مرئي (U+200D) يُستخدم لربط عدة رموز تعبيرية في رمز مركّب واحد، كدمج الأشخاص والأشياء في رموز المهن.
محدد الاختلاف (VS) محدد الاختلاف (VS)
حروف Unicode (VS-15 بالرمز U+FE0E وVS-16 بالرمز U+FE0F) تتحكم في طريقة عرض الحرف، إما كنص أحادي اللون أو كرمز تعبيري ملوّن.
معيار Unicode معيار Unicode
نظام ترميز الأحرف الشامل الذي يُديره اتحاد Unicode، يحدد الأحرف والخصائص والخوارزميات وأشكال الترميز.
نقطة الرمز نقطة الرمز
قيمة رقمية فريدة مُعيَّنة لكل حرف في معيار Unicode، تُكتب بالصيغة U+XXXX (مثل U+1F600 للرمز 😀).
يونيكود يونيكود
معيار عالمي لتشفير الأحرف يُعيّن رقمًا فريدًا لكل حرف عبر جميع أنظمة الكتابة ومجموعات الرموز، بما في ذلك الرموز التعبيرية.

المقالات ذات الصلة