β¨
Loading Emojiepedia
Preparing thousands of emojis...
Preparing thousands of emojis...
Add a beautiful emoji picker to any website with just two lines of code. Free, zero-dependency, works everywhere.
No React, no npm, just a JS + CSS file
Follows system theme or set manually
8 categories, search, keyboard nav
Loading widget...
<!-- Emojiepedia Picker Widget -->
<link rel="stylesheet" href="https://emojiepedia.com/embed/emoji-picker.css">
<script src="https://emojiepedia.com/embed/emoji-picker.js"></script>
<script>
EmojiPicker.create('#my-input', {
theme: 'auto', // 'light' | 'dark' | 'auto'
onSelect: (emoji) => console.log('Selected:', emoji),
});
</script>import EmojiPicker from 'emojiepedia/embed/emoji-picker';
const picker = EmojiPicker.create('#my-input', {
theme: 'auto',
onSelect: (emoji) => {
// Handle selected emoji
console.log(emoji);
},
});
// Clean up when done
picker.destroy();| Param | Type | Description |
|---|---|---|
| target | string | Element | CSS selector or DOM element to attach to |
| options.theme | 'auto' | 'light' | 'dark' | Theme mode (default: 'auto') |
| options.onSelect | (emoji: string) => void | Called when an emoji is picked |
| options.triggerText | string | Button label (default: 'Pick Emoji') |
| options.position | 'top' | 'bottom' | Popup direction (default: 'top') |
| Method | Description |
|---|---|
| .open() | Programmatically open the picker |
| .close() | Close the picker |
| .toggle() | Toggle open/close |
| .destroy() | Remove the picker from the DOM |
Files: /embed/emoji-picker.js (21 KB) + /embed/emoji-picker.css (3 KB)
Free for personal and commercial use β’ No attribution required