Skip to content
ALL IMAGE TOOLS56
HEIC to JPGHEIC → JPGHEIC to WebPHEIC → WEBPWebP to JPGWEBP → JPGWebP to PNGWEBP → PNGPNG to JPGPNG → JPGJPG to PNGJPG → PNGJPG to WebPJPG → WEBPPNG to WebPPNG → WEBPSVG to PNGSVG → PNGSVG to JPGSVG → JPGSVG to WebPSVG → WEBPAVIF to JPGAVIF → JPGAVIF to PNGAVIF → PNGAVIF to WebPAVIF → WEBPBMP to JPGBMP → JPGBMP to PNGBMP → PNGTIFF to JPGTIFF → JPGTIFF to PNGTIFF → PNGJFIF to JPGJFIF → JPGImage CompressorIMG → JPG · WEBPCompress Image to 100 KBIMG → JPG · WEBPCompress Image to 200 KBIMG → JPG · WEBPCompress Image to 1 MBIMG → JPG · WEBPCompress Image to 20 KBIMG → JPG · WEBPCompress Image to 50 KBIMG → JPG · WEBPCompress Image to 500 KBIMG → JPG · WEBPCompress Image to Target SizeIMG → JPG · WEBPImage ResizerIMG → IMGResize Image to 20 KBIMG → JPG · WEBPResize Image to 50 KBIMG → JPG · WEBPResize Image to 100 KBIMG → JPG · WEBPPhoto Resizer in KBIMG → JPG · WEBPImage CropperIMG → PNG · JPG · WEBPEXIF Data Viewer & RemoverIMG → DATAImage to Base64IMG → TXTPNG to ICOPNG → ICOFavicon GeneratorPNG → ZIPImage Color PaletteIMG → HEXRotate ImageIMG → PNG · JPG · WEBPFlip ImageIMG → PNG · JPG · WEBPAdd Border to ImageIMG → PNG · JPG · WEBPImage WatermarkerIMG → PNG · JPG · WEBPImage PixelatorIMG → PNG · JPG · WEBPCircle Image CropperIMG → PNG · WEBPImage SplitterIMG → ZIPSocial Media Image ResizerIMG → PNG · JPG · WEBPCompress PNGPNG → PNGICO to PNGICO → PNGBase64 to ImageTXT → IMGChange Image DPIIMG → IMGImage to TextIMG → TEXTResize GIFGIF → GIFGIF Speed ChangerGIF → GIFReverse GIFGIF → GIFSplit GIF into FramesGIF → ZIPGIF MakerIMAGES → GIF
ENGINE GIFENCACCEPTS JPG PNG WEBP BMP GIF

GIF Maker

GIFENCTOOL 188 OF 190

GIF Maker — Turn a Set of Images into an Animation

Drop several pictures and get one animated GIF. You choose how long each frame is shown.

ENGINEGIFENC
ACCEPTSJPG PNG WEBP BMP GIF
MAX SIZEMEMORY-BOUND
UPLOADNEVER

Nothing is enforced, but every picture is decoded into memory at once, so a few hundred full-size photos can exhaust the tab before the animation is built.

01Drop several images onto the page, or click the drop zone to pick them.
02Set how long each frame is shown — the strip shows it as a frame rate too.
03Press Rebuild GIF after changing the timing, then Download the animation.

About GIF Maker

This is the opposite of the frame splitter: stills go in and one animation comes out. Drop a set of pictures, choose how long each is shown, and the page builds a GIF in your browser — nothing is uploaded and no engine is downloaded, because the encoder this site already carries for its video-to-GIF tool does the work. Two details are worth knowing because they are where a GIF builder usually disappoints. The first is ordering. Files arrive from a drop in whatever order the operating system hands them over, which is rarely the order you meant, so they are sorted by filename using a numeric comparison — frame-2 lands before frame-10, not after it, which is what a plain alphabetical sort would do. If your pictures are named in sequence you will get the sequence you expect. The second is size. Every frame of a GIF has to be the same size: the format has one logical screen and places frames on it. Pictures dropped from a camera roll are never all the same shape, so each one is fitted inside the canvas with its aspect ratio kept and the spare space left transparent. The alternative — stretching each picture to fill — distorts faces and is what makes a home-made GIF look wrong in a way that is hard to name. Timing is a single delay applied to every frame, shown both in milliseconds and as a frame rate. GIF stores that delay in hundredths of a second, so around twenty milliseconds is the fastest the format can honestly describe.

Questions

What order do my images end up in?

Sorted by filename, using a numeric comparison rather than a plain alphabetical one — so frame-2 comes before frame-10, which is what you meant and not what a naive sort does. Files dropped onto a page arrive in whatever order the operating system hands them over, which is rarely the order you intended, so leaving it to chance would make the tool unpredictable. If your pictures are named in sequence, you get that sequence.

My photos are different shapes. What happens?

Each one is fitted inside the canvas with its proportions kept, and the spare space is left transparent. Every frame of a GIF has to be the same size — the format has one screen and places frames on it — so something has to give when the inputs differ. The alternative is stretching each picture to fill the frame, which distorts faces and is what makes a home-made GIF look subtly wrong. The canvas is sized from the largest picture, capped, so nothing is ever enlarged.

How fast can it go?

Down to about twenty milliseconds a frame, which is roughly fifty frames a second. That is not an arbitrary cap: a GIF stores each frame's delay in hundredths of a second, so shorter delays cannot be described by the format at all, and browsers substitute their own timing for anything they consider implausible. The slider shows the delay and the equivalent frame rate together so you can see both.

Why is the file so large?

Because GIF is an old format with no interframe compression worth the name — every frame is stored close to whole, so the size is roughly the pixel count multiplied by the frame count. Fewer frames and smaller dimensions are the two levers that matter, and dimensions matter most because they reduce every frame at once. If the result is for the web and it does not have to be a GIF, a short video file will be a fraction of the size.

Is anything uploaded?

No. The pictures are decoded in your tab and the animation is built there with gifenc, the encoder this site already carries for its video-to-GIF tool. Nothing is sent anywhere and no engine is downloaded for this.

Is my file uploaded to a server?

No. Transmute processes everything locally in your browser using JavaScript and WebAssembly. Your files never leave your device — there is no server, no upload, no cloud processing.

Related