Video → GIF (MP4 / WebM / MOV → GIF)
Drop a video, pick a **start / end** time, **fps**, and **output width**. We seek the video frame-by-frame in your browser, capture to canvas, and emit a GIF with gifenc. **Files never leave the browser.**
›How to use
- Drop a video (MP4 / WebM / MOV); we read the metadata and show the dimensions + duration. The native player below lets you scrub.
- Use the Start / End sliders to crop the segment (the whole video makes a giant GIF — pick 1-3 seconds).
- Tune fps (5-30; 15 ≈ GIPHY), output width (height follows aspect), Palette colours for size vs banding, Contain / Cover for off-aspect output.
- The estimate line shows *N frames + resolution*. Hit Convert & download GIF and watch the progress.
Tips
- Size blows up with long windows, high fps, or large palettes. 1-3 s × 10-15 fps × 128 colours is the sweet spot.
- GIF is indexed colour (8-bit palette) — product demos / screencasts compress well; live-action photos band hard.
- Why not ffmpeg.wasm? It needs 30MB+ to load. We use the browser's built-in video seeking + gifenc (~50KB), covers 99% of needs.
- vs ezgif.com: they upload to a server with 100MB / 200-frame caps and ads. We process in the browser, no upload.
💡 video.currentTime is async — we await the seeked event each frame so captures align with the requested time. 1 second at 15 fps takes ~1-2 seconds total. Video never leaves the browser.
Related tools
- Image ↔ Base64Drop images → data URI / raw base64 / HTML / CSS one-click copy; paste base64 → preview + download
- HEIC → JPG / PNG / WebPConvert iPhone .heic photos to common formats, batch processing + ZIP download, all in your browser
- Image compress to sizeBinary-search JPEG quality to hit a target file size (300KB / 500KB / 2MB / etc.) — for job sites, government forms, upload limits
- Image Crop (free / aspect / circular)Visual drag-to-crop with locked aspect ratios (1:1 / 16:9 / 3:2…), circular mask for avatars, export PNG / JPG / WebP with custom output width