universal-emoji-parser v2.0.23
Universal Emoji Parser
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
Installation
npm install universal-emoji-parser --save
or
yarn add universal-emoji-parser
Usage
// ES6 import
ā import uEmojiParser from 'universal-emoji-parser'
or
// CommonJS require
ā const uEmojiParser = require('universal-emoji-parser')
Using default options:
ā uEmojiParser.parse('š')
<img class="emoji" alt="š" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f60e.svg"/>
ā uEmojiParser.parse(':smiling_face_with_sunglasses:')
<img class="emoji" alt="š" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f60e.svg"/>
ā uEmojiParser.parse('š')
<img class="emoji" alt="š" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f680.svg"/>
ā uEmojiParser.parse(':rocket:')
<img class="emoji" alt="š" src="https://twemoji.maxcdn.com/v/12.1.2/72x72/1f680.svg"/>
ā uEmojiParser.parse('Hello world! š :smiling_face_with_sunglasses: š :rocket:')
Hello world! <img class="emoji" alt="š" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f60e.svg"/> <img class="emoji" alt="š" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f60e.svg"/> <img class="emoji" alt="š" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f680.svg"/> <img class="emoji" alt="š" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f680.svg"/>
Using method options:
- DEFAULT EMOJI CDN =>
https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/
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://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f60e.svg"/>
ā uEmojiParser.parse(':smiling_face_with_sunglasses:', { parseToHtml: true })
<img class="emoji" alt="š" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f60e.svg"/>
ā 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/gh/jdecked/twemoji@latest/assets/svg/" })
Hello world! <img class="emoji" alt="š" src="https://custom.emoji.cdn/gh/jdecked/twemoji@latest/assets/svg/1f60e.svg"/> <img class="emoji" alt="š" src="https://custom.emoji.cdn/gh/jdecked/twemoji@latest/assets/svg/1f680.svg"/>
ā uEmojiParser.parse('Hello world! š š', { parseToHtml: true, emojiCDN: https://custom.emoji.cdn/gh/jdecked/twemoji@latest/assets/svg/ })
Hello world! <img class="emoji" alt="š" src="https://custom.emoji.cdn/gh/jdecked/twemoji@latest/assets/svg/1f60e.svg"/> <img class="emoji" alt="š" src="https://custom.emoji.cdn/gh/jdecked/twemoji@latest/assets/svg/1f680.svg"/>
ā uEmojiParser.parse('Hello world! š š', { parseToHtml: false, emojiCDN: "https://custom.emoji.cdn/gh/jdecked/twemoji@latest/assets/svg/" })
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://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f60e.svg"/> <img class="emoji" alt="š" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f60e.svg"/> <img class="emoji" alt="š" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f680.svg"/> <img class="emoji" alt="š" src="https://cdn.jsdelivr.net/gh/jdecked/twemoji@latest/assets/svg/1f680.svg"/>
ā uEmojiParser.parseToUnicode('Hello world! :smiling_face_with_sunglasses: :rocket:')
Hello world! š š
ā uEmojiParser.parseToShortcode('Hello world! š š')
Hello world! :smiling_face_with_sunglasses: :rocket:
Get emoji lib json data
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
1898
ā 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'
]
}
CSS Styles
To properly scale emojis to fit within their containing elements, you can apply these global CSS styles:
img.emoji {
height: 1em;
width: 1em;
margin: 0 0.05em 0 0.1em;
vertical-align: -0.1em;
}
:electric_plug: 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.
License
Universal Emoji Parser is MIT licensed.
8 months ago
8 months ago
10 months ago
10 months ago
10 months ago
9 months ago
10 months ago
9 months ago
9 months ago
9 months ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
12 months ago
12 months ago
1 year ago
1 year ago
1 year ago
11 months ago
11 months ago
11 months ago
11 months ago
1 year ago
1 year ago
1 year ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
3 years ago
2 years ago
2 years ago
2 years ago
2 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
5 years ago
5 years ago
6 years ago
6 years ago
6 years ago
6 years ago
6 years ago
6 years ago
6 years ago
6 years ago
6 years ago
6 years ago
6 years ago
6 years ago
6 years ago
6 years ago
6 years ago
6 years ago
6 years ago