Skip to content
Toolcroft

Image Tools

GIF Maker - Convert Video to GIF

Turn an MP4, WebM, or MOV clip into an animated GIF entirely in your browser. Trim, set frame rate and width, and download - your video never leaves your device.

100% private. Your video is decoded and the GIF is encoded entirely in your browser (a background Web Worker does the encoding) - nothing is uploaded to any server.

Drop a video here or browse

MP4 · WebM · MOV, up to 500 MB

How the video-to-GIF pipeline works

Converting a video clip into a GIF takes three steps, and this tool runs all three locally in your browser tab. First, your video file is loaded into a hidden <video> element and repeatedly seeked to evenly spaced timestamps across your chosen trim range - one seek per output frame, at the frame rate you pick. Second, each decoded frame is drawn onto an HTML5 canvas at your chosen output width (the height is scaled automatically to preserve the video's aspect ratio) and read back as raw pixel data. Third, a background Web Worker quantizes each frame's millions of possible colors down to the 256-color palette GIF requires, indexes the pixels against that palette, and writes the compressed frame into the growing GIF file - all off the browser's main thread, so the page stays responsive while a clip encodes.

This seek-and-sample approach trades a little precision (very fast motion between sampled frames is skipped rather than motion-blurred) for broad browser compatibility - it works anywhere the browser can play the source video, without needing newer APIs like WebCodecs that aren't available everywhere yet. For typical use cases like turning a short screen recording or phone clip into a shareable GIF, the difference is rarely noticeable at 10-15 frames per second.

GIF vs. video: when a GIF actually makes sense

GIF predates modern video codecs by decades, so it's far less efficient byte-for-byte than MP4 or WebM - a GIF of the same clip is often 5-10x larger than an equivalent short video. What GIF still has going for it is universal, autoplay-without-controls support: GIFs play inline in chat apps, forums, README files, and social posts without a play button, a video player, or a file format the recipient's app might not support. That makes GIF the right choice for short reaction clips, UI demos, and looping animations under a few seconds - and the wrong choice for anything where you actually care about video quality or file size, where MP4/WebM (see this site's Image Format Converter family of tools) remains the better format.

Keeping your GIF file size down

Setting Effect on file size
Lower frame rate (5-10 fps instead of 15) Fewer frames to encode - often the single biggest size reduction
Smaller width preset (320px instead of 640px) Fewer pixels per frame, roughly proportional to width x height
Shorter trim range Directly reduces total frame count
Simpler source footage (flat colors, less motion) Compresses better under GIF's 256-color palette and LZW compression
"Plays once" instead of looping No effect on file size - only changes playback behavior

As a rule of thumb, keep GIFs short (a few seconds) and modest in resolution (320-480px wide) unless you specifically need a larger, longer animation - both file size and encoding time grow roughly linearly with frame count and quadratically with linear dimensions.

Privacy

Video files can contain personal or sensitive footage - screen recordings with visible account details, clips of your home, or unreleased work. Most online GIF makers require uploading the full video file to a server before you get anything back. This tool never does that: decoding, frame sampling, color quantization, and GIF encoding all happen inside your browser tab, and the finished GIF is generated as a local Blob you download directly - open your browser's network tab while converting and you'll see no requests carrying your video data.

Frequently asked questions

Is my video uploaded to a server?

No. Frame sampling and GIF encoding both happen locally in your browser, including inside a Web Worker for the encoding step - nothing is uploaded.

Why is there a 900-frame limit?

It keeps encoding time and memory use bounded in the browser tab. That's roughly a 90-second clip at 10 fps, or a 3-minute clip at 5 fps.

Why does my GIF look less colorful than the source video?

GIF only supports 256 colors per frame, so each frame is quantized down from the video's full color range - this can cause visible banding on smooth gradients.

What video formats can I use?

MP4 and WebM work in every modern browser; MOV works in most, best supported in Safari.

Why is my downloaded GIF file so large?

GIF is an inefficient format compared to video. Lower the frame rate, reduce the output width, or trim to a shorter clip to shrink it.