No data is transmitted; all encoding happens on your device. Open source on GitHub.
Drop a video here or click to choose
MP4, WebM, MOV — anything your browser can play.
Turn it into a high-quality animated GIF, entirely in your browser via WebAssembly. Your video is never uploaded anywhere.
Use the timeline above: click or drag to scrub, step frame‑by‑frame with the ←/→ keys, drag the green handles to crop the ends, and mark a cut start then “Remove section” to delete a middle part (click a red strip to undo). The GIF is built from the kept (green) parts, played back‑to‑back.
Applied left → right: pick an input, map it through a colormap, then a colour filter.
A colormap recolours the image: each pixel’s chosen channel (0–255) is looked up in the colormap. Great for heatmaps and scientific data. Colormaps from matplotlib.
Drop a logo image or click to choose
A PNG with transparency works best — optional
Pick a format — each makes three sizes from the same frames. WebP & APNG are far smaller/sharper than GIF. Creating one replaces the previous result.
Three sizes — pick whichever is small enough. Speed & loop changes update them instantly.
No tracking. No uploads. No sign-up. No ads. This whole thing was vibe-coded with Claude Code and runs entirely on your device.
If it saved you a trip to some sketchy online converter, give it a ⭐.
⭐ Star it on GitHubEverything here runs locally in your browser through WebAssembly. Your video is never uploaded — no server ever sees them.
The GIF encoder is gifski by Kornel Lesi ński, compiled to WebAssembly via gifski-wasm and bundled directly with this page.
WebP and APNG output use @jsquash/webp (Google’s libwebp, compiled to WebAssembly) and UPNG.js with pako — all bundled with this page. The animated WebP is muxed and APNG/WebP timing is patched by this page’s own code.
License: gifski and gifski-wasm are licensed under the GNU Affero General Public License v3.0 (AGPL-3.0). Because this page distributes the gifski WebAssembly binary to you over a network, the AGPL requires that the corresponding source remain available to you. The bundled copy of the license is included here, the encoder source is at the gifski and gifski-wasm repositories linked above, and the full source of this page is on GitHub. The WebP encoder (libwebp / @jsquash/webp) is Apache-2.0; UPNG.js and pako are MIT (UPNG, pako).