← All news·2026-08-08·3 min read

Emoji Mart: Free Emoji Picker for Web Apps

Emoji Mart is a free emoji picker for web apps. One script tag gives you search, categories, skin tones, and dark mode — like Slack's emoji picker. No account needed.

emojivibeuichatgithub

When I was putting together a small chat section for one of my side projects, i realised the input field looked really bare. Like something was clearly missing even though it technically worked fine. You know that feeling — Telegram has a smiley button, Slack has one, Discord has one. Without it the whole thing just looks unfinished, no matter how good the rest of the app is.

Emoji Mart solves exactly this. It's a free, customizable emoji picker that works in any web app — React, Vue, plain HTML, whatever your agent set up. The live demo is at missiveapp.com/open/emoji-mart and it look exactly like the picker you'd see in a professional chat product. Search works, categories work, dark mode switches automatically, skin tone selector is there too. Over 9000 GitHub stars and used by teams building real products.

Source

missive/emoji-mart

9,394TypeScript

Open on GitHub →

The picker works in two modes depending on how your project is built. If your agent created a React app, there's a dedicated React package that drops in as a single component. If it's a simpler HTML setup — or if you just want to test it quickly — there's a browser version that loads via a CDN link, no npm or installation required at all. Supports 22+ languages including Russian out of the box.

How your agent adds Emoji Mart

React: install the packages
npm install --save emoji-mart @emoji-mart/data @emoji-mart/react
Plain HTML / no npm: add via script tag
<script src="https://cdn.jsdelivr.net/npm/emoji-mart@latest/dist/browser.js"></script>
<script>
  const picker = new EmojiMart.Picker({ onEmojiSelect: console.log })
  document.body.appendChild(picker)
</script>

What to tell your agent

Agent prompt: React chat app
Add an emoji picker to the chat input using emoji-mart (@emoji-mart/react). When the user clicks the emoji icon next to the input field, show the picker. When they select an emoji, insert it into the input field at the cursor position.
Agent prompt: plain HTML or simple app
Add an emoji picker to the message input. Load emoji-mart from https://cdn.jsdelivr.net/npm/emoji-mart@latest/dist/browser.js. When the user clicks the smiley button, show the picker. Insert the selected emoji into the text field.
What you get

A polished emoji picker that looks and feels like Slack or Telegram's — search, categories, dark mode, skin tones. Your agent wires it to any input field in minutes. No API key, no account, free forever.

Source: github.com

Free course

Stop reading about AI — start building with it

The free Claude Code course: your first site, tool or game — no coding. No upsells, no cross-sells — nothing to buy here.

Start free →
EAEvgenii Arsentev

Author

Evgenii Arsentev

PhD · Chief Executive Officer, digital health