Skip to main content
https://raw.githubusercontent.com/Ombucha/emojis.py/main/banner.png PyPI version PyPI downloads Lines of code Repository size
✨ A lightweight, expressive emoji utility library for Python 💻🐍
🎉 Supports emoji lookup, search, and emoji-kitchen-style combos — all offline and blazing fast ⚡
No dependencies — just pure emoji magic 🪄

🚀 Features

  • 🔍 Emoji lookup by name, alias, unicode, hexcode, shortcode, or order

  • 🧠 Fast emoji search by keyword, label, shortcode, or tag

  • 🍳 Emoji Kitchen-style mashups (Google Emoji Kitchen)

  • 🏷️ Convert between emoji and shortcode (emojize/demojize)

  • 🧩 Emoji grouping and subgrouping

  • 📦 Bundled emoji data, no internet required

  • 🪄 Zero dependencies, pure Python

📖 Usage & Quick Start

from emojis import (
    is_emoji, emoji_count,
    get_emoji_from_name, get_emoji_from_hexcode, get_emoji_from_shortcode, get_emoji_from_order,
    get_all_emojis, emojize, demojize,
    get_group, get_subgroup, get_all_groups, get_all_subgroups,
    emoji_kitchen, search_emojis, Emoji
)

# Check if a character is an emoji
print(is_emoji("🔥"))  # True

# Count emojis in a string
print(emoji_count("I love 🍕 and 🐍!"))  # 2

# Lookup emoji by name, hexcode, shortcode, or order
print(get_emoji_from_name("grinning face").emoji)  # 😀
print(get_emoji_from_hexcode("1F525").emoji)       # 🔥
print(get_emoji_from_shortcode("fire").emoji)      # 🔥
print(get_emoji_from_order(0).emoji)               # First emoji in database

# List all emojis (print only emoji characters)
all_emojis = get_all_emojis()
print([e.emoji for e in all_emojis[:5]])  # ['😀', '😃', '😄', ...]

# Convert shortcodes to emojis and vice versa
print(emojize("I am :fire:!"))  # I am 🔥!
print(demojize("I am 🔥!"))     # I am :fire:!

# Emoji details and grouping
emoji = Emoji("🦄")
print(emoji.label)              # 'unicorn'
print(get_group(emoji).name)    # Group name
print(get_subgroup(emoji).name) # Subgroup name

# List all groups and subgroups (print names)
print([g.name for g in get_all_groups()])
print([sg.name for sg in get_all_subgroups()])

# Emoji Kitchen-style combo (returns a URL)
print(emoji_kitchen(Emoji("🥲"), Emoji("😎")))

# Search for emojis by keyword, label, shortcode, or tag (print emoji characters)
print([e.emoji for e in search_emojis("cat")])     # ['🐱', '😺', ...]

📦 Included Emoji Data

This library bundles static emoji data from:

All data is included upfront — no runtime fetching or internet required 🔒

⚙️ Installation

Requires Python 3.8+ 🐍

To install the latest stable release:

# Unix / macOS 🍎🐧
python3 -m pip install "emojis.py"

# Windows 🪟
py -m pip install "emojis.py"

To install the development version:

git clone https://github.com/Ombucha/emojis.py
cd emojis.py
pip install -e .

🙌 Contributing

Contributions are welcome! If you have suggestions, bug reports, or want to add features, please open an issue or submit a pull request on GitHub.

  • Read the Contributing Guide for best practices.

  • Make sure your code is tested and documented.

  • Be kind and respectful in all interactions.

Thank you for helping make emojis.py better! 🎉

Metadata

Release files for emojis.py 1.3.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 emojis.py 1.3.0
File Size Uploaded
emojis_py-1.3.0.tar.gz 8.0 MB Details

Built distribution (wheel)

Table of built distributions (wheels) for emojis.py 1.3.0
File Interpreter ABI Platform
emojis_py-1.3.0-py3-none-any.whl Python 3 none any Details

Total release size: 16.4 MB

Release files / emojis_py-1.3.0.tar.gz

Download URL emojis_py-1.3.0.tar.gz
Size 8.0 MB
Tags Source
SHA-256 checksum
How to use checksums
618210f459b5642ff15c28808c797c4da513b9c3b9edacbb71fed257ed08a233
BLAKE2b-256 checksum
How to use checksums
963261aa2ea8e6e37ebda8e10e8fbd7325ed589855a7a2623a8159f01fd4169b
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.1.0 CPython/3.9.23

Release files / emojis_py-1.3.0-py3-none-any.whl

Download URL emojis_py-1.3.0-py3-none-any.whl
Size 8.4 MB
Tags Python 3
SHA-256 checksum
How to use checksums
9e0ebf16c419cd7718df3245b44fb9f7fd90cda6f63c77ef420b27a911c872c8
BLAKE2b-256 checksum
How to use checksums
e8e9074c890b663e53dc488e7fca7d29b31f71e1a1ccc099ef62744719d19563
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.1.0 CPython/3.9.23

Release history Release notifications | RSS feed

This release

1.3.0 This release

2 release files

1.2.0

2 release files

1.1.0

2 release files

1.0.0

2 release files

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