Lua-Emoji: Discord style emoji aliases

:smile: lua-emoji :smile:

I put together a module that allows you to convert text to Unicode emojis as you would in a chat client like Discord.
For example:

local emoji = require(

print(emoji("emojis are :ok_hand:!"))

-- output: emojis are πŸ‘Œ!

lua-emoji also supports skin tones!

emoji() takes an optional second argument for the skin tone. Available skin tones are

  • emoji.Light
  • emoji.Dark
  • emoji.MediumLight
  • emoji.MediumDark
  • emoji.Medium
print(emoji(":thumbsup:", emoji.MediumDark))
-- output: πŸ‘πŸΎ

Skin tones can also be added for individual emojis using the suffixes d, md, m, ml, and l:

print(emoji(":raisedfist_d: :raisedfist_md: :raisedfist_m: :raisedfist_ml: :raisedfist_l:"))
-- output: ✊🏿 ✊🏾 ✊🏽 ✊🏼 ✊🏻


Several aliases can be used for each emoji depending on your preferences:

print(emoji(":thumbs_up: = :thumbs-up: = :thumbsup:"))
-- output: πŸ‘ = πŸ‘ = πŸ‘

lua-emoji also allows you to use ISO country codes from for flags.


All the code is in one module, so you can install it by downloading the emoji.lua file from the GitHub repository and inserting it in your game.


The emoji list is generated from Taehoon Kim’s emoji for Python.


Been waiting for a roblox supported version of something like this, especially in a chat setting, thanks for this!


Aye, I love the module! However, I’ve heard that Rbx will be checking scripts. Not sure if it’s true. Developers shouldn’t be targeted, but this is happening to us for whatever reason?

Anyway, I just came to warn you that your script does have some inappropriate language due to the emoji cheat sheet’s title for the emoji name, which I know you wouldn’t add on purpose, and would like for you to check up on that because it could end up bad for you. An example would be the feces emoji. I hope this helps. Continue to make more awesome creations. We love them!