Skip to main content


PicMo is a plain JavaScript emoji picker widget. It can be used in two ways:

  • As a standalone emoji picker inline in the page. The picker is rendered immediately on the page.
  • As a popup emoji picker. The popup is triggered by a button or other interactive element.

PicMo's emoji data comes from the Emojibase project. The data is cached locally in an IndexedDB database.


  • Just JavaScript. No framework dependency, so it can be easily integrated into any JavaScript app.
  • Emoji styles. You can use the native emojis rendered by the browser, or the cross-platform Twemoji library.
  • Fully searchable. The emoji data can be searched by name, tags, or both.
  • Skin tone variations. For emojis that support it, skin tone or other modifiers can be changed.
  • Remembers recently used emojis. When you pick an emoji, it will be added to the list of recently used emojis for quick access.
  • Dark and light themes. Choose a dark or light theme, or automatically switch depending on the browser settings.
  • Custom emojis and GIFs. You can add custom emojis and GIFs to the picker, which will appear in a separate "Custom" category.
  • Keyboard navigation support. Use the arrow keys to navigate the picker, and the spacebar to pick an emoji.
  • Customizable layout. The default emoji grid and emoji size can be customized.