GIF Maker — Images to Animated GIF, Free & Private

Drop 2–30 images, set frame speed and output size, watch the live preview, and download your animated GIF. 100% local encoding — your photos never leave your device.

Quick answer: Turn photos into an animated GIF right in your browser: reorder frames, set speed and size, preview live, download the GIF. Nothing is uploaded — encoding happens on your device.

Add at least 2 images.

How to use

  1. Add images — drop 2–30 JPG/PNG frames; drag order matters or use arrows.
  2. Tune — frame delay (ms), max width (smaller = smaller file), loop forever.
  3. Preview & download — watch the live animation, then save your .gif.

About this tool

This GIF maker encodes pictures into a looping GIF89a entirely inside your browser — a compact JavaScript encoder reads your frames, quantizes colors to the GIF palette and writes the file locally. Reorder frames with the arrow buttons, tune delay per frame, and cap the output size to keep the file small. Honest note: GIF limits colors to 256 per frame, so gradients may band slightly; for video-to-GIF, export frames first (screenshot the moments) and feed them here.

FAQ

How do I make a GIF from photos?
Add the photos as frames in order, set a delay (400–800ms looks natural), preview, and download. For memes, 2–4 frames with short delays works best.
Are my images uploaded?
No — encoding is pure JavaScript on your device. The download comes straight from your browser.
Why does my GIF look slightly posterized?
GIF stores 256 colors per frame; photos with gradients band a little. Reduce the output size and avoid very smooth skies for the cleanest results.
What size should I use?
Social posts look great at 480px; reactions at 320px. Bigger width = bigger file — the live file-size estimate helps you choose.
Can I make a GIF from a video?
Not directly — export stills of the moments (screenshots), then feed 6–15 frames here with ~100ms delay.
Is there a frame limit?
Soft limit 30 frames to keep your browser responsive; order them with the arrow buttons before encoding.