Convert Images to GIF
Turn one image into a static GIF or a sequence of images into an animated one, with the frame rate, order and looping under your control.
Drop your files here
.jpg, .jpeg, .png, .webp, .bmp · up to 20 MB
How to Make the GIF
- 1
Drop your image frames in order
Every file you add becomes one frame, up to 300 of them. JPEG, PNG, WebP and BMP are all accepted and mixed freely.
- 2
Set frame rate and looping
Pick the speed in frames per second, decide whether the animation repeats forever or a fixed number of times, and reorder by file name if you exported a numbered sequence.
- 3
Download the GIF
One file comes out, never a ZIP. The whole point of this tool is that many inputs become a single animation.
What GIF can and cannot do
GIF is a format from 1989 and it shows. Each frame is limited to a palette of 256 colours, and transparency is a single on-or-off flag per pixel rather than a smooth alpha channel. Two consequences follow, and neither is a bug in this tool. A photograph with soft gradients gets visible colour noise, because 256 colours have to stand in for millions and the difference is spread around as dithering. And a picture with a soft shadow fading into transparency gets a hard edge, because every pixel has to be either fully drawn or fully absent. If those matter to you, an animated WebP or AVIF keeps far more of the original, and the pipeline links to both from the result card.
One palette for the whole animation
Colours are sampled evenly across every frame at once and a single palette is built from all of them together. Doing it per frame would be slightly more accurate on each individual picture and much worse to watch: the palette would shift from frame to frame and flat areas would visibly pulse. The same reasoning drives the canvas size: the first frame in the final order sets the dimensions, and every other frame is scaled to fit inside it with its proportions intact, padded with white, or with transparency if that particular frame has an alpha channel. Nothing is ever cropped.
Frame rate is coarser than you might expect
GIF stores each frame's delay in hundredths of a second, so not every frame rate lands exactly. Ten frames per second is a clean 10 units; twelve becomes 8 units, which is really 12.5 per second; thirty becomes 3 units, which is really 33. The tool rounds to the nearest available value rather than pretending otherwise. In practice anything from 8 to 15 looks like smooth motion for photo sequences, and 2 to 5 works better for slideshows where each picture needs to be read.
Your files stay on your device
Decoding, palette building and GIF encoding all happen in this browser tab using WebAssembly decoders and a JavaScript encoder. Nothing is uploaded, no frames are stored anywhere, and closing the tab clears everything from memory. That matters more here than usual, since a frame sequence is often a whole shoot.
Frequently asked questions
Why does my GIF look grainy?
Because 256 colours are standing in for the millions in your source. The speckled texture you see is dithering: small deliberate colour errors scattered so that from a distance the average is right. You can turn dithering off, which trades the speckle for visible flat bands instead, or drop the palette size and accept a more posterised look on purpose.
How many frames can I add?
Up to 300 files, 20 MB each and 150 MB in total, with a 16-megapixel ceiling per frame. At 300 frames and the largest canvas size, building the GIF takes around 25 seconds; smaller canvases are much faster.
How do I control the frame order?
By default frames follow the order in the file list, and you can drag them there. Switch to "By file name" if you dropped in an exported sequence. It sorts naturally, so frame2 comes before frame10 rather than after it. "Reversed" flips whatever the upload order was.
What does looping forever mean in the file?
It writes a NETSCAPE2.0 application block with a repeat count of zero, which every viewer reads as "repeat indefinitely". A count of 3 means the animation plays and then repeats three more times before stopping on the last frame. A single image gets no loop block at all, because a one-frame GIF is a still picture.
Why does transparency look ragged at the edges?
GIF transparency is one bit: a pixel is either painted or it is not. Anything partly transparent in the source, such as the anti-aliased edge of a circle or a soft drop shadow, has to be forced to one side or the other, and the smooth fade becomes a hard boundary. Adding a solid background to your frames before converting usually looks better than letting the edge break up.
Can I make a GIF from a single photo?
Yes. With one file the result is a single-frame static GIF, the frame rate and looping options no longer apply, and the file is named after your original. It is a legitimate use; some forums and chat clients accept GIF where they reject other formats.
How is this different from converting a video to GIF?
This tool takes still images that you already have as separate files, one per frame. A video-to-GIF tool has to decode a video stream and decide which frames to sample first. If what you have is an MP4 or MOV, start there; if you have an exported image sequence or a handful of photos, you are in the right place.
Do the files get uploaded to a server?
No. Every frame is decoded, quantised and encoded inside your browser. There is no upload and no server copy at any stage.