PicMo

JavaScript emoji picker. Any app, any framework.
GitHub
1.19k
Created 5 years ago, last commit a year ago
15 contributors
898 commits
Stars added on GitHub, month by month
0
0
12
1
2
3
4
5
6
7
8
9
10
11
2023
2024
Stars added on GitHub, per day, on average
Yesterday
=
Last week
0.0
/day
Last month
0.0
/day
Last 12 months
0.0
/day
npmPackage on NPM
Monthly downloads on NPM
12
1
2
3
4
5
6
7
8
9
10
11
2023
2024
README

PicMo

Add a fully featured emoji picker to your app with a few lines of code!

Formerly known as Emoji Button.

PicMo screenshot

Features at a glance

  • It's just JavaScript, no frameworks or libraries required. This means you can use it in any app under any framework.
  • Emoji data is loaded once from a CDN and cached in the browser for subsequent sessions.
  • Use the default operating system emoji images or use an alternative renderer to use, for example, images from Twemoji.
  • Emojis are searchable by name or tags
  • Full support for skin tone variations where applicable
  • Remembers recently used emojis
  • Fully keyboard accessible
  • Includes light and dark themes, with the ability to extend them to create your own
  • Add custom images and GIFs!
  • Render inline on the page or as a popup

Demos and documentation

Demos and full documentation, including the API and usage guide, is available at https://picmojs.com.

Installation

At a minimum, you need the core picker package. This gives you a picker that you can insert inline into an element on the page.

npm install picmo

Basic usage

import { createPicker } from 'picmo';

// The picker must have a root element to insert itself into
const rootElement = document.querySelector('#pickerContainer');

// Create the picker
const picker = createPicker({ rootElement });

// The picker emits an event when an emoji is selected. Do with it as you will!
picker.addEventListener('emoji:select', event => {
  console.log('Emoji selected:', event.emoji);
});

Packages

PicMo is made up of three packages:

Contributors

Thank you so much to everyone who has contributed code to PicMo!