
To compress a GIF, choose the file in the tool below, reduce its width or colour count, and select Compress GIF. Compare the original and processed animations before downloading. You can also skip frames to reduce the amount of animation data.
GIF Compressor
Compress GIF files in your browser while keeping the animation. Reduce dimensions, colours or frame count, compare the result and download. No image uploads.
One GIF · up to 20 MB, 4 megapixels, 300 frames and 2 minutes. A 120-million total frame-pixel limit protects device memory.
Aspect ratio stays locked.
Skipping frames reduces smoothness while keeping the overall duration. Smaller dimensions and fewer colours may lose detail. Original loop behaviour is retained.
Original GIF
Processed GIF
Choose a GIF to begin.
Files stay on your device. Transparency and frame disposal are handled during animation reconstruction. Very short frame delays are normalised to 100 ms for playback compatibility. Re-encoding removes comments and non-animation extensions; it is not metadata-preserving. A smaller result is not guaranteed. Preview before downloading and keep your original.
How to make a GIF smaller
- Select a GIF from your device. Start with an original copy so you can compare results.
- Try 75% or 50% dimensions and 128 colours. Keep every frame initially.
- Compress and compare file sizes, sharpness, colour gradients and movement.
- If necessary, try 64 colours or keep every second frame. Download the result once you are happy.
Reduce dimensions first
A smaller width means fewer pixels in every frame. Reducing both dimensions to 50% leaves one quarter of the original pixel count, although that does not guarantee a 75% file-size reduction. Use custom width for the size you actually need; height follows the original aspect ratio.
Reduce the colour palette
GIF uses indexed colours. Fewer palette colours can make simpler images more compact but can create visible bands in gradients. Start with 128 colours and compare 64 or 32 for flat illustrations. Up to one palette entry per frame is reserved for transparency.
Reduce frames without speeding up the animation
Keeping every second or third frame removes intermediate views. Their display times are added to the retained frames, preserving total duration while making movement less smooth. Very short source delays of 0 or 10 ms are normalised to 100 ms, matching common browser playback behaviour.
Will my GIF stay transparent?
The tool reconstructs frames using their transparency and disposal instructions, then re-encodes the result. GIF transparency is fully transparent or fully opaque. Check moving edges on the preview checkerboard.
Why is the compressed GIF larger?
The original may already use compact partial-frame updates or a better palette for its content. This tool encodes complete reconstructed frames, so re-encoding alone can increase the file size. Try smaller dimensions or fewer frames, or download the original instead.
Can I compress a GIF to a specific file size?
This version does not guarantee a target such as 1 MB. Adjust dimensions, colours and frames, then check the measured output size. If a form has a limit, leave a little margin below it.
Limits and privacy
Processing happens on your device with no GIF uploads. Inputs are limited to 20 MB, 4 megapixels per frame, 4096 pixels per edge, 300 frames and two minutes. The combined frame-pixel limit is 120 million. For example, a 1000 × 1000 GIF with 100 frames has 100 million frame pixels. A complex file may exceed your device’s capacity even within these limits; use a smaller source if needed.
Keep your original animation
Re-encoding changes the file and removes comments and non-animation extensions. Download the processed GIF before leaving the page. Keep your original for later edits or if you prefer its quality.
Behind the result
The browser decodes the animation, reconstructs each visible frame, reduces the image data and writes a new GIF.
Reconstruct frames
The local GIF decoder reads frame rectangles, palettes, transparency, delays and disposal methods. Frames are composed in sequence, including restore-to-previous and clear-to-background behaviour.
Resize and select frames
Frames are resized with nearest-neighbour sampling. When skipping frames, their delays are added to the retained frames to preserve duration. Sub-20 ms source delays are normalised to 100 ms for common browser playback behaviour.
Reduce colours
A local colour quantizer builds a smaller palette for each frame. Pixel colours are mapped to palette indexes, with one entry reserved for transparency. There is no dithering, so smooth gradients may show banding.
Encode a new animation
The encoder writes complete frames with GIF LZW compression and retains the original loop count. Comments and non-animation extensions are not copied. The result can be larger than an already optimised source, particularly one using small partial-frame updates.
Explore the details: Browser encodingImage formats — MDN
