Skip to content
ImageRuns in your browser

Image to GIF

An image to GIF converter that combines a sequence of photos into one looping animation.

Upload
Batch upload supported · 25 MB max
Privacy
Nothing is uploaded
Cost
Free · no sign-up · no watermark

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

Your file is read, transformed and re-encoded inside this browser tab using JavaScript. There is no upload endpoint — nothing leaves your machine, nothing is stored, and the result is created as a local object URL that disappears when you close the page.

Overview

About the Image to GIF

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.

How the image to GIF encoding works

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.

Picking a delay for the image to GIF loop

  • 80–120 ms per frame reads as motion: flipbooks, stop-motion, reaction sequences.
  • 300–600 ms reads as a fast slideshow: product angles, design iterations.
  • 1000 ms and above for step-by-step tutorials where each frame needs reading time.

Keeping an image to GIF file small

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.

What the image to GIF size control actually sets

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.

First imageSmall (320)Medium (480)Large (640)
1920 × 1080 landscape320 × 180480 × 270640 × 360
1080 × 1080 square320 × 320480 × 480640 × 640
1080 × 1920 phone portrait320 × 568480 × 852640 × 1138
200 × 150 small graphic200 × 150200 × 150200 × 150

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.

Transparency becomes white

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.

What the image to GIF results show

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.

Private image to GIF creation

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

How to use the Image to GIF

  1. Drop the images onto the upload area in the order you want them to appear.

  2. Reorder the list if needed — the first row is the first frame of the loop.

  3. Set the time per frame and the output width; 600 ms reads as a slideshow, 100 ms as a flipbook.

  4. Press Make GIF; the result row reports the frame count, the dimensions and the byte size before you download.

Why use it

Benefits and common use cases

What this tool is good for, and what it deliberately does not try to do.

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.

Consistent frame geometry

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.

Two levers that matter

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

Frequently asked questions

Short, honest answers about quality, limits and privacy.

Which image formats can I use as frames?

Any format your browser can decode — JPG, PNG, WebP, GIF, BMP, AVIF, TIFF and iPhone HEIC. The frames do not have to match: each one is detected separately, scaled to fit the first image's box and quantised into its own palette.

How many images can I combine?

Up to 20 per run. Each frame is quantised to its own 256-colour palette, so very long sequences produce large files — for slideshows, a longer delay per frame beats more frames.

Why do my gradients look banded in the GIF?

GIF stores at most 256 colours per frame. Flat art, screenshots and logos survive perfectly; smooth gradients and photographs have to be dithered down, which shows as banding. That is a format limit from 1987, not a conversion defect.

Do images with different sizes work together?

Yes. The first image sets the canvas, and every later image is scaled to fit inside it while keeping its aspect ratio and then centred on white. Nothing is stretched and nothing is cropped — a portrait photo in a landscape loop simply gets white bars at the sides.