Order you can see
The batch list is the timeline: drag rows to rearrange frames before encoding, so the loop comes out in the sequence you intended rather than the filesystem's.
An image to GIF converter that combines a sequence of photos into one looping animation.
Loading tool…
The tool is loading its code on your device. This happens once and is cached for later visits.
Processed entirely on your device
Overview
Make an animated GIF from JPG, PNG or WebP images. Reorder frames, set the delay per frame and pick an output size — encoded locally with a 256-colour palette.
The animated GIF remains the one animation format that works everywhere: comments, chat apps, README files, email signatures and presentation tools all play it without plugins. An image to GIF conversion built from stills is the oldest use case — stop-motion sequences, before-and-after pairs, step-by-step tutorials — and this image to GIF converter runs the whole encode in your browser.
Each image is decoded by the browser, drawn onto a canvas at the first frame's fitted size, and quantised to a 256-colour palette of its own. Per-frame palettes cost a few bytes but keep colour accurate when consecutive frames differ a lot — a global palette chosen from frame one makes later frames drift badly. That is the whole image to GIF pipeline: decode, scale, quantise, encode, with no server anywhere in it.
GIF size is roughly frames multiplied by pixels multiplied by colour complexity, and an image to GIF conversion here puts only two of the three under your control. Halving the width quarters the pixel count: a 640 × 360 frame holds 230,400 pixels, a 480 × 270 frame holds 129,600 and a 320 × 180 frame holds 57,600, and each of those pixels is one byte of indexed colour before LZW compression gets to work. For chat and comments, 320 px wide at 8–10 frames is the sweet spot; for tutorials where text must stay legible, keep 480–640 px and use fewer frames instead.
The delay per frame changes none of that. It is stored as a two-byte field inside the frame's control block, so a slideshow at 1000 ms and a flipbook at 80 ms weigh exactly the same. When a file comes out too big, cut frames or cut width — the delay is not a size lever at all in an image to GIF conversion.
In an image to GIF conversion it sets the width, not the longest edge, and the height follows from the aspect ratio of the first image. Both numbers are then rounded down to an even value, which is what GIF encoders and players expect.
Two consequences follow, and both catch people out. A portrait first image produces a tall GIF even at Small, because the setting caps width and lets height run. And a source narrower than the setting is left at its own size rather than enlarged — the last row shows a 200 px graphic staying 200 px wide whichever option is chosen. Since the first image decides the box for the whole loop, put the largest or most representative one first.
GIF can carry one transparent colour per frame, but the encoder used here never writes a transparency index, and its palette quantisation reads only the red, green and blue channels — a fully transparent pixel would be treated as black. Rather than let that happen, every frame of the image to GIF output is composited onto white before it is quantised, which is the same flatten this site applies to every JPEG it produces.
The practical consequence is that a logo on a transparent background comes out sitting on a white card. If it has to sit on a coloured page, put the background colour into the source images first: converting each one to JPG does that on white, and any image editor will do it on the exact colour you need.
One file, named after the first image in the list, so frame-01.png produces frame-01.gif. That single download is what an image to GIF conversion produces: one loop, one chain of palettes, one file. The result row reports the frame count, the dimensions and the byte size; the summary strip repeats the frames and dimensions alongside the loop setting, which is always infinite, because the encoder writes the standard looping extension and the animation therefore restarts forever rather than playing once and freezing.
Ordering is the batch list's job and nothing else. There is no filename-sorting step, so img-10.png dragged above img-2.png genuinely plays first. Arrange the rows before you press the button, or rename the files so alphabetical order is the order you want.
Every image to GIF conversion on this page runs locally: the frames are decoded, quantised and encoded by the browser, and the finished GIF is a local blob that never touches a server. That matters for the frames people feed in — client screenshots, unreleased product photos, internal demos — because an image to GIF tool that uploads frames to encode them elsewhere gives those images a destination nobody asked for. Up to twenty frames at 25 MB each convert with no account, no queue and no watermark, and the loop is ready the moment the progress bar finishes.
Step by step
Drop the images onto the upload area in the order you want them to appear.
Reorder the list if needed — the first row is the first frame of the loop.
Set the time per frame and the output width; 600 ms reads as a slideshow, 100 ms as a flipbook.
Press Make GIF; the result row reports the frame count, the dimensions and the byte size before you download.
Why use it
What this tool is good for, and what it deliberately does not try to do.
The batch list is the timeline: drag rows to rearrange frames before encoding, so the loop comes out in the sequence you intended rather than the filesystem's.
The first image sets the frame box and every later image is scaled into it with its aspect ratio intact, then centred on white — so a batch of mixed shapes still produces one steady-sized animation instead of a loop that smears at the edges.
A GIF weighs roughly frames multiplied by pixels multiplied by colour complexity. The width control and the number of images you add are the two levers that actually move the byte count — the delay changes how the loop reads, not how large it is.
Questions
Short, honest answers about quality, limits and privacy.