# emojilib

> Emoji keyword library.

Latest version **4.0.3** (published 2026-04-18) · MIT license · 0 weekly downloads

## Install

```sh
npm install emojilib
pnpm add emojilib
yarn add emojilib
bun add emojilib
```

## Health

**Score 55/100 (C)** — status: active.

Positive: has types; no vulnerabilities; high quality score.

Warnings: low downloads; no esm support.

## Facts

| | |
|---|---|
| Version | 4.0.3 |
| Published | 2026-04-18 |
| First published | 2015-07-10 |
| Weekly downloads | 0 |
| License | MIT |
| TypeScript types | bundled |
| Module format | CommonJS |
| Dependencies | 0 |
| Unpacked size | 263.4 KB |
| Known vulnerabilities | 0 |
| Install scripts | no |
| GitHub stars | 1776 |
| Author | Mu-An Chiou |
| Maintainers | muan, jasonrudolph |
| Keywords | emoji, keyword, search |

## Links

- npm: https://www.npmjs.com/package/emojilib
- Repository: https://github.com/muan/emojilib
- Homepage: https://github.com/muan/emojilib#readme
- Issues: https://github.com/muan/emojilib/issues
- npm.io page: https://npm.io/package/emojilib

## Alternatives

- [jsforce](https://npm.io/package/jsforce.md) — 851.2K weekly downloads
- [react-native-qrcode-svg](https://npm.io/package/react-native-qrcode-svg.md) — 693.5K weekly downloads
- [@salesforce/plugin-data](https://npm.io/package/@salesforce/plugin-data.md) — 394.9K weekly downloads
- [@backstage/plugin-search-common](https://npm.io/package/@backstage/plugin-search-common.md) — 308.5K weekly downloads
- [@chain-registry/types](https://npm.io/package/@chain-registry/types.md) — 38.4K weekly downloads

## Recent versions

- 4.0.3 (latest) — 2026-04-18
- 4.0.2 — 2025-04-23
- 4.0.1 — 2024-12-13
- 4.0.0 — 2024-09-30
- 3.0.12 — 2024-03-28
- 3.0.11 — 2023-09-28
- 3.0.10 — 2023-04-02
- 3.0.9 — 2023-03-19
- 3.0.8 — 2022-12-17
- 3.0.7 — 2022-07-27
- 3.0.6 — 2022-03-15
- 3.0.5 — 2022-02-03
- 3.0.4 — 2021-07-20
- 3.0.3 — 2021-07-02
- 3.0.2 — 2021-05-06
- … 29 more at https://npm.io/package/emojilib/versions

## README

# emojilib ![CI status](https://github.com/muan/emojilib/workflows/Test%20dataset/badge.svg?branch=main) [![npm](https://img.shields.io/npm/dt/emojilib.svg?style=flat-square&colorB=fd7463)](https://www.npmjs.com/package/emojilib) [![JavaScript Standard Style](https://img.shields.io/badge/code%20style-standard-brightgreen.svg?style=flat-square&colorB=f1d04a)](https://github.com/feross/standard)

Make emoji searchable with this keyword library.

## Install

```
npm install emojilib --save
```

## Usage

```javascript
> require("emojilib")
{
  '😀': [
    'grinning_face',
    'face',
    'smile',
    'happy',
    'joy',
    ':D',
    'grin'
  ],
  '😃': [
    'grinning_face_with_big_eyes',
    'face',
    'happy',
    'joy',
    'haha',
  ...
}
```

If you are looking for the unicode emoji dataset, including version, grouping, ordering, and skin tone support flag, check out [`unicode-emoji-json`](https://github.com/muan/unicode-emoji-json).

## Migrating from 2.x

Previously:

```js
> var emoji = require("emojilib")
> emoji.lib
{
  "grinning": {
    "keywords": ["face", "smile", "happy", "joy"],
    "char": "😀",
    "fitzpatrick_scale": false,
    "category": "people"
  },
  ...
}
```

Now, merge keywords with other metadata from `unicode-emoji-json`:

```js
> var data = require('unicode-emoji-json')
> var keywordSet = require('emojilib')
> for (const emoji in data) {
data[emoji]['keywords'] = keywordSet[emoji]
}
> data['😀']
{
  name: 'grinning face',
  slug: 'grinning_face',
  group: 'Smileys & Emotion',
  emoji_version: '1.0',
  unicode_version: '1.0',
  skin_tone_support: false,
  keywords: [ 'grinning_face', 'face', 'smile', 'happy', 'joy', ':D', 'grin' ]
}
```

---

Previously:

```js
> var emoji = require("emojilib")
> emoji.ordered
[ 'grinning', 'grimacing', 'grin', 'joy', 'smiley', 'smile', 'sweat_smile', ...]
```

Now this data can be found in `unicode-emoji-json`:

```js
> var orderedEmoji = require('unicode-emoji-json/data-ordered-emoji')
['😀', '😃', '😄', '😁', '😆', '😅',...]
```

---

Previously:

```js
> var emoji = require("emojilib")
> emoji.fitzpatrick_scale_modifiers
[ '🏻', '🏼', '🏽', '🏾', '🏿' ]
```

Now this data can be found in `unicode-emoji-json`:

```js
> require('unicode-emoji-json/data-emoji-components')
{
  light_skin_tone: '🏻',
  medium_light_skin_tone: '🏼',
  medium_skin_tone: '🏽',
  medium_dark_skin_tone: '🏾',
  dark_skin_tone: '🏿',
  red_hair: '🦰',
  curly_hair: '🦱',
  white_hair: '🦳',
  bald: '🦲'
}
```

Previously:

```js
> require("emojilib").lib['v'].fitzpatrick_scale
true

> require("emojilib").lib['turtle'].fitzpatrick_scale
false
```

Now this data can be found in `unicode-emoji-json`:

```js
> require('unicode-emoji-json')['✌️'].skin_tone_support
true
> require('unicode-emoji-json')['🐢'].skin_tone_support
false
```

## Development

See `CONTRIBUTING.md`.

---
_Source: https://npm.io/package/emojilib · Machine-readable twin of the npm.io package page. Health data is recomputed on every publish._
