Skip to content

leodr/generate-emoji-list

Repository files navigation

generate-emoji-list

Generate a comprehensive list of all Unicode Emojis in any language.

NPM Version GitHub GitHub issues


All emoji-data is pulled from the official Unicode Emoji lists and converted into JSON. Optionally category names and emoji descriptions can easily be translated into a target language using the Google Cloud Translation API.

Several precompiled lists can be found in the lists/ folder.

Overview

Using the CLI to Generate a Fresh List

The CLI can easily be used by executing it with npx:

npx generate-emoji-list

It will ask you about the Unicode-version, features and language of your list.

Generate the List in a Different Language

If you want the list descriptions and category names to be translated into a non-english language you have to specify the path of a Google Application Credentials file under the GOOGLE_APPLICATION_CREDENTIALS environment variable. The official documentation for that can be found here.

The Cloud Translation API has to be active for the project you are using.

The free quota for translations should be enough for generating several lists, so you do not have to worry about costs.

Using the JavaScript-API

The methods for generating emoji lists are available via a JavaScript API.

Generating an English Emoji List

The createEmojiList-method works both with Node.js and in the browser.

You can use it like the following:

// ESM
import { createEmojiList } from "generate-emoji-list";

// CJS
const { createEmojiList } = require("generate-emoji-list");

const emojiList = await createEmojiList({
    unicodeVersion: "14.0",
    features: { shortCodes: true },
});

The unicodeVersion has to be one of our supported Versions of the Unicode standard, which currently are:

type UnicodeVersion =
    | "4.0"
    | "5.0"
    | "11.0"
    | "12.0"
    | "12.1"
    | "13.0"
    | "13.1"
    | "14.0";

When the shortCodes-feature is activated, an HTTP-Request will be made to the GitHub Emoji API to add short codes to the emojis (e.g. zap for ⚡️).

Translating an English Emoji List Into Another Language

The translateEmojiList-method can be used to translate an english list into a specified language.

The Google Cloud Translation API will be used for translating the strings into another language, so make sure you have set up your GOOGLE_APPLICATION_CREDENTIALS environment variable corrently and the Cloud Translation API is enabled for your Google Cloud project.

This method only works with Node.js, it will not work in the browser.

// ESM
import { createEmojiList, translateEmojiList } from "generate-emoji-list";

// CJS
const { createEmojiList, translateEmojiList } = require("generate-emoji-list");

const emojiList = await createEmojiList({
    unicodeVersion: "14.0",
    features: { shortCodes: true },
});

const germanEmojiList = await translateEmojiList({
    emojiList,
    targetLanguage: "de",
});

The targetLanguage-parameter takes an ISO-639-1 language code.