GIF Maker - Convert Video to GIF
Image Tools
Turn a video into a GIF in your browser. Trim clips, choose frame rate, width, and palette size, then download without uploading your video.
Drop a video here or browse
MP4 · WebM · MOV, up to 500 MB
How to use this tool
- Choose a video. Drop an MP4, WebM, or MOV file onto the drop zone, or click to browse for one.
- Trim and set options. Drag the start/end sliders to pick the range, then choose a frame rate, output width, palette size, and whether the GIF should loop.
- Generate. Click "Generate GIF" to sample frames and encode them. A progress bar shows extraction and encoding progress; click Cancel at any time to stop.
- Download. Preview the finished GIF and click "Download GIF" to save it to your device.
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 (5, 10, 15, or 20 frames per second). Second, each decoded frame
is drawn onto an HTML5 canvas at your chosen preset or custom output width (up to 1280px; smaller
sources are not enlarged; height is scaled 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 your selected maximum of 64, 128, or 256 colors, indexes the pixels against
that per-frame 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. Lower palette settings
can reduce file size but can also make color banding more visible; 256 remains the default.
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-20 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-20) | Fewer frames to encode - often the single biggest size reduction |
| Smaller preset or custom width (320px instead of 640px) | Fewer pixels per frame, roughly proportional to width x height |
| Shorter trim range | Directly reduces total frame count |
| Fewer palette colors (64 or 128 instead of 256) | Can reduce palette data, with more visible color banding as the trade-off |
| "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. The video is decoded by your browser and every frame is sampled onto a canvas, then quantized and encoded into a GIF by a Web Worker running locally. Nothing is uploaded, logged, or stored - the whole pipeline runs on your device.
Why is there a 900-frame limit?
Each frame has to be color-quantized and encoded, and very long clips at high frame rates would take a long time and use a lot of memory in the browser tab. The limit covers a 45-second clip at 20 fps, a 90-second clip at 10 fps, or a 3-minute clip at 5 fps. Trim to a shorter range or lower the frame rate if you hit the limit.
Why does my GIF look less colorful than the source video?
GIF supports up to 256 colors per frame, while video can show millions. Choose 64, 128, or 256 colors; 256 is the default. Each frame is quantized separately to the selected maximum, so fewer colors can reduce file size but may show more banding on smooth gradients or colorful scenes. This control does not add dithering or a two-pass shared palette.
What video formats can I use?
MP4 (H.264) and WebM are supported in every modern browser. MOV files exported from an iPhone also work in most cases, though QuickTime-specific codecs are best supported in Safari. If a file fails to load, try re-exporting it as MP4.
Why is my downloaded GIF file so large?
GIF is an old, relatively inefficient format compared to video - every frame is a mostly-independent color-indexed image. To shrink the file, lower the frame rate, reduce the preset or custom output width, choose fewer colors, or trim to a shorter clip. These changes trade smoothness, detail, or color range for a smaller result.
Related tools
- Image ResizerResize a still image to a target width for lightweight sharing.
- Image CompressorShrink a still-image alternative when a full animation is unnecessary.
- Screen RecorderCapture a screen demo, then turn the local clip into a shareable GIF.
- Format ConverterConvert a supporting still image to another format for its next destination.