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

jdecked/twemoji-parser

Folders and files

NameName
Last commit message
Last commit date

Latest commit

0d4d5cd Â· Dec 2, 2023

History

42 Commits
Oct 9, 2018
Dec 2, 2023
Oct 3, 2018
Oct 3, 2018
Oct 3, 2018
Oct 3, 2018
May 28, 2021
Oct 3, 2018
Apr 3, 2019
May 8, 2020
Oct 9, 2018
Jan 12, 2023
Apr 3, 2019
Jan 12, 2023
Oct 3, 2018
Dec 2, 2023
Jun 6, 2019

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://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f9e1.svg',
    indices: [ 2, 4 ],
    text: '🧡',
    type: 'emoji'
  },
  {
    url: 'https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f973.svg',
    indices: [ 12, 14 ],
    text: '🥳',
    type: 'emoji'
  }
]
*/

Authors

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

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/jdecked/twemoji-parser/blob/master/LICENSE.md