Starting the media engine.
GIF Toolbox runs ffmpeg inside this tab, which needs WebAssembly. If this message stays, your browser has WebAssembly turned off or is too old to run it.
Related tools
- Video to GIFTrim a clip and export an optimized GIF with palette control, all in your browser.
- Discord CompressorTwo pass encode that lands a video just under a chosen upload cap, computed from its length.
- Video TrimmerCut video precisely in the browser using WebCodecs, re-encoding only what it must.
- Audio TrimmerCut a clip from an audio file, add fade in and fade out, and loudness normalize the result, right in your browser.
- Frame ExtractorScrub any video frame by frame and save exact frames as full resolution PNG, JPEG, or WebP stills, including bursts.
- Subtitle EditorConvert between SRT and WebVTT subtitles, shift or resync cue timing from anchor points, and clean up messy captions.
What it does
Edits an animated GIF in your browser with the same ffmpeg pipeline the command line uses. It can scale a GIF to a target width, crop a rectangle out of every frame, shrink the file by dropping frames and colors, play it backwards, speed it up or slow it down, and export individual frames as PNG files. Every GIF it writes gets a fresh color palette generated from the frames themselves, which is what keeps an edited GIF from banding. It also reads the file directly, so it can tell you the size, frame count and average frame rate before you change anything.
How to use it
Drop a .gif on the input, then load the media engine once: it is about 31 MB, your browser keeps it, and later visits start it from the cache. Pick an operation, set its numbers, and press the run button. The result appears with a preview and a download button, and the ffmpeg log is there if you want to see exactly what ran.
Why this one
Ezgif is the incumbent and it works, but every GIF you touch is uploaded to its servers, the page is wrapped in ads, and the file size is capped. This runs the same ffmpeg filters inside your tab, so your files and inputs never leave your device, there is no upload wait, and the only limit is your own machine. The palette handling is the real ffmpeg one rather than a generic re-encode, so colors survive an edit.
FAQ
- Why does my GIF get re-encoded instead of edited in place?
- A GIF stores at most 256 colors in a palette, and every frame is compressed against it. Change the pixels and that palette no longer fits, so the frames have to be written again. This tool always generates a new palette from the edited frames and maps them onto it, which is why a resized or cropped GIF keeps its colors instead of turning blotchy. It also means the output is never byte for byte the same file, even for an edit that looks small.
- Can it make a GIF from a video?
- Not here. This tool takes a GIF and gives you a GIF or its frames. Use the Video to GIF tool on this site for the other direction: it trims the clip, picks a frame rate, and builds the palette for you.
- Is my GIF uploaded anywhere?
- No. The ffmpeg engine is downloaded to your browser once and every frame is decoded and encoded inside this tab, so your files and inputs never leave your device.
Keyboard shortcuts: press ? anywhere on this page to see them.