Resize an Animated GIF
Animated GIFs are images but you can't really handle them link other types of images, like PNGs or JPEGs or even WebPs. GIFs are kind of a video file, because they have frames, but there's no real control over how they play or loop. My favorite image manipulation utility, ImageMagick, doesn't seem to be the best utility for animated GIFs -- another utility called gifsicle is as good as it gets. I showed you how to merge and optimize animated GIFs with gifsicle, and now let's look at resizing animated GIFs.
If you try to use ImageMagick's basic resize functionality, you'll end up getting the first frame output to the correct size. That's nice but you want to keep the GIF animated, right? Here are a few easy methods for resizing a GIF with gifsicle:
# Scaling of an image - 50% gifsicle --scale 0.5 -i animation.gif > animation-smaller.gif # Scale to a given width with unspecified height gifsicle --resize-fit-width 300 -i animation.gif > animation-300px.gif # Scale to a given height with unspecified width gifsicle --resize-fit-height 100 -i animation.gif > animation-100px.gif # Clip to size gifsicle --resize 300x200 -i animation.gif > animation-clipped.gif
You can use
scale to easily scale an image by a given factor, but you can also use
--resize-fit-width to scale to respective sizes. You can also clip with
--resize. The output stays animated and you have your animated GIF at the desired size!
This is great! Thank you for the share!!!! I love using animated gifs.
Thanks for sharing your experience. It’s gonna be useful for me and I will be able to resize this damn gifs.
This is very useful! Thank you!!! By the way, I’d like to add a way to batch resize your GIF files. (Keep in mind, however, that your files will be overwritten, so be sure to keep a backup of the originals before proceeding:)
This command will rescale all GIFs in the “input” directory to half the original dimensions: