Emoji Chart

An emoji picker for your website

Every emoji up to Emoji 18.0, searchable in your visitors' own language, with skin tones, recents, and pictures of the emoji their device can't draw yet. One line of HTML, about 90 KB, no tracking.

Add it to a page

Paste this where the picker should appear. Picking an emoji types it into the text box that data-target names.

<textarea id="message"></textarea>
<div data-emoji-picker data-target="#message"></div>
<script type="module" src="https://emojichart.com/picker/v1/emoji-picker.js"></script>

Options

data-target
A CSS selector for the text box or text area that picked emoji are typed into, at the cursor.
data-locales
Languages to search in, such as "es fr". Defaults to the visitor's browser languages; English is always included.
data-theme
light, dark or auto (follows the visitor's system). Defaults to auto.
data-src
Where the emoji data is loaded from. Defaults to https://emojichart.com/api/v1/; set it if you host a copy.
data-license
Your Pro license key, which removes the "Powered by Emoji Chart" link.

When someone picks an emoji

The picker sends an emoji-pick event with the emoji, its name, code points and its page on Emoji Chart. Call preventDefault() on it to handle the emoji yourself. To place a picker from code, import mount from the same script.

Pricing

Free

$0

Everything the picker does, with a small "Powered by Emoji Chart" link.

Copy the code

Apps and platforms

By quote

Keyboards, chat apps and platforms that run the picker on many sites or apps, or want the engine itself.

Email us

Questions

Does it track people?

No. It loads static files from emojichart.com and nothing else: no cookies, no analytics. Recent emoji and the chosen skin tone stay in the visitor's browser.

What happens when new emoji come out?

The picker reads Emoji Chart's data, so new emoji appear without any change on your site. Pro guarantees them within 24 hours of Unicode's release.

My site has a Content Security Policy. What does it need?

Allow https://emojichart.com in script-src, connect-src and img-src, and add 'wasm-unsafe-eval' to script-src.

How do I use my license key?

Add it to the picker as data-license="…". A key names your website and also covers its www address.