Animated emote resizer

Moving emotes for Twitch and Discord, resized frame by frame and squeezed under the limit, on this device.

Resize an animated GIF emote to Twitch’s 112, 56 and 28 pixel GIFs under 1 MB and 60 frames, or a Discord animated emoji under 256 KB. It is free, needs no account and adds no watermark, and your files are not uploaded: everything runs in your browser on your device. The size limit is your device’s memory, and phones hold less; give the page a short while after one visit to save itself for offline use, and then it works offline.

Drop animated GIF emotesor click to choose files. Batches welcome.
    Working…

    Done

    Your files are processed on this device and never sent to a server. Reload the page to clear everything from memory.

    Twitch animated emotes are uploaded as three GIFs, 112, 56 and 28 pixels square, each under 1 MB and no longer than 60 frames. An animation exported from Procreate, Aseprite or a video clip is usually bigger on every count, and the dashboard rejects it without saying which limit it broke.

    Drop the GIF here and every frame is redrawn into each square, fitted with transparent space or cropped to the centre. If a size comes out over the limit, stronger colour reduction is tried first, then every second or third frame is dropped with its time given to the frame before, so the loop keeps its speed. The result list shows the frame count and flags anything still over.

    Switch the platform to Discord emoji for a 128 pixel animated emoji under 256 KB, or Slack for 128 KB. A still GIF or a PNG dropped here comes out as normal still emotes.

    How it works

    1. Drop one or more animated GIFs.
    2. Keep Twitch, or pick Discord or Slack emoji.
    3. Press Resize the GIFs and upload each size in the emote 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

    Why did some frames go?

    Twitch refuses animated emotes over 60 frames, and small file limits sometimes need fewer frames too. Dropped frames hand their display time to the frame before, so the animation lasts as long as the original, just a little less smooth.

    The edges look jagged.

    GIF has on-or-off transparency, not soft edges, so anti-aliased outlines on a transparent background turn into a hard fringe. Drawing the emote with a solid outline, or on a background colour close to Twitch’s dark chat, hides it.

    What do viewers with animations off see?

    Twitch shows them a still frame of the emote instead, so make sure the first frame reads well on its own, not just the loop as a whole.

    Is the file uploaded anywhere?

    No. There is no server in this process. The page is a static file and the work is done by code running inside your browser tab. Give the page a short while after one visit to save itself for offline use; then you can turn off Wi-Fi and it still works.

    More image tools

    Other conversions