How to resize a GIF
- Drop one or more GIF files into the box above, or click it to choose them.
- Pick a size: 50%, 25%, a common width such as 128 px, or type your own width or height. With Keep proportions ticked, fill in one box and the other follows.
- Leave Look on Smooth for photos, video clips and drawings. Choose Sharp pixels for pixel art and game sprites.
- Compare the original and the resized GIF playing side by side, then download it. Several GIFs can be saved together as a ZIP.
Your original stays as it was. The new file is named after it with the new size added
(dance-240x180.gif).
Why a resized GIF often stops moving
A GIF is a stack of frames with a delay after each one. Most image tools, including the resizer built into your browser’s drawing canvas, only ever see the first frame: they draw it, scale it and save it as a new picture. Our own Resize Image tool works that way too, which is fine for photos and is exactly why this separate page exists. Here every frame is resized inside the GIF itself, the delays are copied across, and after resizing the new file is read back so the line under the result can tell you the frame count and loop length it actually has, not the ones it was supposed to have.
What we measured
A GIF can only use 256 colours per frame. When it shrinks, two neighbouring pixels — say yellow and black at the edge of an emoji — blend into a colour the palette may not have. The engine we use, Gifsicle, normally snaps that blend to the nearest colour already in the palette. It can also be allowed to add the in-between colours. We resized five test GIFs to half their width both ways and compared every frame with a careful reference resize (Pillow’s Lanczos filter on the full-colour frames). The error is the average colour difference (ΔE) on every third pixel: under 1 is invisible, around 2 to 3 is the smallest difference most people can spot side by side.
| Test GIF | Original | Palette only | In-between colours (this page) |
|---|---|---|---|
| Emoji on a transparent background, 128×128, 24 frames | 10.5 KB | ΔE 3.27 · 3.9 KB | ΔE 2.70 · 3.9 KB |
| Screen recording, flat colours, 480×270, 60 frames | 14.3 KB | ΔE 0.73 · 5.6 KB | ΔE 0.57 · 5.7 KB |
| Slow pan across flat colour blocks, 400×300, 30 frames | 101.7 KB | ΔE 0.42 · 27.4 KB | ΔE 0.33 · 26.4 KB |
| Interface animation with smooth text, 480×270, 40 frames | 74.3 KB | ΔE 0.54 · 26.0 KB | ΔE 0.54 · 24.1 KB |
| Noisy video clip, its own palette on every frame, 400×300, 40 frames | 2.21 MB | ΔE 4.02 · 680 KB | ΔE 4.02 · 681 KB |
Allowing in-between colours helped most where it shows most: the transparent emoji and flat screen graphics, with 15 to 25 percent less colour error. On the video clip it made no difference, because that GIF already had a full palette on every frame. On its own the extra colours made files bigger (the emoji grew from 3.9 to 5.4 KB), so this page re-optimises each result afterwards, which brought the sizes back to what the palette-only version weighed. In every run, all frames and every delay came through unchanged.
Sharp pixels for pixel art
Blending is what you want for a photo and exactly what you do not want for a 32 pixel sprite, where each pixel was placed by hand. Sharp pixels copies pixels instead of blending them. Enlarged by a whole number it gives perfectly even blocks: our 128 pixel emoji at 300% matched a nearest-neighbour enlargement pixel for pixel, while the sharper-looking Lanczos and Catmull-Rom filters flipped 0.3 to 0.4 percent of all pixels between transparent and opaque along the outline. For shrinking pixel art, halving with Sharp pixels keeps every other pixel, so thin one-pixel lines can disappear; check the preview.
Common sizes
| Where it is going | Size to aim for | Then |
|---|---|---|
| Discord or Slack emoji | 128 px wide (square) | If it is over the size limit, Compress GIF |
| Twitch emote | 112, 56 and 28 px | Twitch Emote Resizer makes all three at once |
| Reaction GIF in a chat or forum post | 320 to 480 px wide | Usually small enough as it is |
| README, documentation or email | 640 to 800 px wide | Consider GIF to MP4 where video is allowed |
Need a different shape rather than a different size? Crop GIF cuts the frame to a square, 16:9 or any box first; then come back here for the exact pixel size.
Private by design
The GIF engine is Gifsicle, the open-source command-line tool many GIF websites run on their servers, compiled to run inside your browser. It is downloaded once, works in a separate worker, and your GIFs never leave your device. See where your files go for how every tool on this site handles files.