---
sidebar_position: 1
---

# Overview

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](https://emojibase.dev/) project. The data is cached locally in an IndexedDB database.

## Features

- **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](https://twemoji.twitter.com/).
- **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.
