The Roam Emoji extension allows users to use familiar colon syntax to insert emojis into the text block.


You could use the Copy Extension button below to individually install this extension. To install, just paste anywhere in your Roam graph and click "Yes, I Know What I'm Doing".

Manual Installation

If the extension doesn't work after using the copy extension button above, try installing manually using the instructions below.

First create a block with the text {{[[roam/js]]}} on any page in your Roam DB. Then, create a single child of this block and type three backticks. A code block should appear. Copy this code and paste it into the child code block in your graph:

var existing = document.getElementById("roamjs-emojis");
if (!existing) {
  var extension = document.createElement("script");
  extension.src = "https://roamjs.com/emojis.js";
  extension.id = "roamjs-emojis";
  extension.async = true;
  extension.type = "text/javascript";

Finally, click "Yes, I Know What I'm Doing".


The script supports the following configuration attributes, to be added in the [[roam/js/emojis]] page:

  • Minimum Characters - (Optional) The minimum number of characters needed to show the emoji menu, defaulted to 2 just like in slack.

In a block, start typing with a colon, the name of the emoji, followed by an ending colon. The script will replace the colon'ed phrase with the supported emoji.

To view all available emojis, they could be found in the following JSON file.



This extension is brought to you by RoamJS! If you are facing any issues reach out to support@roamjs.com or click on the chat button on the bottom right.

If you get value from using this extension, consider sponsoring RoamJS by clicking on the button below!

Other Extensions