Make an animated GIF from images

Put 2 to 50 pictures in order, set the delay and repeat, download one GIF. Runs on your device.

How it works

  1. Add 2 to 50 images and put them in order
  2. Set the delay, repeat and width
  3. Make the GIF and download it

Frames, order and size

Each image becomes one frame, in the order shown in the list. Drag a row or use its move buttons to change the order; the first image also sets the shape of the whole GIF. The width you choose can be from 16 to 800 pixels, and the GIF is never made wider than the first image, so a small picture is not stretched. The height follows the first image's ratio and is held to 1600 pixels. Images with another shape are placed in that frame in one of two ways. Fit inside shows the whole picture and fills the bars with the background colour you pick. Fill and crop covers the frame and cuts the picture at the edges, centred. A transparent PNG or WebP is drawn over the background colour, because the frames made here are not transparent.

Delay and repeat

The delay is the time each frame stays on screen, from 20 to 10000 milliseconds, the same for every frame. A GIF can only store whole hundredths of a second, so the value is rounded to the nearest 10 ms: 25 ms is saved as 30 ms, and the line above the button shows the stored value and the length of one play. Repeat can be forever, or a number of plays from 1 to 100. One play writes no repeat instruction at all, which is how GIFs are told to play once. Two or more plays write a repeat count of one less, because the count is the number of repeats after the first play. Some viewers ignore the count, so test it where it will be shown.

The 256-colour limit

The GIF format allows at most 256 colours in a frame. Here every frame gets its own palette. A frame with 256 colours or fewer, such as a screenshot or a flat graphic, is stored exactly. A photo has thousands of colours, so its palette is chosen by median cut and each pixel takes the nearest of those colours. Smooth skies and skin can show bands or grain. Turning Dither on spreads the rounding error to neighbouring pixels, which hides bands but adds a speckled texture and a larger file. The size of the finished GIF is shown only after it is made, because it depends on the pictures; many large photos can reach tens of megabytes, and the tool stops at 100 MB.

What stays out

There is no per-frame delay, no transparency, no text or stickers, and no compression step after the GIF is made. Each frame is drawn from the original picture with its phone rotation applied, and camera and location details are not copied into the GIF. Frames are made one at a time, so only one picture is in memory at once. Cancel stops the work and no partial GIF is offered. If one image cannot be read, its row shows the problem; remove it and make the GIF again.

Frequently asked questions

Why does my photo GIF look grainy or banded?

A GIF frame holds at most 256 colours, and a photo has far more. Try Dither, which spreads the error and smooths gradients, and a smaller width. Screenshots and flat graphics with few colours come out clean without it.

How many images can I use?

From 2 to 50. A 51st image is refused with a message. The finished GIF is also capped at 100 MB, so very large widths with many frames may stop; lower the width or turn Dither off.

Why is my 25 ms delay saved as 30 ms?

The GIF format stores the delay in whole hundredths of a second, so the tool rounds to the nearest 10 ms. 25 ms becomes 30 ms and 500 ms stays 500 ms. The settings line shows the stored value. Delays under 20 ms are not offered, because viewers do not play them reliably.

How do I make it play only once?

Set Repeat to A number of times and Times to play to 1. The GIF is then written without a repeat instruction, so viewers play it once. A value of 3 plays it three times, though some viewers ignore the count.

Can I use pictures of different sizes or shapes?

Yes. The first image decides the frame size. Fit inside keeps every picture whole and fills the leftover bars with the background colour. Fill and crop covers the frame and cuts the edges instead. You can reorder the list before making the GIF if you want another picture to set the size.