# Emoji Gen > Turn any image into animated Slack emoji. Free online emoji maker: upload a picture and get 40+ animated emoji styles — shake, spin, party, pet, mind-blown and more — as GIF, WebP or APNG, sized for Slack and Discord and kept under Slack's 128 KB limit. Site: https://emoji-gen.com/ ## Key facts - Input: PNG, JPG, GIF (up to 60 frames) or WebP, up to 5 MB, by upload, URL or clipboard paste. - Output: animated GIF, WebP or APNG at 32, 64, 100, 112, 128 px; single-frame results are PNG. - Slack: 128×128 px default; each result reports whether it is under Slack's 128 KB limit and can be shrunk to fit. - Settings: speed, direction, size, colour mode (party, rainbow, deep-fried, x-ray, grayscale, strobe), crop fit/fill. - Privacy: uploads and renders are deleted after 24 hours; no accounts. - Open source, self-hostable (Flask + Pillow, Docker image); custom sprite styles via a manifest folder. ## Styles (42) ### Motion - :none: — The image as-is, resized — a plain static emoji. - :bop: — Side-to-side head bob with a squish — pair with the Party colour for the classic look. - :shake: — Rapid random jitter — the classic “intensifies” look. - :nesting: — Smaller copies slide out from behind the image, then tuck back in. - :enter: — Slides in from off-screen and settles. - :exit: — Waits a beat, then slides off-screen. - :conga: — A line of small copies dancing across. - :bounce: — Bounces up and down with a little squash on landing. - :spin: — Rotates a full turn in the chosen direction. - :wiggle: — Rocks gently from side to side. - :pulse: — Breathes in and out. - :slide: — Scrolls across the canvas and wraps around. - :flip: — Flips around its vertical axis like a coin. - :roll: — Spins while rolling across the canvas. - :zoom: — Grows from tiny to huge and fades out. ### Reaction - :love: — Hearts float up. - :mind-blown: — The top of the image blows off with a bang. - :hype: — Bouncing with sparkles circling. - :cheering: — Bouncing with a party popper and confetti. - :sad: — Blue and droopy, with a rolling tear. - :panic: — Frantic jitter with a red flush. - :rage: — Shaking and seeing red, anger mark included. - :thinking: — Tilts pensively as a thought bubble appears. - :sparkle: — Gently pulsing with sparkles orbiting. ### Stickers - :pet: — A hand pats the image, which squishes with each pat. - :cool: — Sunglasses drop in — deal with it. - :hat: — Wears a wobbling top hat. - :crown: — Crowned, with a sparkle. - :sleepy: — Nodding off with a drifting zzz. - :ghost: — Turns translucent while a ghost peeks in. - :fall-leaves: — Autumn leaves drift down around it. - :money: — Bills rain down. ### Costumes - :party-parrot: — Head on a parrot body: the body cycles through the rainbow while the head bobs side to side. - :jammies: — Head on a striped pyjama body, swaying sleepily with a drifting zzz. ### Scenes - :rainbow-trail: — Flies along leaving a rainbow trail. - :hyperspace: — Jumps to lightspeed through a star field. - :amaze: — Pops against a spinning rainbow backdrop. - :on-fire: — Flames flicker along the bottom. ### Effects - :glitch: — Digital glitch: colour channels split and rows tear. - :fade: — Fades out and back in. - :flash: — Flashes brighter every few frames. - :dim: — Brightness breathes between full and half. ## FAQ **Will the emoji work in Slack?** Yes. Renders default to 128×128 px, and every card shows the file size with a “Slack ✓” badge when it is under Slack's 128 KB limit. If a style comes out larger, the “Fit” button re-renders it with fewer colours, frames or pixels until it fits. Discord's 256 KB limit is satisfied automatically. **Which formats can I download?** Animated GIF (default), animated WebP and APNG. A style with a single frame is delivered as PNG. **What happens to my image?** Uploads and the emoji rendered from them are kept on the server for 24 hours so the grid loads quickly, then deleted. There are no accounts and nothing is shared. **Can I use an animated GIF as the source?** Yes — up to 60 frames. The style is applied to every frame, and the “none” style simply resizes the animation. **Can I add my own artwork or characters?** Yes. Self-hosted installs can drop a sprite plus a small manifest into a custom-styles folder to create new costume or overlay styles without changing code. **Is it free?** Yes. Emoji Gen is free to use and open source; you can also run it yourself with Docker. ## API - POST /api/images (multipart file, or JSON {url} / {sample}) -> {image_id, width, height, animated, frames} - GET /api/styles -> styles, categories, colour modes and allowed settings - GET /api/render//