Skip to content
keyMotio

GIF Maker

Pick a set of images, put them in the order you want, and get an animation you can keep editing. Choose how long each image stays on screen, what size the animation is and how images that do not match it are fitted. Animated files are welcome too: they come apart into their own frames, so this doubles as a way to join GIFs. Everything runs inside your browser, so no image is ever uploaded.

ms

About 10 frames per second

Fit inside keeps every image whole and leaves empty margins. Fill and crop covers the canvas and trims the edges.

A GIF cannot store partial transparency, so a flat colour behind your images avoids jagged edges.

How to make a GIF from images

  1. 1

    Add your images

    Drag them onto the box, or click to pick several at once. They arrive sorted by name, understanding the numbers in it, so img2 lands before img10 instead of after it.

  2. 2

    Put them in order

    Use the arrows to move any image up or down, remove the ones you do not want, or sort everything by name again. Each one shows its real size, so you can tell which ones do not match the rest.

  3. 3

    Choose timing and canvas

    Set how many milliseconds each image lasts, with the equivalent in frames per second shown next to it. Then pick the size of the animation and how each image is fitted into it.

  4. 4

    Edit and export

    The animation opens straight in the editor, where you can fine-tune each frame's timing, draw on it, add text, and download it as a GIF or as PNG files inside a ZIP.

What makes it different

  • It becomes an editable animation

    Building the animation is not the end of the road: it opens in the full editor, with per-frame timings, undo, drawing tools and export. It is not a one-shot conversion you have to redo from scratch.

  • Numbers are sorted properly

    Files are ordered understanding the numbers in their names, so frame2 comes before frame10. Sorting them as plain text is the classic way an exported sequence ends up scrambled.

  • Mixed sizes are handled

    Photos rarely all measure the same, and an animation has a single canvas. Choose the largest, the smallest, the first image or a size of your own, and whether each image fits inside, is cropped to fill, or is stretched.

  • Animated files are expanded

    Add a GIF, animated WebP, APNG or AVIF and it comes apart into its frames, each keeping its original timing. That makes joining two animations exactly the same operation as building one from photos.

  • Nothing is uploaded

    The images are decoded, composed and encoded by your own browser. No file is sent to a server, so nothing can be kept, leaked or scanned, and it keeps working offline.

Supported formats

Anything your browser can read as an image: PNG, JPEG, WebP, AVIF, and usually SVG and BMP as well. Animated GIF, animated WebP, APNG and animated AVIF are accepted too and come apart into their frames. The result is exported as an animated GIF, as PNG files inside a ZIP, or one frame at a time.

Frequently asked questions

How long should each image last?
100 milliseconds is ten frames per second, which reads as a comfortable animation. The equivalent in frames per second is shown as you type, so you do not have to do the sum, and you can still change any single frame afterwards in the editor.
Why do my images look cropped or squashed?
Because they do not measure the same as the canvas. Fit inside keeps them whole and leaves empty margins, fill and crop covers the canvas and trims the edges, and stretch deforms them to match exactly. Pick whichever suits your set.
Can I change the order of the images?
Yes. Before building, with the arrows next to each one, and after building by dragging frames around in the editor. Sorting everything by name again is one click away.
Can I join two GIFs with this?
Yes. An animated file added here comes apart into its frames, so adding two of them and building gives you a single animation with both, each frame keeping the duration it had.
Why does my animation have hard, jagged edges?
A GIF can only store fully transparent or fully opaque pixels, so soft edges over a transparent background turn into a staircase. Setting a flat background colour instead of transparency fixes it.
Is there a limit to how many images I can use?
Each file can be up to 40 MB, and the animation as a whole is capped at about 50 megapixels per frame and 2000 frames. The limits exist because everything is held in your browser's memory rather than on a server.