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

Frequently Asked Questions

What is a GIF Maker?

A GIF maker turns a sequence of still images — or a short video clip — into an animated GIF file that plays automatically in browsers, messaging apps, and social media feeds. The Graphics Interchange Format was introduced by CompuServe in 1987 as GIF87a, making it one of the oldest image formats still in active use. Two years later, the GIF89a revision added support for animation, transparency, and text overlays. The format uses LZW compression — named after Abraham Lempel, Jacob Ziv, and Terry Welch — to reduce file size while keeping every pixel intact. That lossless approach is a double-edged sword: it preserves sharp edges and flat colors beautifully, but it also means photographic content with subtle gradients produces larger files than you might expect.

The defining constraint of GIF is its 256-color palette. Each frame in a GIF file can reference at most 256 entries in a color lookup table. This limitation traces back to the 8-bit hardware of the late 1980s, when 256 colors felt generous. For flat illustrations, pixel art, and simple UI animations, 256 colors is more than enough. For photographs or cinematic footage, the restriction forces aggressive dithering — a technique that mixes available colors in patterns to simulate shades the palette cannot represent directly. Dithering adds visual noise and inflates file size because the resulting pixel patterns are harder for LZW to compress. Understanding this trade-off is the key to making good GIFs.

Despite its age and limitations, GIF remains popular because of one simple advantage: universal support. Every browser, every email client, every messaging platform renders animated GIFs without requiring a plugin, a codec, or a special player. You paste a GIF into a Slack message and it just plays. That frictionless experience is why the format thrives for quick tutorials, reaction images, product demos, and social media content — even as newer formats like WebP animation and AVIF offer better compression and wider color gamuts.

Key Features and Benefits

  • Image sequence to GIF Upload a series of PNG, JPEG, or WebP frames and the tool stitches them together into an animated GIF. You control the order by dragging thumbnails into position. This workflow is ideal for stop-motion animations, slide-based tutorials, or any scenario where you already have individual frames exported from a design tool like Figma or After Effects.
  • Video clip to GIF Drop a short MP4 or WebM file and the tool extracts frames at your chosen interval. A 5-second clip at 10 frames per second produces 50 frames — enough for smooth motion without ballooning the file size. The extraction uses the browser's VideoFrame API or a Canvas-based fallback, so the conversion happens entirely on your device.
  • Frame delay control Set the delay between frames in centiseconds — the native GIF timing unit. A delay of 10 means 100 ms between frames, giving you 10 fps. A delay of 4 yields 25 fps for smoother motion. Be aware that some browsers clamp minimum delays: Chrome and Firefox enforce a floor of roughly 20 ms (50 fps), and any delay below 20 ms is treated as 100 ms in older Internet Explorer versions. A setting of 30-50 ms (20-33 fps) is the safe zone for consistent playback.
  • Loop configuration GIF89a uses the Netscape Application Extension block to control looping. You can set the animation to loop forever — the default for most web GIFs — or specify an exact number of repetitions. A value of 0 in the loop block means infinite loops. A value of 1 means the animation plays twice in total: once through, then one repeat. This detail trips people up regularly, so the tool displays the actual play count to avoid confusion.
  • Color palette optimization The tool generates an optimal 256-color palette for each frame using the median-cut quantization algorithm. You can also choose a global palette shared across all frames, which produces smaller files at the cost of color accuracy in individual frames. For content with consistent colors — like a screen recording of a dark-themed IDE — a global palette works perfectly and cuts file size by 15-25%.
  • Crop and resize Trim unnecessary borders and scale the output dimensions before encoding. A smaller canvas means fewer pixels per frame, which directly reduces file size. Most GIFs shared on the web are between 320 and 480 pixels wide. Going beyond 640 pixels is rarely worth it because the file size grows quadratically with resolution while the perceived quality gain is marginal on small screens.

