This tool allow parse emojis char unicodes and shortcodes to html images using emojilib && Twemoji. This allows emojis to be standard across browsers, and avoid compatibility issues.
Emojis Support:
- Twitter emojis
- GitHub emojis
- Slack emojis
- Discord emojis
- Google Chat emojis
- Microsoft Teams emojis
npm install universal-emoji-parser --save
or
yarn add universal-emoji-parser
// ES6 import
β import uEmojiParser from 'universal-emoji-parser'
or
// CommonJS require
β const uEmojiParser = require('universal-emoji-parser')
β uEmojiParser.parse('π')
<img class="emoji" alt="π" src="https://twemoji.maxcdn.com/v/14.0.2/72x72/1f60e.png"/>
β uEmojiParser.parse(':smiling_face_with_sunglasses:')
<img class="emoji" alt="π" src="https://twemoji.maxcdn.com/v/14.0.2/72x72/1f60e.png"/>
β uEmojiParser.parse('π')
<img class="emoji" alt="π" src="https://twemoji.maxcdn.com/v/14.0.2/72x72/1f680.png"/>
β uEmojiParser.parse(':rocket:')
<img class="emoji" alt="π" src="https://twemoji.maxcdn.com/v/12.1.2/72x72/1f680.png"/>
β uEmojiParser.parse('Hello world! π :smiling_face_with_sunglasses: π :rocket:')
Hello world! <img class="emoji" alt="π" src="https://twemoji.maxcdn.com/v/14.0.2/72x72/1f60e.png"/> <img class="emoji" alt="π" src="https://twemoji.maxcdn.com/v/14.0.2/72x72/1f60e.png"/> <img class="emoji" alt="π" src="https://twemoji.maxcdn.com/v/14.0.2/72x72/1f680.png"/> <img class="emoji" alt="π" src="https://twemoji.maxcdn.com/v/14.0.2/72x72/1f680.png"/>
- DEFAULT EMOJI CDN =>
https://twemoji.maxcdn.com/v
Option Name | Type | Default | Description |
---|---|---|---|
emojiCDN | string | DEFAULT EMOJI CDN |
Allow customize the emojis CDN. The parseToHtml option should be true to apply this option. |
parseToHtml | boolean | true |
Parse emojis unicodes and shortcodes into html images. |
parseToUnicode | boolean | false |
Parse emojis shortcodes into unicodes. The option parseToHtml should be false to apply. |
parseToShortcode | boolean | false |
Parse emojis unicodes into shortcodes. The options parseToHtml and parseToUnicode should be false to apply. |
Using different values for options:
β uEmojiParser.parse('π', {})
<img class="emoji" alt="π" src="https://twemoji.maxcdn.com/v/14.0.2/72x72/1f60e.png"/>
β uEmojiParser.parse(':smiling_face_with_sunglasses:', { parseToHtml: true })
<img class="emoji" alt="π" src="https://twemoji.maxcdn.com/v/14.0.2/72x72/1f60e.png"/>
β uEmojiParser.parse('Hello world! :smiling_face_with_sunglasses: :rocket:', { parseToHtml: false, parseToUnicode: true })
Hello world! π π
β uEmojiParser.parse('Hello world! π π', { parseToHtml: false, parseToShortcode: true })
Hello world! :smiling_face_with_sunglasses: :rocket:
Using custom CDN
β uEmojiParser.parse('Hello world! π π', { emojiCDN: https://custom.emoji.cdn })
Hello world! <img class="emoji" alt="π" src="https://custom.emoji.cdn/14.0.2/72x72/1f60e.png"/> <img class="emoji" alt="π" src="https://custom.emoji.cdn/14.0.2/72x72/1f680.png"/>
β uEmojiParser.parse('Hello world! π π', { parseToHtml: true, emojiCDN: https://custom.emoji.cdn })
Hello world! <img class="emoji" alt="π" src="https://custom.emoji.cdn/14.0.2/72x72/1f60e.png"/> <img class="emoji" alt="π" src="https://custom.emoji.cdn/14.0.2/72x72/1f680.png"/>
β uEmojiParser.parse('Hello world! π π', { parseToHtml: false, emojiCDN: https://custom.emoji.cdn })
Hello world! π π
βΉοΈ Optionally, direct methods can also be used to parse the content of the emojis through the different options:
β uEmojiParser.parseToHtml('Hello world! π :smiling_face_with_sunglasses: π :rocket:')
Hello world! <img class="emoji" alt="π" src="https://twemoji.maxcdn.com/v/14.0.2/72x72/1f60e.png"/> <img class="emoji" alt="π" src="https://twemoji.maxcdn.com/v/14.0.2/72x72/1f60e.png"/> <img class="emoji" alt="π" src="https://twemoji.maxcdn.com/v/14.0.2/72x72/1f680.png"/> <img class="emoji" alt="π" src="https://twemoji.maxcdn.com/v/14.0.2/72x72/1f680.png"/>
β uEmojiParser.parseToUnicode('Hello world! :smiling_face_with_sunglasses: :rocket:')
Hello world! π π
β uEmojiParser.parseToShortcode('Hello world! π π')
Hello world! :smiling_face_with_sunglasses: :rocket:
You can get the entire emoji lib json data curated and processed to best match with shortcode keywords.
// ES6 import
β import { emojiLibJsonData } from 'universal-emoji-parser'
or
// CommonJS require
const uEmojiParser = require('universal-emoji-parser')
const { emojiLibJsonData } = uEmojiParser
β Object.keys(emojiLibJsonData).length
1870
β emojiLibJsonData[π€£]
{
name: 'rolling on the floor laughing',
slug: 'rolling_on_the_floor_laughing',
group: 'Smileys & Emotion',
emoji_version: '3.0',
unicode_version: '3.0',
skin_tone_support: false,
char: 'π€£',
keywords: [
'rolling_on_the_floor_laughing',
'rolling',
'floor',
'laughing',
'rofl'
]
}
β emojiLibJsonData[π]
{
name: 'smiling face with sunglasses',
slug: 'smiling_face_with_sunglasses',
group: 'Smileys & Emotion',
emoji_version: '1.0',
unicode_version: '1.0',
skin_tone_support: false,
char: 'π',
keywords: [
'smiling_face_with_sunglasses',
'cool',
'summer',
'beach',
'sunglass'
]
}
π Powered by DailyBot
DailyBot is an AI Assistant powered by ChatGPT that takes chat and collaboration to the next level helping to automate: daily standups, team check-ins, surveys, kudos, virtual watercooler, 1:1 intros, motivation tracking, chatops and more. Learn more.
Universal Emoji Parser is MIT licensed.