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.
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
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:
<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:
npm install --save emoji-mart @emoji-mart/data @emoji-mart/react
import data from '@emoji-mart/data'
import Picker from '@emoji-mart/react'
function App() {
return <Picker data={data} onEmojiSelect={console.log} />
}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.
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 →▌ Related guides

Author
Evgenii Arsentev
PhD · Chief Executive Officer, digital health
Articles · Latest articles