IconFlow emotes · 24 reactions · public domain
Emotes that are still themselves at 22 pixels.
Chat draws an emote at 22 to 28 pixels, on white and on dark, from the file you uploaded. So this set was drawn for those pixels: every face sits on the rounded-square card IconFlow ships as an app icon, every line is thick enough to survive, and no two members read as the same reaction.
CC0: use them anywhere, change them, sell what you make. No credit needed.
mika we shipped the release

jo the build was green on the first try? 
mika first try. no rebase. 
sam i have been staring at the diff for an hour

12
7
4
2
mika we shipped the release

jo the build was green on the first try? 
mika first try. no rebase. 
sam i have been staring at the diff for an hour

12
7
4
2
The set
Shown as platforms show them: each image is the 128-pixel upload, scaled down by your browser. The small pair under each one is 22 and 28 pixels on light and dark chat.
-

Tears of joy
:joy: -

Sobbing
:sob: -

Heart eyes
:love: -

Grin
:grin: -

Smile
:smile: -

Wink
:wink: -

Thinking
:think: -

Sunglasses
:cool: -

Eye roll
:eyeroll: -

Shocked
:shock: -

Angry
:angry: -

Sweat smile
:sweat: -

Skull
:skull: -

Party
:party: -

Mind blown
:mindblown: -

Sleeping
:sleepy: -

Thumbs up
:thumbsup: -

Thumbs down
:thumbsdown: -

Clap
:clap: -

Folded hands
:pray: -

Fire
:fire: -

Heart
:heart: -

Eyes
:eyes: -

Party popper
:tada:
Proven as a family
One family. No twins.
A set has to pass two tests that pull in opposite directions: its members must look related, and no two may be the same reaction at chat size. iconflow family measures both. It finds the 16 faces' shared card from their 16-pixel fields alone, sets it aside, and compares what is left. The closest siblings are sunglasses / eye roll at 0.50, tears of joy / grin at 0.52, against a floor of 0.33.
The first draft's wink was the smile with one eye closed. It came back at 0.31 — a twin — and at 22 pixels it was: one eye is two pixels. The wink you see squeezes its eye shut and opens its grin.
iconflow family wrote for this set.Make your own
Same checks, your emotes.
The packs above come out of the same build target anyone can run. Draw on the 1024 grid, then let IconFlow write every platform size, refuse a file over its upload limit, and tell you which of your emotes are twins.
pip install iconflow
iconflow setup
iconflow build my-emote.svg --targets emote --out out
iconflow family "emotes/*.svg" --sheet family.png