Skip to main content

Emoji Toolkit

PyPI version CI Status: in development License: MIT

Get emoji images or data URLs from your terminal for notifications, scripts, and everyday tools. 🎣

Pick a vendor, look up a shortcode, and use the artwork anywhere.

Install 💿

Requires Python 3.11+.

uv tool install emoji-toolkit

emoji setup

Alternative install methods:

# Or use pipx:
pipx install emoji-toolkit
# Or use pip
pip install emoji-toolkit

On macOS, Linux, and Windows, emoji setup installs the OS vendor as your default after confirmation. If the OS vendor is already installed, setup leaves your installation and preferences unchanged. Use emoji setup --yes in scripts; emoji install lets you pick vendors yourself. Installation downloads artwork to ~/.local/share/emojies/ (or $XDG_DATA_HOME/emojies/ when set). Those are then used offline.

Use it 🏉

emoji smiley                         # original PNG path
# /Users/ak/.local/share/emojies/vendors/apple/grinning_face_with_big_eyes.png
emoji smiley --url                   # PNG preview data URL
# data:image/png;base64,iVBOR.....RK5CYII=
emoji smiley --url --size 128         # generate a preview within 128×128

emoji wave --skin-tone dark          # choose a skin tone 👋🏿
emoji smiley --vendor google         # choose a specific vendor

emoji list hand                      # discover shortcodes with hands
emoji list hand --emoji              # show Unicode emoji alongside shortcodes "✋ hand"
emoji list hand --colon              # wrap shortcodes in colons :hand:

Skin tones for --skin-tone and config set skin-tone: light 👋🏻, medium-light 👋🏼, medium 👋🏽, medium-dark 👋🏾, dark 👋🏿, and none 👋 for the unmodified emoji.

Use the returned path with an image viewer or notification tool you have installed:

viu "$(emoji wave)" --transparent                       # view in your terminal
ascii-image-converter "$(emoji wink)" --color           # render as ASCII art
notify-send --icon="$(emoji tada)" "Build finished"     # Linux desktop notification

See viu, ascii-image-converter, and notify-send.

Terminal viewer · viu Colored ASCII · ascii-image-converter
Waving hand displayed with viu and a transparent background Winking face rendered as colored ASCII art
Desktop notification
Build finished notification with a party popper emoji

Shortcodes follow GitHub aliases. Colons are optional: smiley and :smiley: work the same way. 😃 Paths point to original images; data URLs default to previews up to 72×72 pixels. Use --size 1–1024 with --url to choose a preview size; original artwork is never enlarged.

Manage your artwork 🎨

Your first installed vendor becomes the default. Change your preferences, refresh installed artwork, or remove vendors you no longer use:

emoji config set vendor apple
emoji install --vendor google --use-as-default  # install and choose the default
emoji config set skin-tone dark
emoji config unset skin-tone

emoji install --update --vendor apple  # refresh Apple artwork
emoji install --update                 # refresh all installed artwork
emoji status                           # show installed vendors and versions
emoji uninstall --vendor twitter       # remove artwork you no longer need

See all commands and options.

Pick your artwork 🌈

Choose artwork from seven vendors:

emoji install --vendor google --vendor twitter
emoji install --all

The same 😃 :smiley:, drawn by each vendor:

Vendor Apple JoyPixels Facebook Google Samsung Twitter / X Microsoft Windows
Smiley Apple smiley JoyPixels smiley Facebook smiley Google smiley Samsung smiley Twitter smiley Microsoft Windows smiley

Explore the dataset 🗺️

The checked-in artwork lives in resources/dataset:

  • dataset.json — the shared Unicode index.
  • vendors/<vendor>.json — image paths, preview data URLs, and source metadata.
  • images/<vendor>/ — original artwork.

Join vendor records to the index by their unicode sequence. Reading the JSON and images requires no Python dependencies.

See dataset maintenance and publishing resource bundles.

Contribute 🤝

From a checkout, use Python 3.11+ and Poetry 2+:

poetry install
poetry run poe local-install            # install Apple artwork from this checkout
poetry run poe format
poetry run poe format-check
poetry run poe typecheck
poetry run poe test

Have a bug or an idea? Open an issue. For artwork problems, include the emoji and vendor.

License

Project code is licensed under MIT. Vendor artwork retains its respective copyrights and licenses; see Emojipedia's licensing guide.

Metadata

Release files for emoji-toolkit 0.2.0

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for emoji-toolkit 0.2.0
File Size Uploaded Provenance Actions
emoji_toolkit-0.2.0.tar.gz 19.8 kB Without provenance Details for emoji_toolkit-0.2.0.tar.gz

Built distribution (wheel)

Table of built distributions (wheels) for emoji-toolkit 0.2.0
File Interpreter ABI Platform Actions
emoji_toolkit-0.2.0-py3-none-any.whl Python 3 none any Details for emoji_toolkit-0.2.0-py3-none-any.whl

Total release size: 40.9 kB

Release files / emoji_toolkit-0.2.0.tar.gz

Download URL emoji_toolkit-0.2.0.tar.gz
Size 19.8 kB
Tags Source
SHA-256 checksum
How to use checksums
5e4f4bbd314e4b3ba5d22f41cf29b31ba4e2f10528e468d694e7eb497f346d9a
BLAKE2b-256 checksum
How to use checksums
256fec1bb2fd613a398f2e7dad349d1fe55be1d98f8011451012cf255f430d0c
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via poetry/2.1.2 CPython/3.13.3 Darwin/24.6.0

Release files / emoji_toolkit-0.2.0-py3-none-any.whl

Download URL emoji_toolkit-0.2.0-py3-none-any.whl
Size 21.1 kB
Tags Python 3
SHA-256 checksum
How to use checksums
20f9b51145532c9ba5234e5ec80504e9fca325e9cdb5d39e96b671137c92be33
BLAKE2b-256 checksum
How to use checksums
b5e24dbed70f7551580525ec880a9aa64fa14321bf74d7b46f3e40517ff6d361
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via poetry/2.1.2 CPython/3.13.3 Darwin/24.6.0

Security for emoji-toolkit 0.2.0

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

No provenance found

None of the files in this release were uploaded with provenance metadata.

A note on package security

PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.

To learn more about protecting yourself from malicious actors, visit our package security documentation.

Release history Release notifications | RSS feed

This release

0.2.0 This release

2 release files No provenance

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page