Emoji Picker
Browse, search, and copy 800+ emojis with one click
No emojis found. Try a different search or category.
Emoji Picker is a searchable grid of 865 curated emojis plus a one-click copy action. Type a keyword, pick a category, or scan the full set, then click any glyph to place it on the clipboard. A Recently Copied row keeps your most-used characters within reach, and the entire dataset ships with the page, so browsing and searching do not contact a server.
How Search and Categories Interact
Every emoji carries a lowercase keyword string such as “grinning face happy smile” or “flag japan”. When you type, the query is lowercased and split on whitespace, and an emoji qualifies only if all of its tokens appear as substrings of that keyword string. This makes search an AND filter rather than a fuzzy rank: adding a word narrows the result set instead of widening it. The query is debounced by 200 milliseconds, so the grid updates shortly after you pause. A result counter appears above the grid, and the “no results” message shows when nothing matches.
Category tabs include All plus the nine groups. Selecting a tab clears the search box and renders that category; starting to type again overrides the tab and searches everything. The practical consequence is that you rarely need to know which category an emoji lives in — searching scans the whole collection at once.
Copying, Favorites, and Recent History
Clicking an emoji button copies the complete character sequence, including multi-codepoint emoji such as the rainbow flag. The primary path is the Clipboard API. When that is blocked, the code falls back to a hidden text area and the older copy command, which keeps the tool usable on plain HTTP pages. Each successful click also updates the Recently Copied row: the emoji moves to the front, duplicates are removed, and the list is trimmed to 24 entries. That list is persisted in localStorage, so it survives a page reload but not clearing site data. The Clear button empties it and writes the empty list back.
Worked Example: Three Searches
The keyword matching is easy to predict once you see a few counts:
| Query | Matches | Examples |
|---|---|---|
heart | 26 | heart-eyes face, red and colored hearts, broken heart |
flag japan | 1 | Japan flag only |
party | 5 | partying face, party popper, confetti ball |
money | 6 | money-mouth face, money bag, dollar banknote |
dog | 3 | dog face, dog, paw prints entry |
Searching heart is broad because many names include the word; flag japan is exact because few keywords contain both tokens. If a result set feels too large, add a second word rather than reaching for a category.
What the Dataset Does and Does Not Cover
The collection spans 865 entries: 102 smileys, 99 people, 121 animals, 98 food, 75 activities, 90 travel, 108 objects, 121 symbols, and 51 flags. It is a curated working set, not the full Unicode catalog of several thousand emoji. It does not include skin-tone modifier variants, most family and profession ZWJ combinations, or most regional flags beyond the listed 51. Keyword names are English only, so a search must use English words even though the copied character is language-neutral. Rendering is handled by the operating system, which means the same emoji can look slightly different on iOS, Android, Windows, and macOS while the underlying code points stay identical.
Practical Uses at Work
The picker is most useful where a system picker is awkward or inconsistent: adding reactions in Slack, Discord, or Teams; writing gitmoji-style commit subjects and changelog bullets; marking sections of Notion pages and READMEs; flagging ticket status; and dropping placeholder icons into wireframes. In each case the win is speed: the Recently Copied row turns a recurring status marker into a single click instead of a keyboard shortcut hunt.
The picker also helps when a platform mangles emoji sent through an API or a legacy form: copying the exact character sequence from a known-good source beats guessing at code points. Keep a short recent list for whichever workspace you use most, and moving between chat, code, and documentation stops costing you a detour through the operating system picker.
Tips for Faster Pasting
Search by the idea, not the official Unicode name. “mad” finds the angry faces, “cash” finds the money emoji, and “rocket” finds the launch glyph even though the formal name is different. Multi-word searches are the fastest way to disambiguate flags and country references. When you use the same handful of emoji daily, click them once to seed the recent row and let that become your personal toolbar. Finally, remember that the recent list is local to one browser profile; on a different device you start fresh.
An empty grid almost always means the query was too specific or used a word the curated keywords do not contain. Because matching is substring-based, a synonym the dataset never recorded will miss even when a plausible emoji exists. Try the concrete object rather than the abstract concept, or fall back to browsing the likely category. Very short queries such as a single letter match almost everything and can look sluggish, while a misspelling matches nothing. If a term you expect is absent, broaden to one distinctive word: pairing flag with a country name is far more reliable than typing a sentence description. The result counter is the quickest way to tell a narrow match from a total miss.
Related Tools
Frequently Asked Questions
How many emojis does the picker include, and how are they organized?
The dataset holds 865 curated emojis in nine categories: smileys (102), people (99), animals (121), food (98), activities (75), travel (90), objects (108), symbols (121), and flags (51). An All tab shows the full set. The collection is a hand-picked common subset, not the complete Unicode emoji standard.
How does a multi-word search decide what to show?
The query is lowercased and split on spaces, and an emoji is returned only when every token appears somewhere in its keyword string. Searching "flag japan" therefore returns exactly one result, while searching "japan" alone returns several entries whose names mention Japan.
Does the search respect the category I have selected?
No. As soon as a search query has at least one character, the tool searches the entire 865-entry dataset and ignores the active category tab. Clearing the search box restores the category view you had selected.
How many emojis does the Recently Copied row keep?
Up to 24. Each copy moves the emoji to the front of the list and removes any earlier duplicate of the same character, so the row holds distinct favorites in most-recent-first order. It is stored under the localStorage key emoji-picker-recent and can be cleared with one button.
What happens if the clipboard copy fails?
The tool first tries the browser Clipboard API. If that is unavailable or blocked — for example on an insecure page — it falls back to creating a hidden text area, selecting it, and running the legacy copy command. If both paths fail, nothing is placed on the clipboard, but the emoji still moves to the recent list.
Can I tell the picker to omit certain emoji or add my own?
No. The dataset is fixed and ships with the page; there is no upload, import, or hiding feature. The only personalization is the Recently Copied row, which records what you have clicked and lives only in your browser.
Reviewed by the HandyTools Hub team · Last updated