← All news·2026-08-22·4 min read

Emoji Mart – Free Emoji Picker for Web Apps

Emoji Mart is an off-the-shelf configurable emoji picker which can be integrated into any web application. You can either include it via a script tag or use your Agent to integrate it into your React app.

uiemojivibewebappgithub

I always struggled adding emoji reactions to chats and comments. Either write your own picker (hundreds of emojis, categories, skin tones, search…) or pay someone. When I discovered Emoji Mart I never looked back. It’s become my standard solution.

Source

missive/emoji-mart

★ 9,400TypeScript

Open on GitHub →

Developed by the folks over at Missive, who make a team email and chat platform, they needed one themselves. It can be used anywhere, including plain HTML using a CDN URL, React, Vue, or any other framework. There are 9 categories of emojis, a search box, light/dark mode, skin tone selection, and even custom emoji support. All the features that were lacking from the dubious free solutions I used prior to discovering this gem.

How to add an emoji picker to your website

If you don’t want to install anything, you can use the browser version which doesn’t require any build tooling, npm, or anything else. Simply include two <script> tags and you’re good to go:

Add to any HTML page (no build tools needed)
<script src="https://cdn.jsdelivr.net/npm/emoji-mart@latest/dist/browser.js"></script>
<script>
  const picker = new EmojiMart.Picker({
    onEmojiSelect: (emoji) => {
      document.querySelector('#myInput').value += emoji.native
    }
  })
  document.body.appendChild(picker)
</script>

If you’re using React, you need three packages and then you can just use it like any other component. Agent makes this super easy and does everything automatically behind the scenes:

Install for React
npm install --save emoji-mart @emoji-mart/data @emoji-mart/react
Use in a React component
import data from '@emoji-mart/data'
import Picker from '@emoji-mart/react'

function App() {
  return <Picker data={data} onEmojiSelect={console.log} />
}
ℹWhat to tell your agent

Add an emoji picker to my project using Emoji Mart from github.com/missive/emoji-mart. When the user clicks the emoji button, show the picker; when they select an emoji, insert it into the text input field.

✓What you get

A polished, free emoji picker with search, dark mode, skin tones, and custom emoji support — working in your app in under ten minutes, whether your project is plain HTML or React.

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