Click or drop multiple images

PNG / JPG / WebP and more, up to 120; added order becomes the frame order

Live preview480 × 480

The preview plays your current settings live; after “Create GIF” it switches to the real encoded file.

What this tool does

Combine several images into one animated GIF — handy for app feature demos, tutorial steps, reaction GIFs or product carousels. When we prepare store assets we often string 3–6 screenshots into a moving preview for a website, README or social post, and this tool follows that workflow: add images, drag to reorder, set one delay for every frame or a delay per frame, choose infinite looping or a fixed count, then pick the output size and fit. Size presets include the phone-screenshot 9:19.5 ratio, portrait 9:16, square 1:1 and landscape 16:9; when an image doesn't match the canvas you can letterbox it with a background color you choose, or fill and crop. The preview on the right plays your settings live; click Create GIF to encode, check the real file size, then download. Everything runs in your browser: frames are drawn with Canvas and encoded by the open-source gif.js in Web Workers. Images are never uploaded.

How to use

  1. Click or drop several images (PNG, JPG, WebP…), then drag thumbnails or use ‹ › to set the order.
  2. Set frame delay (shared or per frame), loop count, output size, fit and letterbox color while the live preview plays.
  3. Click Create GIF, check the file size and download. Too big? Lower the width, drop frames or use Fast quality.

FAQ

Are my images uploaded?

No. Reading, drawing and GIF encoding all happen in your browser. The encoder is loaded from this site's /vendor/gifjs/ path and the page never sends your images to a server.

Why does my GIF show banding or come out large?

GIF frames are limited to 256 colors. Gradients and photos can band; turning on dithering helps but makes files bigger. App screenshots and UI usually look sharper and smaller with dithering off. Reducing width and frame count shrinks files the most.

What is the shortest frame delay?

20 ms (about 50 fps). The GIF format counts in 10 ms steps, but most browsers play anything under 20 ms at 100 ms, which ends up slower — so faster values aren't offered.

How does the loop count work?

Forever loops endlessly. With a count, the GIF plays that many times; 1 means play once and stop on the last frame. A few desktop viewers ignore loop settings, but browsers and social platforms honor them.

Does it keep PNG transparency?

Not currently: each frame is painted onto your chosen background color before encoding, which avoids the jagged edges of GIF's single-color transparency. For transparent animations, APNG or animated WebP is a better format.

Which open-source projects are used, and under what license?

GIF encoding uses the open-source gif.js (MIT license), which includes Anthony Dekker's NeuQuant color quantizer (permissive license; keep the copyright notice). Both allow commercial use; full texts at /vendor/gifjs/LICENSE.txt.

Related guides & tools

Image compressorImage resizerDevice mockup generatorStore screenshot makerTwitter / OG share image

More tools in thedeveloper toolbox. For store preview shots, try theApp Store screenshot maker.