What is this?

The Google Keyboard, known as Gboard in the Play Store, contains a feature known as “Emoji Kitchen”. The feature suggests stickers to users when they type in emojis. These stickers are actually combinations of two different emojis. This is a catalog of all possible stickers. You can browse the stickers here.

Some more details

Which emojis are present?

Not all emojis are “valid”, which is to say, not all emojis have stickers. Also, the set of all valid combinations is not equal to the Cartesian product of the set of all valid emojis with itself. Some emojis combine with all other valid emojis, while some only combine with select others.

There are currently a total of 17927 stickers in the catalog. More detailed information as to how many stickers there are for any individual emoji can be found by analyzing the json documents available for download along with the full catalog below.

How did you get these?

I could not find a complete catalog of all these stickers published by Google or anyone else. I noticed that Gboard gets the stickers by sending a request to an API which responded with links to the images. I simply queried the API with all possible combinations of emojis, collected the links, and downloaded them all. If you want the specific combinations I queried it with, you can download it below. There were a total of 7 108 335 combinations.

The API in question was located at the following url: https://tenor.googleapis.com/v2/featured and took three necessary parameters, the API key key, collection (which was always emoji_kitchen_v5), and the query q, which had the form e1_e2, where e1 and e2 were url-encoded emojis.

Supplying a single emoji for q would cause the API to respond with a few links to different combinations with that emoji, but not all.

I will not disclose the API key I used here, as I imagine that would be discourteous, but you can find the one your keyboard uses by using a proxy and intercepting traffic. I used HTTP Toolkit but there are others.

Finally, when collecting the data, I actually supplied 6 more parameters, which are not necessary (in that the API will respond correctly without them), but were supplied by Gboard: client_key=gboard, contentfilter=high, media_filter=png_transparent, component=proactive, locale, and country.

The zip archive containing the full catalog will also come with the snippets of python code that were used to collect the data.

Where can I get the full catalog?

You can download the complete catalog here. The size is currently ~265 Mb extracted. This file contains a directory stickers with all of the images, as well as two json files, fn_to_emoji.json, which maps filenames to the emoji combos, and the other emoji_to_combo.json which maps individual emojis to files containing combinations that used that emoji. It will also contain build_catalog.py which contains code that can be used to find all the stickers yourself. It should be noted that the file is not a standalone script, is not exactly the code that I used and will require slight modifications before it works on your machine.

The code requires a json file containing all possible pairs of emojis. You can download a version of the catalog that contains this file as well here. Size is ~640 Mb extracted.

Contact info

If you have more questions, or have noticed a problem with the catalog, such as missing combinations or incorrect incombinations, please email me at mustafa@motiwala.ca.