What Is a UnicodeUnicode
Universal character encoding standard that assigns a unique number to every character across all writing systems and symbol sets, including emoji. Code PointCode Point
A unique numerical value assigned to each character in the Unicode standard, written in the format U+XXXX (e.g., U+1F600 for 😀).?
Every emojiEmoji
A Japanese word (絵文字) meaning 'picture character' — small graphical symbols used in digital communication to express ideas, emotions, and objects. is a character in the Unicode standardUnicode Standard
The complete character encoding system maintained by the Unicode Consortium, defining characters, properties, algorithms, and encoding forms., 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 + 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.
- Go to emojifyi.com and search for the emoji by name (e.g., "fire", "heart", "thumbs up")
- Click the emoji to open its detail page
- The code point(s) are listed in the Unicode section — for example:
U+1F525 - 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
- Open DevTools (
F12orCtrl + Shift + I/Command + Option + I) - Go to the Console tab
- 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 JOINERZero Width Joiner (ZWJ)
An invisible Unicode character (U+200D) used to join multiple emoji into a single composite emoji, such as combining people and objects into profession emoji.
# 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 ConsortiumUnicode Consortium
The non-profit organization that develops and maintains the Unicode Standard, including the process for adding new emoji. maintains the authoritative source for all emoji data.
emoji-test.txtemoji-test.txt
The official Unicode file listing all emoji sequences with their qualification status, code points, and CLDR short names.
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.
Unicode Character Search
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:
- Press
Control + Command + Spaceto open the Character Viewer - Click the emoji you want
- Click the info icon (ⓘ) at the top right of the viewer
- 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:
- Press
Windows + R, typecharmap, press Enter - Set the font to Segoe UI Emoji
- Find your emoji
- 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
A variable-width Unicode encoding that uses 1 to 4 bytes per character, dominant on the web (used by 98%+ of websites).: 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 selectorVariation Selector (VS)
Unicode characters (VS-15 U+FE0E and VS-16 U+FE0F) that modify whether a character renders in text (monochrome) or emoji (colorful) presentation. 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 emojiColor Emoji
Full-color emoji rendered using bitmap images or color vector graphics, as opposed to monochrome text-style rendering..
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