Skip to content

DailyBotHQ/universal-emoji-parser

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
May 6, 2023
Jul 15, 2023
May 2, 2023
Jul 14, 2023
May 6, 2023
May 2, 2023
Apr 10, 2019
May 2, 2023
Jun 7, 2022
Sep 14, 2022
May 2, 2023
Jun 9, 2023
May 2, 2023
Jul 14, 2023
Oct 28, 2022
Jul 14, 2023
Jul 15, 2023
Jul 15, 2023
May 1, 2023
May 1, 2023

Repository files navigation

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:


Code Check && Release GitHub license GitHub stars Total downloads

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://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"/>

Using method options:

  • 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:

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
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.

License

Universal Emoji Parser is MIT licensed.