Put 2 to 50 pictures in order, set the delay and repeat, download one GIF. Runs on your device.
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.
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 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.
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.
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.
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.
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.
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.
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.