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, orundefinedif an emoji is unsupported or the pair has no mix. WithdetailedErrors, throws an error explaining why instead. -
toUnicode(input)
Returns the codepoint key of one supported emoji, e.g."☕"→"2615", orundefined. -
getEmojiCombo(leftEmoji, rightEmoji)
Takes two codepoint keys and returns the newest{ leftEmoji, rightEmoji, date }combination, orundefined.leftEmojiandrightEmojiare 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), ornullif 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
- Created by MattFor | Discord tag: mattfor | Github
- Inspired by emoji-kitchen [made by Xavier Salazar a.k.a xsalazar]
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)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| 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 logSecurity 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 logA 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.