Emoji
All 3963 fully-qualified emoji from Emoji 18.0 (the current version as of October 2026), organised into 9 groups and 98 subgroups. Each record includes the rendered glyph, its official Unicode name, the group and subgroup used in emoji keyboards, the space-separated hex codepoints, and the Emoji version that introduced it — making this a complete reference for emoji pickers, search indexes, and input validation.
Quick fetch
Stable URL. CORS-enabled. No auth.
curl https://staticdata.dev/v1/emoji.json
Or use as a typed import:
import { emoji } from "https://staticdata.dev/v1/emoji.ts"
Formats
- JSON 775.1 KB
/v1/emoji.json
min: 612.5 KB · /v1/emoji.min.json
- CSV 342.7 KB
/v1/emoji.csv
- TypeScript 775.2 KB
/v1/emoji.ts
export const emoji
type Emoji = (typeof emoji)[number]
Schema
Each record in the dataset has the following shape.
| Field | Type | Description | Example |
|---|---|---|---|
| emoji | string | The rendered emoji glyph | 😀 |
| name | string | Official Unicode name | grinning face |
| group | string | Top-level emoji group | Smileys & Emotion |
| subgroup | string | Emoji subgroup within the group | face-smiling |
| codepoints | string | Space-separated uppercase hex codepoints | 1F600 |
| version | string | Emoji version that introduced this character | 1.0 |
Preview
First 10 records.
| emoji | name | group | subgroup | codepoints | version |
|---|---|---|---|---|---|
| 😀 | grinning face | Smileys & Emotion | face-smiling | 1F600 | 1.0 |
| 😃 | grinning face with big eyes | Smileys & Emotion | face-smiling | 1F603 | 0.6 |
| 😄 | grinning face with smiling eyes | Smileys & Emotion | face-smiling | 1F604 | 0.6 |
| 😁 | beaming face with smiling eyes | Smileys & Emotion | face-smiling | 1F601 | 0.6 |
| 😆 | grinning squinting face | Smileys & Emotion | face-smiling | 1F606 | 0.6 |
| 😅 | grinning face with sweat | Smileys & Emotion | face-smiling | 1F605 | 0.6 |
| 🤣 | rolling on the floor laughing | Smileys & Emotion | face-smiling | 1F923 | 3.0 |
| 😂 | face with tears of joy | Smileys & Emotion | face-smiling | 1F602 | 0.6 |
| 🙂 | slightly smiling face | Smileys & Emotion | face-smiling | 1F642 | 1.0 |
| 🙃 | upside-down face | Smileys & Emotion | face-smiling | 1F643 | 1.0 |
Fetch examples
Drop-in snippets in five languages.
curl -sSL https://staticdata.dev/v1/emoji.json | jq '.[0]' import type { Emoji } from "https://staticdata.dev/v1/emoji.ts";
const res = await fetch("https://staticdata.dev/v1/emoji.min.json");
if (!res.ok) throw new Error(`Fetch failed: ${res.status}`);
const emoji: Emoji[] = await res.json();
console.log(emoji[0]); import urllib.request, json
with urllib.request.urlopen("https://staticdata.dev/v1/emoji.min.json") as r:
emoji = json.load(r)
print(emoji[0]) package main
import (
"encoding/json"
"fmt"
"net/http"
)
func main() {
resp, err := http.Get("https://staticdata.dev/v1/emoji.min.json")
if err != nil { panic(err) }
defer resp.Body.Close()
var data []map[string]any
if err := json.NewDecoder(resp.Body).Decode(&data); err != nil {
panic(err)
}
fmt.Println(data[0])
} use serde_json::Value;
fn main() -> Result<(), Box<dyn std::error::Error>> {
let body = ureq::get("https://staticdata.dev/v1/emoji.min.json").call()?.into_string()?;
let data: Vec<Value> = serde_json::from_str(&body)?;
println!("{:?}", data.first());
Ok(())
} Sources and methodology
Data is sourced directly from the Unicode Consortium’s emoji-test.txt file for Emoji version 18.0 (current as of October 2026), the authoritative machine-readable listing of the full RGI (Recommended for General Interchange) emoji set. Only entries with status fully-qualified are included, which are the canonical forms that should be used in text and on keyboards.
Records are presented in CLDR order — the same display order recommended for emoji keyboards — rather than codepoint order. The codepoints field stores the raw hex values exactly as they appear in the source file, space-separated for multi-codepoint sequences such as ZWJ sequences and flag emoji (e.g., 1F3F4 200D 2620 FE0F for the pirate flag).
The version field refers to the Emoji specification version, not the Unicode version. Emoji 0.6 and 0.7 entries were first catalogued retroactively from pre-standard usage; Emoji 1.0 was the first formally versioned release. Skin-tone modifier variants and gender/hair component sequences each appear as their own fully-qualified records; the standalone Component group (skin-tone and hair-style modifiers) is not included because those entries have status component, not fully-qualified.
The source file is © Unicode, Inc. and distributed under the Unicode License v3 (SPDX Unicode-3.0); keep its copyright and permission notice when redistributing this data.
Versioning
URLs under /v1/ are stable: field names and types will not change in a way
that breaks consumers. Values can be corrected or records added when the upstream source
changes; schema-incompatible updates ship under a new version path. See the
emoji changelog for this dataset's history.
Related datasets
More Web datasets
- aria-attributes
- aria-roles
- character-encodings
- csp-directives
- credit-card-types
- dns-record-types
- dom-events
- emoji-shortcodes
- html-elements
- html-attributes
- input-types
- http-auth-schemes
- http-cache-directives
- http-content-codings
- http-headers
- http-methods
- http-status-codes
- http-versions
- iframe-sandbox-tokens
- ip-protocol-numbers
- keyboard-event-codes
- link-relations
- media-type-suffixes
- mime-types
- oauth-grant-types
- ports
- referrer-policies
- ip-special-blocks
- svg-elements
- tcp-flags
- tlds
- tls-cipher-suites
- tls-versions
- uri-schemes
- well-known-uris