When this tool is useful
Simple demonstrations, reaction loops, before-and-after sequences, small tutorials, or low-color animations that need broad GIF playback support.
How local processing works
The browser decodes each still source, fits or crops it onto one bounded RGBA canvas, quantizes frames to a GIF-compatible palette with the selected dithering, writes explicit centisecond frame delays and loop count, and reopens the GIF to confirm its frame count.
How to use it
- Prepare the source and limits: Keep an unchanged source and review the accepted format, dimensions, frame or page budget, and output choices. Simple demonstrations, reaction loops, before-and-after sequences, small tutorials, or low-color animations that need broad GIF playback support.
- Process locally: Run the documented bounded operation in this browser and stop when the decoder reports an unsupported structure. The browser decodes each still source, fits or crops it onto one bounded RGBA canvas, quantizes frames to a GIF-compatible palette with the selected dithering, writes explicit centisecond frame delays and loop count, and reopens the GIF to confirm its frame count.
- Download and verify: Play the GIF through several loops in target browsers, confirm source order, frame count, loop behavior and visible timing, inspect palette gradients and transparent edges on contrasting backgrounds, and compare the reported dimensions and byte size.
Important limitations
GIF supports at most 256 palette entries per color table and only binary transparency, so gradients, photos, translucent edges and shadows can band, dither or halo. Frame delays are rounded to centiseconds and some viewers clamp very short delays; one global delay cannot reproduce variable source timing, and large canvases or many frames are rejected.
Verify the downloaded result
Play the GIF through several loops in target browsers, confirm source order, frame count, loop behavior and visible timing, inspect palette gradients and transparent edges on contrasting backgrounds, and compare the reported dimensions and byte size.
Private by design
Your files stay in this browser. The tool does not upload the source or output to our servers.
Questions and answers
When is this workflow useful?
Simple demonstrations, reaction loops, before-and-after sequences, small tutorials, or low-color animations that need broad GIF playback support.
What does local processing do?
The browser decodes each still source, fits or crops it onto one bounded RGBA canvas, quantizes frames to a GIF-compatible palette with the selected dithering, writes explicit centisecond frame delays and loop count, and reopens the GIF to confirm its frame count.
Which format limits matter?
GIF supports at most 256 palette entries per color table and only binary transparency, so gradients, photos, translucent edges and shadows can band, dither or halo. Frame delays are rounded to centiseconds and some viewers clamp very short delays; one global delay cannot reproduce variable source timing, and large canvases or many frames are rejected.
How should I verify the download?
Play the GIF through several loops in target browsers, confirm source order, frame count, loop behavior and visible timing, inspect palette gradients and transparent edges on contrasting backgrounds, and compare the reported dimensions and byte size.