Slack emoji resizer
Square 128 pixel emoji under 128 KB from any picture or animated GIF, made on this device.
- Nothing is uploaded
- Works offline after first visit
- Open source
- No watermark · limit is your device’s memory; phones hold less
Resizes a picture or an animated GIF into a square 128 × 128 pixel Slack custom emoji and checks it against 128 KB, the size Slack recommends, keeping transparency. It is free, and your artwork is not uploaded: it is resized in your browser. The size limit is your device’s memory (phones hold less), and after one visit and a short wait the page works offline.
Done
Open the network tab. Your files never appear in it.
Add files and run the tool to see every request this tab makes.
Your files are processed on this device and never sent to a server. Reload the page to clear everything from memory.
Slack’s help page for custom emoji says square images under 128 KB with transparent backgrounds work best, that JPG, PNG and GIF files are accepted, and that a GIF can have up to 50 frames (checked 11 October 2026). Most artwork meets none of that: a logo exported at 1,000 pixels is far heavier, a screenshot has a white box around the face, and a short screen recording is hundreds of frames.
Drop the picture and this page trims empty transparent margins, fits what is left inside a 128 × 128 square (or crops to it, if you choose Crop to square), and saves a transparent PNG. A 128 × 128 picture cannot hold more than about 66 KB even with no compression at all (128 × 128 × 4 bytes), so a still emoji from this page is always under 128 KB.
An animated GIF is where the limit bites, and where the frame count matters. The page tries stronger colour reduction first, then keeps every second or third frame and hands each dropped frame’s display time to the one before, so the speed is unchanged. A 120-frame GIF is cut to 40 frames, every third one, to stay inside 50. The result line shows the frame count and flags anything still over 128 KB.
How it works
- Drop a picture or an animated GIF.
- Pick Crop to square for photos, or keep Fit inside for artwork with its own shape.
- Press Make the emoji, then add it in Slack’s custom emoji settings.
In your browser, not on a server
Your browser decodes each drawing (SVG, HEIC, AVIF and JPEG XL included) and, unless you untick it, finds the smallest box holding every visible pixel so the empty transparent margin is cropped away. The art is then scaled down in halving steps with high-quality smoothing, which keeps outlines cleaner than one big jump, fitted or cropped into each square, lightly sharpened at the smallest sizes with an unsharp mask, and saved as PNG by your browser. An animated GIF is decoded frame by frame with gifuct-js (MIT), each frame drawn into the square, and written back with gifenc (MIT), trying stronger colour reduction and fewer frames until it is under the limit.
Compared with upload-based tools: Emote resizer sites upload commissioned artwork and unreleased sub badges to a server, and many add a watermark to the preview or cap how many you can do. Here the drawings never leave your device and every size is made in one go.
Verify it yourself. Give the page a short while after one visit to save itself for offline use, then turn off Wi-Fi or switch to airplane mode and run the tool again. Or open your browser's developer tools (F12, or Cmd-Option-I on a Mac), pick the Network tab, and watch it while you convert. The panel above does the same count for you.
Questions
What size should a Slack emoji be?
Slack’s help page asks for square images under 128 KB. This page makes 128 × 128 pixels, which is plenty for the emoji picker and for text size in a message, so a larger upload only adds file size.
Why does my GIF come out with fewer frames?
Slack’s help page says a GIF can have up to 50 frames, and a small file limit sometimes needs fewer than that. Dropped frames give their time to the frame before, so the animation lasts as long as the original, just a little less smooth.
Does the emoji keep a transparent background?
Yes. A PNG keeps full transparency. A GIF has on-or-off transparency only, so soft anti-aliased edges can show a hard fringe against a dark theme; a solid outline in the drawing hides it.
Can I upload the same file to Discord or Twitch?
The size and limit differ. Use the Discord emoji resizer for Discord’s 256 KB limit and the Twitch emote resizer for its three sizes.
Why is my emoji blurry in Slack?
Emoji are shown at roughly the height of a line of text, so fine detail and thin lines vanish. A bold shape with a thick outline and few colours reads best; trim the empty margin so the subject fills the square.
Is my artwork uploaded?
No. The picture is read from your disk and the emoji is written back to your disk by code running in this tab, so an unreleased logo or an in-joke screenshot stays on your device.
More image tools
Emote resizer
Every size Twitch, Discord or Slack asks for from one drawing, with transparency kept, made on this device.
Collage maker
Put several pictures into one: a grid, a row or a stack. Done on this device, never uploaded.
Image to SVG
Logos, drawings and signatures traced into shapes that scale to any size, on your own device.
Resize GIF
Set a new width and height for an animated GIF, by percent or in exact pixels. The animation plays as before, and the GIF stays on this device.
Other conversions
- PNG to GIF
- JPG to GIF
- JPG to TIFF
- PNG to TIFF
- ICO to PNG
- HEIC to PNG
- HEIF to JPG
- PNG to JPG
- JPG to PNG
- WebP to PNG
- Twitch emote resizer
- Animated emote resizer
- Twitch sub badge resizer
- Discord emoji resizer
- Discord sticker resizer
- Increase image resolution
- Enlarge image
- Magic eraser
- Remove person from photo
- Remove text from image
- Sharpen image
- Brighten photo