How to make a GIF from images
- Add your images. Drag two or more photos onto the box above or click to browse. Each one becomes a frame, in the order you add them.
- Put them in order. Use the ↑ ↓ buttons or drag a row to change the order, and ✕ to drop a frame you don't want.
- Set the speed. Pick a shared frame delay in milliseconds, or type a different value into any single frame's delay box for a custom rhythm.
- Choose looping and quality. Decide whether the GIF should loop forever or play once, and pick a quality level, faster encodes a smaller file, best keeps the most detail.
- Create and download. Press Create GIF, watch the progress bar, then preview the finished animation and download it as a .gif file.
Turning photos into a GIF: what it's good for
A GIF is the simplest way to share a short animation anywhere text or images work, in a chat, a forum post, an email signature or a product listing, without asking anyone to click play on a video. A burst of shots from your phone's camera (the kind you get from holding the shutter down) turns into a looping mini-clip in a few clicks. Two photos of the same scene, a before and an after, become a flipping comparison GIF that makes the difference obvious at a glance, useful for renovation photos, weight-loss progress, or a product repair. Stop-motion-style clips work the same way: shoot a series of small, deliberate changes to a scene (an object moved a little each frame, a drawing built up stroke by stroke) and the frame-by-frame playback creates a jerky, charming animation without any video editing software.
Frame order, delay and looping
The frames play back in exactly the order shown in the list, top to bottom, so getting that order right before you encode matters more than anything else. The delay controls how long each frame stays on screen before the next one appears, a shorter delay (150 to 250ms) feels like a fast flip, while a longer delay (500ms and up) reads more like a slideshow. Most simple animations look good somewhere around 300 to 600ms per frame. Looping decides whether the animation repeats forever, the default for most memes and reaction GIFs, or plays through once and stops on the last frame, better suited to a one-time reveal or a before-and-after where you want the viewer to land on the final image.
Why every frame has to be the same size
The GIF format stores one shared canvas size for the whole animation, every frame is drawn into that same rectangle, so mismatched source photos have to be normalized first. This tool uses the dimensions of the first image you add as the target canvas (scaled down if needed to keep the file quick to encode), then fits every other frame inside it. Rather than cropping photos with a different shape to force a fit, which can cut off someone's head or the edge of a product, frames that don't match the target's aspect ratio are padded with white space so the whole image stays visible. For the cleanest result, start with images that are already close to the same shape and resolution.
Frequently asked questions
Is my image uploaded anywhere?
No. Every frame is read and encoded on your own device using your browser. Nothing is sent to a server, so your photos never leave your computer or phone.
What is the max file size or frame count?
Up to 50 frames, each under 15MB. The output is capped at 640px on the longest side to keep encoding fast, since a browser tab encoding many large frames can get slow or run low on memory.
Can I set a different speed for each frame?
Yes. Set a shared default delay and use Apply to all, or edit the delay box next to any single frame to speed it up or slow it down.
Do all my images need to be the same size?
No. Every frame is automatically resized to match the first image you add. Frames with a different aspect ratio are padded with white rather than cropped, so nothing important gets cut off.
Related: shrink the result with the image compressor, or crop your source photos to matching dimensions first with crop image.