How to Create a GIF Online

  1. 1

    Choose your source material

    Decide whether you are starting from a set of still images or a video clip. For tutorials and slide-based content, individual frames give you precise control over what appears in each step. For screen recordings, gameplay clips, or camera footage, a video file is more convenient. The tool accepts PNG, JPEG, WebP, MP4, and WebM inputs.

  2. 2

    Upload and arrange frames

    Drag your files onto the upload area. If you uploaded images, rearrange them by dragging thumbnails into the correct order. If you uploaded a video, use the trim handles to select the segment you want and choose a frame extraction rate — 10 fps is a solid starting point for most content. The tool displays a timeline preview so you can see the sequence before encoding.

  3. 3

    Adjust timing and looping

    Set the frame delay to control playback speed. For a natural-looking animation, 50 ms (20 fps) works well. For a quick, snappy loop — like a reaction GIF — try 80-100 ms (10-12 fps). Choose whether the animation loops forever or plays a fixed number of times. Most GIFs intended for the web use infinite looping.

  4. 4

    Set the output size

    Pick the output width in pixels. The tool maintains the aspect ratio automatically. Aim for 320-480 pixels wide for messaging and social media. Use 640 pixels if you need more detail — for instance, a screen recording where text must remain readable. Every pixel counts: doubling the width quadruples the total pixel count and roughly quadruples the file size.

  5. 5

    Generate and download

    Hit the create button. The encoder quantizes colors, applies dithering, compresses each frame with LZW, and writes the GIF89a binary structure. Processing time depends on frame count and resolution — a 30-frame, 480-pixel-wide GIF typically finishes in 2-4 seconds. Preview the result, check the file size, and download when you are satisfied.

Expert Tips for Creating GIFs

Keep your frame count low. Every additional frame adds another full image — or at least a difference patch — to the file. A 3-second animation at 10 fps has 30 frames. The same animation at 25 fps has 75 frames and a proportionally larger file. Ask yourself whether the extra smoothness is worth the extra kilobytes. For most tutorials and product demos, 10-15 fps delivers clear motion at a reasonable file size. Reserve higher frame rates for content where fluid motion is the entire point, like a physics simulation or a smooth UI transition.

Use frame disposal methods strategically. The GIF spec defines three disposal modes: do not dispose, restore to background, and restore to previous. The default — do not dispose — leaves each frame on the canvas and draws the next frame on top. If consecutive frames share large static regions, the encoder can store only the changed rectangle in each subsequent frame, which dramatically reduces file size. This technique is called frame differencing or delta encoding. The tool applies it automatically, but you can help the encoder by keeping your backgrounds static and limiting motion to a small area of the canvas.

Choose between a global and a local palette based on your content. A global palette assigns one set of 256 colors to the entire animation. This works well when all frames share similar colors — a screen recording, a logo animation, or a repeated motion against a solid background. A local palette gives each frame its own 256 colors, which is necessary when colors change significantly between frames — like a timelapse of a sunset. Local palettes produce larger files because the palette data is repeated in every frame header, typically adding 768 bytes per frame for a full 256-entry table.

Consider whether GIF is really the right format for your content. For anything longer than 5-6 seconds or wider than 480 pixels, an MP4 or WebM video is almost always a better choice. A 10-second GIF at 480 pixels wide and 15 fps can easily reach 5-10 MB. The same content as an H.264 MP4 at equivalent visual quality might be 300-500 KB — a 10-20x reduction. Modern platforms like Twitter and Imgur silently convert uploaded GIFs to MP4 behind the scenes for exactly this reason. GIF's strength is universal inline playback without a video player chrome. If your target platform supports autoplay muted video — and most do today — you get the same seamless experience at a fraction of the bandwidth.

Dithering is your friend, but it has a cost. When the 256-color palette cannot represent a gradient smoothly, dithering scatters pixels of adjacent colors to create the illusion of intermediate shades. Floyd-Steinberg dithering is the most common algorithm and produces good results for photographic content. The downside is that the scattered pixel patterns are essentially random noise, and LZW compression is worst at compressing noise. A heavily dithered GIF can be 30-40% larger than the same animation with flat colors. If file size is critical, simplify your color palette before creating the GIF — reduce gradients, use solid fills where possible, and stick to a limited color scheme.

Related Tools

Creating a GIF is only half the job. The raw output from a GIF encoder is rarely optimal — there are almost always bytes you can shave off without visible quality loss. Running the result through a dedicated GIF compressor applies lossy color reduction, inter-frame optimization, and smarter dithering that the initial encoding pass may have skipped. If the compressed GIF is still too large, converting to WebP animation or falling back to a short MP4 loop often solves the problem. These tools work together as a pipeline: create the animation here, optimize it with the compressor, and convert the format if needed. The entire workflow runs in your browser, keeping your files private from start to finish.

Recommended Tools