Emoji Picker
Search and copy 1,800+ emoji. Browse by category, choose skin tone, and build emoji combos. Click any emoji to copy.
How to Use the Emoji Picker
- Search mode — type any word in the search box to instantly filter emoji by name or keyword. Try "heart", "food", "happy", or "flag".
- By Category — browse all emoji organized into categories: Smileys, People, Animals, Food, Travel, Objects, Symbols, and Flags.
- Skin tone — select a skin tone modifier to apply it to all people and hand emoji that support skin tone variants.
- Recent — see the last 20 emoji you copied for quick reuse.
- Combos — popular multi-emoji combinations for common situations.
- Click any emoji to copy it to your clipboard. The emoji appears in the recently copied bar at the top.
About Emoji
Emoji (from Japanese 絵文字, "picture character") are standardized pictographs defined by the Unicode Consortium as part of the Unicode standard. The current Unicode 15.1 standard includes over 3,600 emoji characters, with new emoji added each year after proposals from the public are reviewed by the Unicode Emoji Subcommittee. This picker includes the most widely supported emoji — those with good cross-platform rendering on iOS, Android, Windows, and macOS.
Emoji Categories
Unicode organizes emoji into categories: Smileys and People (faces, gestures, people, body parts), Animals and Nature (animals, plants, weather), Food and Drink (fruits, vegetables, meals, beverages), Travel and Places (vehicles, buildings, maps, geography), Activities (sports, games, arts, hobbies), Objects (household items, tools, technology), Symbols (arrows, geometric shapes, flags, signs), and Flags (national and regional flags). This picker reflects the same organizational structure, with flags separated by national flags and regional subdivision flags.
Skin Tone Modifiers
Unicode defines five skin tone modifiers (U+1F3FB through U+1F3FF) based on the Fitzpatrick skin type scale used in dermatology. When a skin tone modifier follows a supported base emoji (a person or hand gesture), the two combine to form a single emoji with the selected skin tone. Not all emoji support skin tone modification — only human faces, hands, and certain people emoji have skin tone variants. Objects, animals, and symbols are not affected by skin tone selection.
ZWJ Sequences and Complex Emoji
Many modern emoji are created by combining simpler emoji using Zero-Width Joiner (ZWJ, U+200D) characters. Family emoji like 👨👩👧👦 combine individual person emoji with ZWJ. Profession emoji combine a person with a tool: 👨💻 is the man emoji + ZWJ + laptop. Flag emoji use Regional Indicator Symbols (U+1F1E6–U+1F1FF), where pairs of letters spell out ISO country codes. These compound emoji are represented as sequences in Unicode, which is why they may appear as multiple separate emoji on platforms that do not support the full sequence.
Emoji in Code and APIs
When working with emoji in code, remember that most emoji are outside the Basic Multilingual Plane (BMP) and are represented as UTF-16 surrogate pairs in JavaScript. The string "🎉" has a .length of 2 in JavaScript, not 1. Use the Spread operator or Array.from() to iterate emoji correctly, or use Intl.Segmenter for grapheme-level iteration. In databases, use UTF-8mb4 in MySQL (not UTF-8, which only supports 3-byte sequences) or standard UTF-8 in PostgreSQL, which supports 4-byte sequences natively. For API text length limits (Twitter, Discord, etc.), grapheme count is what matters for display, but byte count affects storage.