Convert any video clip to high-quality animated GIF. Control frame rate, duration, and dimensions. Palette optimization for smaller file sizes. Perfect for memes, reactions, and social sharing.
GIF is a 1987 format that should have died two decades ago but stuck around because every platform and messaging app renders it without plugins. Its limitations are severe: 8-bit indexed color (256 colors maximum per frame), no audio, and LZW compression that is inefficient compared to any modern video codec. Converting a 5-second 1080p video clip to GIF commonly produces a file 5-15x larger than the equivalent MP4 at better visual quality. So why convert at all? Because Twitter, Slack, Discord, email clients, and GitHub all auto-play GIFs inline while MP4 support varies. For a short reaction or product demo, GIF is still the format of least friction. The conversion pipeline is constrained by those format limits. Every frame of full-color video must be quantized from 16.7 million possible colors down to a 256-color palette. Do this naively and you get banded, posterized output; do it with a good palette algorithm and it looks surprisingly decent. This tool uses adaptive palette generation, sampling the source frames to pick the 256 most-used colors, rather than a fixed palette, which typically cuts perceived quality loss by 50-70% compared to web-safe palette quantization. Dithering scatters small errors across adjacent pixels to simulate colors the palette cannot represent directly.
Initializing in your browser…
Create animated GIFs from multiple images with custom frame timing, size presets, and loop options. Drag and drop to reorder frames, set individual delays, and preview your animation in real-time.
Trim and cut videos precisely with frame-by-frame scrubbing. Set start/end points visually, preview clips in real-time, and export trimmed videos instantly. No upload required - runs 100% in browser.
Convert videos between MP4, WebM, OGG, MOV, AVI, and MKV formats. Device presets for YouTube, Instagram, TikTok, iPhone, Android. Quality options from fast to high quality encoding.
A 4-second UI interaction needs to be a lightweight looping GIF for a changelog.
Input
interaction.mp4 00:00→00:04 · 15 fps · width 600
Output
interaction.gif, ~4 s loop, optimised palette
Lowering fps and width plus palette optimisation keeps the GIF small, since GIF is bytes-expensive; 15 fps is usually smooth enough for UI motion. The trim and conversion happen in one local step.
GIF is a 1987 format that should have died two decades ago but stuck around because every platform and messaging app renders it without plugins. Its limitations are severe: 8-bit indexed color (256 colors maximum per frame), no audio, and LZW compression that is inefficient compared to any modern video codec. Converting a 5-second 1080p video clip to GIF commonly produces a file 5-15x larger than the equivalent MP4 at better visual quality. So why convert at all? Because Twitter, Slack, Discord, email clients, and GitHub all auto-play GIFs inline while MP4 support varies. For a short reaction or product demo, GIF is still the format of least friction. The conversion pipeline is constrained by those format limits. Every frame of full-color video must be quantized from 16.7 million possible colors down to a 256-color palette. Do this naively and you get banded, posterized output; do it with a good palette algorithm and it looks surprisingly decent. This tool uses adaptive palette generation, sampling the source frames to pick the 256 most-used colors, rather than a fixed palette, which typically cuts perceived quality loss by 50-70% compared to web-safe palette quantization. Dithering scatters small errors across adjacent pixels to simulate colors the palette cannot represent directly.
Capture expressive moments from videos to create reaction GIFs for messaging and social media.
Convert short product walkthrough clips into GIFs that play automatically in emails and on web pages.
Turn brief how-to clips into GIFs that loop continuously, ideal for documentation and help articles.
Record a screen capture of a bug and convert it to a GIF for quick embedding in issue trackers.
Dithering choices make a substantial difference in output quality. Floyd-Steinberg error diffusion is the classic algorithm: for each pixel, the quantization error gets distributed to neighboring unprocessed pixels with specific weights (7/16 right, 3/16 down-left, 5/16 down, 1/16 down-right). This produces smooth gradients at the cost of a characteristic fine-grained dither pattern, and it is the right default for photographic content. Ordered dithering uses a fixed matrix of thresholds, which produces more "patterned" output and larger files due to LZW's inefficiency on repeated patterns, useful for retro aesthetics, not for quality. No-dither quantization produces the smallest files but shows visible banding on any gradient.
Palette scope is another key decision. Per-frame palettes adapt to each frame's content, maximizing quality but preventing LZW from reusing palette indices across frames, this produces larger files with better per-frame quality. Global palette sampling from the whole video picks 256 colors that work reasonably for every frame, which hurts quality on scenes with very different color content but allows much better cross-frame compression. For most short clips (under 5 seconds) where color palette does not shift dramatically, global palette is the right choice and typically cuts file size 30-50% versus per-frame palettes.
The two most effective file-size levers for GIFs are framerate and dimensions. Dropping from 30 fps to 15 fps halves the frame count and roughly halves file size, and the reduction is rarely noticeable on short clips. Dropping resolution from 1080p to 480p or 720p cuts pixel count by 4-9x, typically bringing a massive 60 MB GIF down to a manageable 8-12 MB. For most practical uses (Slack reactions, blog post illustrations, bug report demos), 12-15 fps at 480-600 pixels wide produces GIFs under 5 MB with acceptable quality. Going higher than that is usually a sign you should have exported to MP4 or WebM instead.
GIF is an inefficient format. Reduce file size by lowering the frame rate, shrinking dimensions, shortening the duration, or increasing dithering. For web use, consider using a video format instead.
GIF supports only 256 colors per frame. The converter uses dithering and adaptive palettes to approximate the original colors as closely as possible.
For most uses, 10-15 FPS provides smooth-looking animation with reasonable file size. Higher frame rates look smoother but significantly increase file size.
Video is decoded and re-encoded on your own device. Large files never leave your machine.