Skip to main content

Installation

npm install emoji-mixer   # JavaScript / TypeScript, Node.js 20.19+
pip install emoji-mixer   # Python 3.10+
cargo add emoji-mixer     # Rust

Emoji Mix URL Generator

Get the URL of a Google Emoji Kitchen image for two emojis.

import getEmojiMixUrl from 'emoji-mixer';
// or: const { default: getEmojiMixUrl } = require("emoji-mixer");

getEmojiMixUrl('🔥', '😃');
// https://www.gstatic.com/android/keyboard/emojikitchen/20201001/u1f603/u1f603_u1f525.png
from emoji_mixer import get_emoji_mix_url

get_emoji_mix_url("🔥", "😃")
emoji_mixer::get_emoji_mix_url("🔥", "😃"); // Some(url)

Emojis can be passed as characters ("☕") or codepoint strings ("2615", "1F600", "2764-fe0f"). The FE0F variation selector is optional.

Functions

  • getEmojiMixUrl(leftEmoji, rightEmoji, detailedErrors = false) (default export)
    Returns the image URL, or undefined if an emoji is unsupported or the pair has no mix. With detailedErrors, throws an error explaining why instead.

  • toUnicode(input)
    Returns the codepoint key of one supported emoji, e.g. "☕" → "2615", or undefined.

  • getEmojiCombo(leftEmoji, rightEmoji)
    Takes two codepoint keys and returns the newest { leftEmoji, rightEmoji, date } combination, or undefined. leftEmoji and rightEmoji are in the order Google hosts the image under, which may differ from the argument order.

  • checkSupported(emoji)
    Returns every combination containing the emoji (on either side), or null if it is unsupported.

  • googleRequestUrl(combo) / googleRequestUrlEmojiPart(emoji)
    Build the image URL from a combination / format one emoji for the URL.

  • getExpandedEmojiCompatibilityData(useCache = false)
    Returns { [emoji]: combination[] } for every supported emoji.

  • supportedEmojis, emojiCompatibilityData, baseUrl
    The supported codepoint keys, the compressed database and the image base URL.

Python has the same API in snake_case (get_emoji_mix_url, to_unicode, …, BASE_URL). It returns None instead of undefined/null, detailed_errors raises ValueError, and combinations are EmojiCombo(left_emoji, right_emoji, date) named tuples.

Rust has get_emoji_mix_url, to_unicode, get_emoji_combo, check_supported, google_request_url, google_request_url_emoji_part, supported_emojis() and BASE_URL, returning Options.

Data format

emojiCompatibilityData is generated from emojikitchen.dev by converter.ts:

{
    "$d": [20201001, 20260128],   // unique dates
    "$e": [9749, 9800],           // unique emojis: codepoints as integers, sequences as strings
    "2615": [[0, 0], [1, 1]],     // [emojiIndex, dateIndex]
    "2648": [[-1, 1]]
}

A negative emojiIndex (~i) means the key emoji is the right-hand emoji in Google's URL. Above, both entries [1, 1] and [-1, 1] describe ☕ (left) + ♈ (right).

Attributions

Metadata

Release files for emoji-mixer 2.1.0

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

Built distribution (wheel)

Table of built distributions (wheels) for emoji-mixer 2.1.0
File Interpreter ABI Platform
emoji_mixer-2.1.0-py3-none-any.whl Python 3 none any Details

Release files / emoji_mixer-2.1.0-py3-none-any.whl

Download URL emoji_mixer-2.1.0-py3-none-any.whl
Size 399.8 kB
Tags Python 3
SHA-256 checksum
How to use checksums
9111c97b8a00820a8480103b627befd4d31422c37d65a1fce965a415caec0a60
BLAKE2b-256 checksum
How to use checksums
55f2904850bce0b6e453874a7d2360e53fbff17b3faf28617a07097ed0492449
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.16

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.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Oct 26, 2026.

Transparency log

Security for emoji-mixer 2.1.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.

Full provenance

All 1 file in this release has been uploaded with provenance metadata.

Attestation for emoji_mixer-2.1.0-py3-none-any.whl

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Oct 26, 2026.

Transparency log

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

2.1.0 This release

1 release file Full 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