Why this video to GIF converter is fast on Clipy
A "good" GIF needs a two-pass palette. The first pass walks every frame of your clip and picks the 256 colors that best represent it; the second pass dithers your frames against that custom palette. That's expensive — on browser-wasm ffmpeg it's the step that pegs CPU for the entire run. Native ffmpeg on dedicated workers churns through both passes in a fraction of the time, especially on longer clips. Your upload also bypasses the slow leg most free converters force on you: a presigned URL ships bytes straight to the nearest Backblaze B2 POP, and the finished GIF is delivered through Bunny CDN. No transatlantic upload, no queue, no wasm decode bottleneck.
What this tool does, exactly
The pipeline is palettegen=stats_mode=diff on the full clip, then paletteuse=dither=bayer:bayer_scale=5 on the encode. That's the ffmpeg recipe with the best results-per-byte for short-form content — much sharper than the default 256-color web table and cleaner than naive floyd-steinberg dithering. Output is a single GIF file, looping by default. Frame rate and width default to chat-friendly sizes (~12-15 fps, ≤ 640 px wide), tunable in the tool above. Audio is discarded — GIFs do not carry audio tracks.
When a GIF beats a video — and when it loses
GIFs still win in three places: a short reaction loop, an embedded animation in a README or doc where you cannot count on a video player rendering, and any context that strips HTML5 video. Outside those, a video almost always wins. For a tutorial, a multi-second walkthrough, or anything with readable text, an MP4 is smaller, sharper, and seekable. A 15-second 720p GIF can easily hit 15-25 MB; the same clip as MP4 is often under 2 MB. If you find yourself dragging the width slider down just to get the size under a limit, that's the signal you wanted a video, not a GIF — try the video compressor and share an MP4 link instead.
Sister tools
If you're starting from an MP4 specifically, MP4 to GIF converter is the format-specific landing. Coming from Loom? Loom to GIF converter skips the export step entirely. The opposite direction is GIF to MP4 converter — for when a GIF needs to ride a feed as a video for size reasons. An existing GIF that's too big? Compress GIF. And if you want the "just send a link" experience instead, Clipy records straight to a hosted MP4 link that auto-plays in Slack, email, and every modern chat app.
Keeping the GIF small enough to actually send
Two controls do almost all the work: frame rate and width. For screen recordings, 12-15 fps is indistinguishable from the source to the human eye, and it roughly halves the file versus 30 fps. Cap width at 640 px for Slack, Discord, and Twitter — nobody is studying your GIF at full resolution in a chat thread. Trim to the shortest span that tells the story before you convert; every extra second is its own full frame of pixels with no inter-frame compression to lean on.