How to use it
- Type a word in the search box (“heart”, “party”, “cat”, “Japan”) or open a category tab and scroll.
- Choose a skin tone if you want one; emoji that support tones show a small dot in the corner.
- Click the emoji. It is copied immediately and appears under “Selected emoji” with its name, U+ code points, HTML entity and JavaScript escape.
- Need several? “Add to tray” collects them in a text box you can edit and copy at once.
- Paste with Ctrl+V / Cmd+V anywhere: chat, documents, social posts, code. The HTML entity form works in any web page, even one saved in a non-UTF-8 encoding.
Example
Searching “wave”lists 👋 waving hand first (through its “wave” alias), then 🌊 water wave. With the medium skin tone selected, clicking the hand copies 👋🏽, which is the two code points U+1F44B U+1F3FD, the HTML entity 👋🏽 and the JavaScript string "\u{1F44B}\u{1F3FD}". Pasting 🇭🇺into the search box identifies it as “flag: Hungary”, the regional-indicator pair U+1F1ED U+1F1FA.
Where the data comes from
The list is generated from Unicode’s emoji-test.txt for Emoji 16.0 with a small script kept next to the tool. Only fully-qualifiedsequences are included, which is exactly the RGI set (“recommended for general interchange”) that emoji keyboards show. The 3,781 fully-qualified sequences collapse to 1,906 entries: the five single-tone variants of each hand, person and multi-person emoji are stored under their base emoji and selected with the skin-tone switch; mixed-tone pairs such as a light-skin and a dark-skin person holding hands are not offered. The “Component” group (bare skin-tone and hair swatches) is left out because those characters are not meant to be used on their own.
Search uses the CLDR short names from the same file, plus the Unicode subgroup words (“face-smiling”, “animal-mammal”) and a hand-written alias list of several hundred everyday words. Every word you type must match the start of a word in the name or a keyword; exact names rank first, then names that start with the query, then exact aliases, then names that merely contain the word.
The three copy formats
- Emoji – the UTF-8 characters themselves. This is what you want for messages, documents and social media.
- HTML entity – one hexadecimal numeric character reference per code point, e.g.
❤️for ❤️. Browsers render it identically; it survives editors and databases that are not UTF-8 clean. - U+ code point – the Unicode notation (
U+1F600), used in documentation, bug reports and when looking a character up in the Unicode charts. The “JS / CSS” line shows the same as an escape sequence:\u{1F600}in JavaScript,\1F600in CSS.
Sources: Unicode Emoji 16.0 – emoji-test.txt (source data), UTS #51 – Unicode Emoji (qualification, modifiers, ZWJ sequences), Unicode – Emoji Counts per version, HTML Living Standard – character references.
Why an emoji looks different after pasting
- Each platform draws its own glyphs (Apple, Google Noto, Microsoft Segoe, Samsung, Twemoji), so colours and expressions differ. The code points are identical.
- Emoji added in 2023–2024 (Emoji 15.1 and 16.0, e.g. face with bags under eyes) show as an empty box or as two separate symbols on systems that have not been updated.
- Some symbols (❤, ☀, ✈) exist in text and emoji style; the
U+FE0Fselector in the copied sequence asks for the colourful version. - Flags of England, Scotland and Wales are tag sequences and are not drawn on Windows; country flags are pairs of regional indicators.
Questions
- How do I copy an emoji on a computer without an emoji keyboard?
- Search or browse here and click the emoji – it is on the clipboard at once, so Ctrl+V (Cmd+V on a Mac) pastes it anywhere. Windows also has Win+. and macOS Ctrl+Cmd+Space for a built-in picker, but neither shows names, code points or HTML entities.
- What is the HTML code for an emoji?
- A numeric character reference built from the code points: 😀 for 😀, or ❤️ for the red heart. Set "Click copies" to HTML entity and every click copies that form. Decimal references (😀) work too, but hexadecimal matches the U+ notation.
- Why are there only 1,906 emoji when Unicode lists 3,790?
- Unicode counts every skin-tone variant separately: 👋 and its five tones are six sequences. This picker stores them once and applies the tone you choose, and it omits the 260 mixed-tone pairs (two people with different tones) and the bare modifier characters. Every emoji a normal keyboard offers is here.
- Does the tool store what I copy?
- The last 24 emoji you clicked are saved in your browser (localStorage) so they appear under "Recently used"; nothing is sent anywhere. "Clear" removes the list, and the tray text is never stored.