Skip to content
🐙 a Simple gemoji Emoji Extractor
Branch: master
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Type Name Latest commit message Commit time
Failed to load latest commit information.

SgEExt — a Simple gemoji Emoji Extractor

Pronounced [sgɪksˈt]


Let's have a talk about an usual situation.
You run a self-hosted Jekyll blog, with the jemoji plugin loaded so as to "enhanced" your content with some emojis.
You'd have noticed that by default the plugin renders your static pages with <img> whose src attributes are pointing to a GitHub's (Microsoft's) location.
The latter means that a third-party is able (note that it may not be the case) to log people who consult your website, and thus is a privacy issue.

So, at this step, you may have tried to extract images to serve it yourself, but the operation is only possible from a macOS system ('cause Apple emojis are present within the system font, and... gemoji is mainly using the "Apple's emoji character palette").

Now that is said, you have some options :

  • Buy an Apple device
  • Kindly ask a friend with an Apple device to extract and send you those PNGs (cc @Naernon)
  • Change your underneath emojis module / plugin / whatever
  • Wait for the gemoji project to use another set of emoji
  • Download PNGs directly from GitHub, and that is definitely what this is about !


  • python3
  • python3-requests



git clone


python3 --help

# Careful, running without any arguments would download the whole emojis palette (under `./emojis/`) !

# This directory structure will be created if it does not exist.
python3 -l joy -d emojis/images/

# Wanna force re-download of existing files ? Sure.
python3 -l joy relaxed sunglasses -d emojis/images/ -f

# Wanna save "real" emojis under their "real" name ? Sure.
python3 -l ok_hand -n 

# Wanna download GitHub added "emojis" (mostly images) ? Sure.
python3 -l bow relaxed octocat trollface --verbose

# 'octocat' & 'trollface' would be ignored.
python3 -l bow relaxed octocat trollface --only-emojis

# Wanna download the emojis currently being used in your (Jekyll) blog ? Sure.
python3 -l $(grep -hREo ':[a-z1-9_-]+:' /path/to/your/blog/_posts/*.md | sort | uniq | cut -d ':' -f 2) -d /path/to/your/blog/images/emojis/

How does it work ?

The script... :

  • ... (after having tried locally) fetches the emojis database hosted on GitHub (don't click if you are on mobile)
  • ... iterates through the elements and extracts their unicode value as hexadecimal
  • ... uses the above result to download them from GitHub

As is actually a CDN, it does not look rate-limited.
Anyway, I cannot take any responsibility for any inappropriate usage of this software.


Although SgEExt has been developed with cross-platform constraints, it has not been tested on Windows yet.
Feedbacks are welcome, as usual.

Apple users, you don't have to go this way.

You can’t perform that action at this time.