Tinker Tools

GIF Maker From Images

Upload multiple images and create animated GIFs with custom frame delay, order, and loop settings. All processing is done locally in your browser.

Frames

Drop images here or click to browse

Supports PNG, JPEG, WebP, BMP, SVG

How it works

1. Upload Images

Drag and drop or browse to upload multiple images. Each image becomes one frame in your animated GIF.

100% Private

2. Customize Settings

Reorder frames, set delay times, choose output dimensions, and configure loop behaviour to create the perfect animation.

Full Control

3. Download GIF

Preview your animation in real-time and download the finished GIF. Everything is encoded in your browser — no server required.

Instant Export

What Does This GIF Maker Do?

This GIF maker turns a set of still images into a single animated GIF. You upload the pictures, put them in the order you want, decide how long each one stays on screen, and the tool writes a standards-compliant GIF89a file you can download. It is built for image sequences — exported design frames, screenshots, photo bursts, stop-motion shots, slide-style tutorials. It does not accept video files, so if your source is an MP4 or a screen recording you will need to export frames from it first.

The encoding is done by a GIF89a encoder written from scratch in TypeScript and running inside your browser tab. It builds a color table for each frame, compresses the pixel indices with LZW, writes the NETSCAPE2.0 application block that controls looping, and emits the binary structure the GIF specification defines. Nothing is uploaded: your images are read with the browser's File API, drawn onto a canvas, and encoded in memory. Close the tab and every trace of the session is gone.

It is worth knowing where the encoder's limits are so the output matches your expectations. Colors are reduced by uniform quantization — the RGB cube is divided into evenly spaced buckets — rather than by an adaptive algorithm like median cut, and there is no dithering. That combination is excellent for flat, graphic content: screenshots, UI recordings, illustrations, logos, pixel art, anything with solid fills and hard edges. Photographic frames with smooth gradients will show visible banding, because there is no dither noise to disguise the steps between palette entries. Choose your source material accordingly and this tool will do a clean, fast job.

Key Features and Benefits

  • Any browser-readable image becomes a frame Drop in PNG, JPEG, WebP, BMP, or SVG files — anything your browser can decode as an image works, and each file becomes exactly one frame. You can add more images at any point without starting over, so building a sequence in stages is straightforward.
  • Full control over frame order Every frame appears in a list with a thumbnail and its original filename. Drag rows to reorder them, nudge a single frame up or down with the arrow buttons, or delete a frame you no longer want. The order in the list is exactly the order in the finished animation.
  • Global or per-frame timing Set one delay in milliseconds that applies to the whole animation, or switch to per-frame mode and give each image its own duration — useful when a title card should linger and the following steps should move quickly. GIF stores timing in centiseconds, so your millisecond value is rounded to the nearest hundredth of a second when the file is written.
  • Loop count you choose The loop setting is written into the NETSCAPE2.0 application extension block. Leave it at 0 for the endless loop most web GIFs use, or enter a specific number of repetitions when you want the animation to stop on its own.
  • Explicit output dimensions Type the exact output width and height, or click Auto-detect to copy the dimensions of your first image. Every frame is scaled to fit inside that canvas with its aspect ratio preserved and centered, so mismatched source sizes never distort — though any leftover space around a frame is filled rather than left transparent, which is why matching the canvas to your source aspect ratio gives the cleanest result.
  • Color budget as a size dial Pick 256, 128, 64, or 32 colors. Because the palette is built by dividing RGB space into equal steps, the practical maximum is 216 distinct colors at the 256 setting, and fewer colors mean a coarser grid but a noticeably smaller file. It is the fastest lever you have when the result comes out heavier than you want.

How to Create a GIF From Images

  1. 1

    Upload your images

    Drag your files onto the upload area or click to browse — you can select many at once. Each image is added to the frame list in the order the browser hands them over, and you can keep adding more later using the Add more images strip above the list.

  2. 2

    Arrange and prune the sequence

    Reorder frames by dragging their rows or using the up and down arrows, and remove any frame that does not belong with the close button. Watch the frame counter as you go: file size grows roughly in proportion to the number of frames, because each one is stored as a complete image rather than as a difference from the frame before it.

  3. 3

    Set the timing and the loop

    Choose Global delay to give every frame the same duration, or Per-frame to set them individually. Around 100 ms per frame gives a comfortable 10 fps for tutorials and demos; shorter delays look smoother but need more frames to cover the same running time. Then set the loop count, leaving it at 0 for infinite playback.

  4. 4

    Choose output size and color count

    Enter the output width and height, or use Auto-detect from first image so the canvas matches your source and nothing gets letterboxed. Then pick a color count — start at 256 and step down if the file needs to be smaller. Use Play Frames in the preview panel to step through the sequence at your chosen timing before committing.

  5. 5

    Create, check, and download

    Click Create GIF. The encoder quantizes each frame, LZW-compresses it, and assembles the file, then the preview switches to the finished animation and the sidebar reports frame count, dimensions, and file size. If the size is too high, lower the color count or the dimensions and encode again — re-encoding is cheap. When you are happy, click Download GIF.

Expert Tips for Creating GIFs

Play to the encoder's strengths. With uniform quantization and no dithering, flat color regions survive perfectly while smooth gradients break into visible bands. Screenshots, dark-themed code recordings, wireframes, line art, and anything exported from a vector tool look essentially identical at 256 colors and often hold up well at 64. Sunsets, skin tones, and soft photographic backgrounds are the hard case — if you must animate them, keep the color count at 256 and accept some banding, or flatten the gradients in your source images before uploading.

Control size at the source, because there is no inter-frame optimization to lean on. Each frame is written in full, so total file size tracks frames multiplied by pixels per frame almost linearly. Halving the output width cuts the pixel count to a quarter and is by far the strongest lever; dropping from 30 frames to 15 and doubling the delay keeps the same running time at roughly half the bytes. Most GIFs are viewed in chat windows and feeds at 320 to 480 pixels wide, so exporting at 640 or beyond usually buys nothing a viewer will ever see.

Match your canvas to your content, and remember GIF is not always the right container. Setting the output dimensions to the same aspect ratio as your frames — easiest via Auto-detect from the first image — avoids the filled margins that appear when a wide image is centered on a tall canvas. And if you find yourself fighting to fit a long, detailed, photographic sequence under a size limit, that is the format telling you something: a short MP4 or WebM loop delivers the same content at a fraction of the size, and every modern platform autoplays it. GIF earns its place for short, graphic, universally embeddable loops.

Related Tools

The most reliable way to get a good GIF is to prepare the frames properly first. Resize your images to a single consistent size, convert anything in an awkward format, and only then build the animation here — that way the canvas matches the content, no frame is scaled twice, and the color reduction has a clean input to work with. If the finished file is still heavier than your platform allows, the GIF compressor gives you a second pass with fewer colors, fewer frames, or smaller dimensions. Every step in that chain runs locally in your browser, so your images stay on your device from the first upload to the final download.

Frequently Asked Questions

Recommended Tools