Resize GIF
Change the dimensions of an animated GIF or video
Cut a GIF's Dimensions Down Without Cutting Its Quality
A GIF's file size scales with its pixel count far more aggressively than most people expect, since every frame stores a full palette-mapped image. Dropping the width from 640px to 480px, for instance, typically shrinks the file by around 40% even before any other compression is applied, and halving the width outright often cuts size by 50-70%. This tool runs the resize through FFmpeg compiled to WebAssembly, using a Lanczos filter (scale=width:height:flags=lanczos), a resampling method that produces noticeably sharper results than simple bilinear scaling, particularly on GIFs with fine detail or text.
For GIF output specifically, the resize pipeline runs a two-pass palette regeneration, first analyzing the resized frames to build an optimized 256-color palette with palettegen, then re-applying that palette with paletteuse, rather than reusing the original GIF's palette on now-differently-sized frames. Skipping that step is what makes naive GIF resizing look banded or muddy; this two-pass approach is why the output stays visually clean. The tool also accepts video files as input, in which case it resizes and outputs a standard MP4 instead of a GIF, using the same Lanczos scaling without the palette step.
How to Use
- 1
Upload a GIF or video file
Drop an animated GIF or a video file onto the upload area, or click to browse for one.
- 2
Pick a preset width or drag the slider
320, 480, 640, 800, and 1080px cover the common sizes, or type any custom pixel value directly.
- 3
Leave aspect ratio locked, or set a manual height
With the ratio locked, height is calculated automatically; uncheck it only if you need a specific non-proportional height.
- 4
Click Resize and download the result
FFmpeg processes the file locally with Lanczos scaling, and a GIF input goes through an extra palette regeneration pass for clean color output.
Key Features
- →Halving a GIF's width typically cuts its file size by 50-70%, dimensions matter more for GIF size than almost any other setting.
- →The Lanczos scaling filter used here produces sharper resized frames than the simple bilinear scaling many basic tools default to.
- →GIF output always regenerates its color palette after resizing (via a two-pass palettegen/paletteuse step), which is what prevents the banding a naive resize would cause.
- →480px covers Twitter/X, messaging apps, and most social platforms comfortably; 640-800px suits web embeds; 1080px is better reserved for high-resolution displays or blog headers.
- →For maximum file size reduction, resize first and then run the result through Optimize GIF, doing both in sequence compounds the savings.
- →A video file dropped in here resizes to an MP4 output using the same Lanczos scaling, without the GIF-specific palette step.
Frequently Asked Questions
Why does reducing a GIF's width shrink the file so much more than expected?
GIF frames are stored as full palette-mapped images, so pixel count drives file size directly. Cutting the width from 640px to 480px alone typically reduces the file by around 40%, and halving it can cut size by 50-70%.
What does the palette regeneration step actually fix?
Resizing frames without rebuilding the color palette can leave the GIF looking banded or muddy, since the original palette was optimized for the old pixel layout. A two-pass palettegen/paletteuse step rebuilds an optimized palette for the new, resized frames.
Can I resize a video file with this tool instead of a GIF?
Yes, dropping in a video file resizes it the same way using Lanczos scaling, and the output comes back as an MP4 rather than a GIF, skipping the palette regeneration step that's specific to GIF color handling.
Should I resize before or after compressing a GIF?
Resize first, then run the smaller-dimension result through the Optimize GIF tool. Doing both in that order compounds the file size reduction rather than optimizing an oversized GIF first.
What width should I pick for a GIF meant for social media?
480px works well for Twitter/X, messaging apps, and most social feeds. 640-800px suits embedding on a website. Reserve 1080px for high-resolution displays or detailed blog content.
Last updated: June 2026