Newsletter
Join the Community
Subscribe to our newsletter for the latest news and updates
GitHub-flavored emoji plugin for Jekyll that converts emoji shortcodes into images.
Jemoji is a Jekyll plugin that converts GitHub-flavored emoji shortcodes like :+1: into emoji image tags in static sites, maintained by the Jekyll organization. It integrates into Jekyll's build pipeline to replace emoji codes such as :smile: with <img> tags that point to emoji image files, making it the standard way to display GitHub-style emoji on Jekyll-powered sites.
Jemoji is a Ruby gem that acts as a Jekyll plugin, processing page and post content during site generation to replace emoji shortcodes with image tags. It takes Markdown or HTML content containing GitHub-style emoji shortcodes as input, and produces static HTML where each shortcode is replaced by an <img> tag referencing an emoji image. The plugin runs on Jekyll sites, requires no JavaScript, and is used by adding a single line to the site's Gemfile and declaring it in _config.yml under plugins.
https://github.githubassets.com, producing URLs like https://github.githubassets.com/images/icons/emoji/unicode/1f604.png.ASSET_HOST_URL environment variable, and Jemoji uses it to construct image URLs such as https://assets.ghe.my-company.com/images/icons/emoji/unicode/1f604.png.emoji.src path in _config.yml, for example emoji: { src: "/assets/images/emoji" }.plugins key; older Jekyll versions use the gems key instead.:smile: and :+1: in Markdown and have the emoji render correctly in the published post.:rocket: directly in Markdown and they become image tags in the generated HTML.emoji.src config lets you point to any directory of emoji PNGs.Add gem 'jemoji' to your site's Gemfile, then add plugins: [jemoji] to your _config.yml (or gems: [jemoji] for Jekyll versions below 3.5.0). After that, any emoji shortcode you write in a page or post is replaced with the corresponding image tag during the Jekyll build process.
Add the gem to your Gemfile with gem 'jemoji', then register it as a plugin in _config.yml under the plugins key (or gems key for Jekyll versions before 3.5.0). Run bundle install and your site will process emoji shortcodes on the next build.
Yes. For sites built on GitHub.com, Jemoji automatically uses the GitHub CDN at https://github.githubassets.com to serve emoji images, so there's no configuration required beyond installing the plugin.
Yes. Set an emoji.src path in your _config.yml to point to a local directory or custom URL where your emoji images are stored. The Gemoji documentation provides guidance on generating the necessary image files.
Jemoji works with Jekyll 3.5.0 and later when listed under the plugins key. For older Jekyll versions, use the gems key instead. The plugin relies on Jekyll's plugin mechanism, which has been available since Jekyll 3.0.
Emoji images are loaded from an external CDN by default, which adds one HTTP request per unique emoji per page. However, since the images are served from a fast CDN and the conversion happens at build time, there is no client-side JavaScript overhead.
