Skip to content

A simple library for identifying emoji entities within a string in order to render them as Twemoji.

License

Notifications You must be signed in to change notification settings

twitter/twemoji-parser

Repository files navigation

Twemoji Parser Build Status

A simple library for identifying emoji entities within a string in order to render them as Twemoji.

For example, this parser is used within the rendering flow for Tweets and other text on mobile.twitter.com

Setup

Add twemoji-parser as a dependency to your project:

yarn add twemoji-parser

Or, to work directly in this repo, clone it and run yarn install from the repo root.

Usage

The tests are intended to serve as a more exhaustive source of documentation, but the general idea is that the parser takes a string and returns an array of the emoji entities it finds:

import { parse } from 'twemoji-parser';
const entities = parse('I 🧡 Twemoji! 🥳');
/*
entities = [
  {
    url: 'https://twemoji.maxcdn.com/v/latest/svg/1f9e1.svg',
    indices: [ 2, 4 ],
    text: '🧡',
    type: 'emoji'
  },
  {
    url: 'https://twemoji.maxcdn.com/v/latest/svg/1f973.svg',
    indices: [ 12, 14 ],
    text: '🥳',
    type: 'emoji'
  }
]
*/

Authors

  • Nathan Downs <ndowns [at] twitter [dot] com>

Follow @TwitterOSS on Twitter for updates.

Contributing

We feel that a welcoming community is important and we ask that you follow Twitter's Open Source Code of Conduct in all interactions with the community.

Support

Create a new issue on GitHub.

Security Issues?

Please report sensitive security issues via Twitter's bug-bounty program (https://hackerone.com/twitter) rather than GitHub.

License

MIT https://github.com/twitter/twemoji-parser/blob/master/LICENSE.md