Free Video to GIF Converter

Convert video clips to high-quality animated GIFs with a two-pass palette method.

Your files never leave your device

Drag & drop a video file here

or click to browse · MP4, WebM, MOV, AVI, MKV (max 2 GB)

What video-to-GIF conversion actually does

Converting video to GIF involves three concurrent transformations: frame extraction (the video's continuous timeline is sampled at a fixed rate, typically 10 to 24 fps), palette quantization (each frame is reduced from 16 million colors to at most 256 from a chosen palette, because GIF can only store 256 colors per frame), and LZW compression (the indexed palette frames are compressed with the same lossless algorithm GIF has used since 1987). The result is a single file containing all the frames, the palette, and timing information, playable on any device that supports GIF (which is essentially every device made in the last 30 years).

The palette step is where quality is gained or lost. A naive single-palette approach picks 256 colors that approximate the whole clip, which works for grayscale content but fails on color-rich footage (skin tones banded, gradients posterized). The two-pass palette approach this tool uses runs FFmpeg's palettegen filter first to analyze every frame and build an optimized 256-color palette, then runs paletteuse with dithering to map each pixel of every frame to the nearest palette color. The result is dramatically better quality at the same file size, especially on faces, sunsets, and high-color content.

GIF compression efficiency is poor compared to modern video. A 5-second 480p clip might be 500 KB as MP4 (H.264) but 8 to 15 MB as GIF at the same dimensions. This is fundamental to the format, not the encoder: LZW from 1987 cannot compete with H.264 or VP9. To keep GIFs small, you have three levers: lower frame rate (10 fps versus 24 fps roughly halves size), smaller dimensions (480px wide versus 800px wide is more than 2x smaller), and shorter duration (5 seconds versus 10 seconds is exactly half). All three are surfaced as controls in this tool.

How this tool works under the hood

Same ffmpeg.wasm engine as the other video tools: FFmpeg compiled to WebAssembly via Emscripten, ~30 MB browser-side binary, runs entirely in the tab via SharedArrayBuffer multi-threading. When you drop a video, the file is read into the WebAssembly virtual filesystem via a streaming reader.

The two-pass conversion runs as two distinct FFmpeg invocations. First pass: -i input.mp4 -ss 0 -t 5 -vf "fps=10,scale=480:-1:flags=lanczos,palettegen" palette.png. This trims to the chosen range, samples at the target frame rate, scales to the target width with Lanczos filtering, and generates an optimized palette. Second pass: -i input.mp4 -i palette.png -ss 0 -t 5 -filter_complex "fps=10,scale=480:-1:flags=lanczos[x];[x][1:v]paletteuse=dither=bayer:bayer_scale=5" output.gif. This applies the same trim/fps/scale and then maps each frame's pixels to the palette using Bayer dithering for smoother gradients.

The Bayer dithering pattern is a deterministic 8x8 ordered dither matrix that distributes quantization error across neighboring pixels, making banding less visible at the cost of a faint cross-hatched texture. Other dither modes (Floyd-Steinberg, Sierra) produce smoother results but at the cost of slightly larger file size. Progress messages stream from FFmpeg's stderr and update the on-screen progress bar in real time. The resulting GIF is built in memory and offered as a download via the browser's blob API.

Brief history of the GIF format

How It Works

  1. Upload your video: Select an MP4, WebM, or MOV file. For large videos, you can trim to the section you want to convert.
  2. Set GIF options: Choose frame rate, dimensions, and optionally set the start and end time to extract a clip.
  3. Download the GIF: Click Convert and download the animated GIF file.

Why Use Video to GIF Converter?

Animated GIFs are the universal format for short looping clips, compatible everywhere including chat apps, social media, emails, issue trackers, and documentation. But MP4 and WebM videos won't loop or embed the same way GIFs do. Converting short video clips to GIF is the go-to technique for reaction clips, demo loops, tutorial highlights, and shareable moments. This browser-based tool handles the conversion without requiring software or cloud processing.

Features

Real-world GIF conversion workflows

Common pitfalls and what they mean

Privacy: your video never leaves your device

Cloud video-to-GIF services (Giphy's upload converter, ezgif.com, Convertio, dozens more) all upload your full video, run FFmpeg on their hardware, and send back the resulting GIF. For a 200 MB phone video that's 200 MB up plus 5 to 30 MB down through their infrastructure. Video content commonly includes faces, locations, audio of conversations (which a GIF would discard but the operator still has), screen recordings of private interfaces. Most operators publish privacy policies committing to delete uploads within 1 to 24 hours and encrypt in transit, and major ones hold ISO/IEC 27001 certifications. They have strong business reasons to honor those policies. But "deleted within an hour" is not "never seen." During that window the file sits on operator infrastructure, accessible to any process or person with the right permissions, visible in logs and backups per the operator's retention policy.

This tool never uploads anything. The full pipeline (file selection, decoding via browser-native readers, palette generation and GIF encoding via ffmpeg.wasm WebAssembly, download via the browser's blob API) runs inside your browser tab. No uploads, no network requests carrying video data, no log entries. You can verify by opening browser dev tools on the Network tab before converting: no requests leave with video content. Only the initial page load and the one-time roughly 30 MB ffmpeg.wasm download (cached for subsequent visits) touch the network. Put the browser in airplane mode after page load and the converter still works on local files.

When another tool is the right pick

Frequently Asked Questions

Why is my GIF file so large?

GIFs use an older compression algorithm (LZW) that is far less efficient than modern video codecs. A 5-second clip can easily be 5-20 MB as a GIF but only 500 KB as MP4. Reduce GIF size by lowering the frame rate, dimensions, and clip length.

What is the maximum video length I can convert?

There is no enforced limit, but GIFs from long clips become extremely large. For best results, keep GIF clips under 10 seconds. For longer animations, consider using a short looping clip from the best part of your video.

Can I convert GIF back to video?

Technically yes, a GIF is just a series of frames. But since GIFs use limited color palettes and low frame rates, the resulting video quality is typically lower than the original. Use the original video source for the best quality output.

Other frequently asked questions

What frame rate should I use?

10 to 15 fps is the sweet spot for most GIFs: smooth enough to read as motion, small enough to keep file size manageable. 24 fps gives smoother motion but roughly doubles file size compared to 12 fps. 5 fps is fine for slow content (talking heads, slow demos) and minimizes size. The human eye perceives motion at 10 fps and above; below that it looks like a slideshow.

Why does my GIF look color-banded compared to the video?

GIF stores only 256 colors per frame versus 16 million in video. Smooth gradients (skies, skin tones, sunsets) get banded into visible steps. The two-pass palette method this tool uses reduces this significantly compared to naive single-pass conversion, but cannot eliminate banding entirely. For best results, source content with strong contrast and few smooth gradients converts cleanly; smooth-gradient-heavy content stays imperfect even with optimal palette.

Should I use MP4 instead of GIF?

Often yes. MP4 with autoplay+loop+muted gives the same looping experience at 5 to 10x smaller file size with full 16-million-color fidelity. The catch: not every platform supports inline MP4 loops the way they support GIF. Twitter, Reddit, Discord, GitHub Issues, and most modern sites do; some legacy email clients, chat apps, and forums only support GIF. Pick MP4 if your target audience uses modern platforms; pick GIF for maximum compatibility.

Why is the second pass slower than the first?

The first pass (palettegen) only analyzes color statistics; it doesn't write a final output, just builds a 256-color palette. The second pass (paletteuse) actually maps every pixel of every frame to the nearest palette color, applies dithering, and encodes the GIF stream. The pixel-mapping step is what takes the most CPU time, especially with dithering enabled. For a 5-second 480p 10fps GIF, expect 5 to 30 seconds total processing time depending on your CPU.

Is there a desktop or command-line equivalent?

Yes. FFmpeg CLI is the canonical tool, using the same two-pass approach: ffmpeg -i input.mp4 -vf "fps=10,scale=480:-1:flags=lanczos,palettegen" palette.png then ffmpeg -i input.mp4 -i palette.png -filter_complex "fps=10,scale=480:-1:flags=lanczos[x];[x][1:v]paletteuse" output.gif. Gifski is a Rust-based tool that produces higher-quality GIFs than FFmpeg using per-frame palettes (larger files, better quality). Photoshop's Save for Web (Legacy) for GIF is the classic GUI workflow for graphic designers.

Does GIF support transparency?

Yes, but only binary (1-bit) transparency: each pixel is either fully opaque or fully transparent, no partial alpha. This is why GIF logos and icons with smooth edges look "jagged" against varied backgrounds. For smooth alpha-blended animation, use APNG (animated PNG) or animated WebP, both of which support 8-bit alpha per pixel. This tool's output does not preserve source transparency by default; if your video has transparent regions, they're filled with the chosen background color.

Related Tools

Video Trimmer

Video Compressor

Video Converter

Image Converter