In-depth guides, tutorials, and technical references for working with animated GIFs and digital animation formats. Learn how to compress, convert, and optimise animated images for the web, email, and social media.
This site covers everything you need to know about animated GIF creation, optimisation, and best practices — from beginner tutorials to deep technical dives.
Learn how palette optimisation, dithering algorithms, and frame-rate reduction work together to shrink GIF file sizes by up to 80% without visible quality loss.
Understand the trade-offs between GIF, WebP, AVIF, and video formats like MP4 and WebM — and when to use each one for maximum compatibility and performance.
Step-by-step guides for using FFmpeg's palettegen and paletteuse filters, the most powerful free tools available for high-quality GIF encoding.
Email clients have strict limitations on animation support. Learn the specific settings that produce small, compatible GIFs that work across Gmail, Outlook, and Apple Mail.
Auto-playing animations can cause harm to users with vestibular disorders. We cover WCAG 2.1 compliance, prefers-reduced-motion, and accessible animation patterns.
Objective comparisons of popular GIF tools — Gifski, EZgif, GIMP, ImageMagick, and FFmpeg — tested on real-world source files with measured quality scores.
In-depth tutorials and technical guides on animated GIF creation, optimisation, and best practices.
GIF remains the most universally supported animated image format, but WebP and AVIF offer dramatically smaller file sizes. We compare browser support, quality, and use cases to help you choose the right format for every context.
Email clients strip JavaScript and block autoplay video, making GIF the only reliable way to include animation in email. Learn the palette and frame-rate settings that keep your GIFs under 1 MB while maintaining visual impact.
FFmpeg's palettegen and paletteuse filters are the most powerful free tools for GIF compression. This guide explains every parameter — stats_mode, diff_mode, dither, and bayer_scale — with real-world examples.
A looping GIF that jumps at the seam looks unprofessional. We walk through trimming, crossfade blending, and reverse-loop techniques to create perfectly seamless animations for product demos and tutorials.
We tested five popular GIF compression tools on the same 50 source files and measured output size, quality (SSIM), and processing time. See which tool wins for each use case — from simple graphics to photographic animations.
Auto-playing animations can trigger vestibular disorders and violate WCAG 2.1 guidelines. Learn how to add pause controls, respect prefers-reduced-motion, and write meaningful alt text for GIFs on your website.
The GIF format was introduced by CompuServe in 1987 and uses LZW (Lempel–Ziv–Welch) lossless compression. Each frame stores up to 256 colours from a palette chosen from the full 24-bit colour space. The compression ratio depends heavily on how well the palette represents the actual colours in the image and how much repetition exists between adjacent pixels.
Modern GIF optimisation tools use a two-pass approach: the first pass analyses all frames to build a global or per-frame palette that minimises colour quantisation error; the second pass encodes each frame using that palette with a chosen dithering algorithm to distribute the quantisation error across neighbouring pixels, reducing visible banding.
The LZW algorithm achieves its best compression ratios on images with large areas of uniform colour and horizontal repetition. This is why simple graphics and screen recordings compress far better than photographic animations — a gradient or natural scene has far less horizontal repetition for LZW to exploit.
Palette size is the single most impactful parameter. Reducing from 256 to 64 colours often cuts file size by 30–40% with minimal visible quality loss on most animations. For animations with few colours (screen recordings, simple graphics), 32 or even 16 colours can be sufficient.
Frame rate is the second lever. Halving the frame rate from 24 fps to 12 fps roughly halves the number of frames and therefore the uncompressed data, though the LZW compression means the actual file size reduction is typically 30–45%. For most web GIFs, 8–12 fps is imperceptible to viewers.
Spatial scale compounds with both of the above. Reducing a 1080p source to 480px wide before encoding reduces the per-frame pixel count by 80%, which dramatically reduces both the palette requirements and the LZW input size. For social media and messaging apps, 480px is the practical maximum useful width.
| Use Case | FPS | Colours | Scale | Dither |
|---|---|---|---|---|
| Email attachment | 5–8 | 32–64 | 50% | Bayer |
| Social media (Twitter/Slack) | 8–12 | 64–128 | 75% | Sierra2 |
| Web page hero animation | 12–15 | 128–256 | 100% | Sierra2 |
| Messaging apps (iMessage/WhatsApp) | 8–10 | 64 | 50% | Bayer |
| Product demo / tutorial | 10–15 | 128 | 75% | Sierra2 |
Common questions about GIF compression, conversion, and animated image formats.
A curated directory of tools, libraries, and references for working with animated images.
Official reference for all FFmpeg filters including palettegen and paletteuse.
Create GIFs from YouTube videos or uploaded clips directly in the browser.
Comprehensive suite of online GIF tools including editor, splitter, and optimiser.
High-quality GIF encoder based on libimagequant, available as CLI and macOS app.
Free image editor with frame-by-frame GIF editing and export capabilities.
Lightweight JSON-based animation format — a modern alternative to GIF for web UI.