What is GIF Maker?
A GIF maker turns a sequence of still images into a single animated file that plays and loops anywhere — in a chat window, an email, a README, a documentation page, or a forum post — without a video player, a plugin, or a click to start. That universality is why the format has outlived every attempt to replace it, thirty-five years after it was designed.
This tool builds the GIF entirely in your browser. Frames are drawn to a canvas, each one reduced to a 256-colour palette chosen for that specific frame, and encoded into a standards-compliant GIF89a with the Netscape loop extension. Your images are never uploaded, which matters when the frames are screenshots of your own application or unreleased design work.
Frame order is taken from your filenames using a numeric-aware sort, so frame2 comes before frame10 rather than after it — the single most common way exported image sequences end up scrambled. You can reorder frames by hand, set the delay from 20 ms to a full second, cap the output width, choose how mismatched frame sizes are fitted, and enable ping-pong playback for a seamless back-and-forth loop.
Use Cases
Here are the most common ways people use GIF Maker every day.
Demonstrating a Feature in a README
A short GIF showing your CLI or UI in action communicates more in three seconds than three paragraphs of description. GitHub renders GIFs inline in README files and pull requests, where an embedded video would need a click. Capture a few frames of the interaction, set the delay to around 400 ms so each step is readable, and the whole demo is a single image tag.
Filing a Clear Bug Report
A GIF of the bug happening removes every ambiguity about reproduction steps. Screenshot each step, drop them in, and set a slow delay — 500–800 ms — so the reader can actually follow the sequence rather than watching it flash past. This is one of the highest-value uses of the format and one of the least glamorous.
Building a Product or Design Showcase
Multiple product angles, colour variants, or before-and-after states cycling in one image gives a landing page or a marketplace listing far more information than a single photograph. Ping-pong mode is particularly effective for before-and-after comparisons, since it moves smoothly in both directions instead of snapping back.
Creating a Time-Lapse or Stop-Motion
A series of photographs taken from a fixed position — a plant growing, a building going up, a drawing taking shape — becomes a time-lapse. Use a short delay (60–100 ms) for a smooth result. Keep the camera position identical between shots; any movement between frames reads as a jarring jump.
Animating a Logo or Social Post
Short looping animations reliably outperform static images in social feeds. Export the frames of your animation from a design tool, assemble them here, and you have a file that plays automatically everywhere. Keep it under a couple of seconds and under a megabyte — beyond that, platforms may recompress it badly.
Making a Slideshow That Plays Anywhere
A handful of images with a one-second delay makes a self-contained slideshow that plays in an email client, a chat app, or an embedded preview without any player. It is not a substitute for a real presentation, but for a short sequence that has to work everywhere, nothing else is as portable.
Examples
A UI Demo for a README
Six screenshots of a workflow, sized for GitHub.
6 PNG screenshots · 400ms delay · 480px wide 2.4s looping GIF, roughly 300–800 KB A Before-and-After Comparison
Two design states with ping-pong so it moves smoothly both ways.
2 images · 700ms delay · ping-pong on A GIF that eases between the two states rather than snapping A Stop-Motion Sequence
Thirty photographs from a fixed camera position, played fast.
30 JPGs · 80ms delay (12.5 fps) · 320px wide 2.4s animation — small enough to embed anywhere GIF Maker vs an online GIF maker that uploads
Most GIF sites process your frames on their servers. The differences follow from that.
| Feature | Toolorah | an online GIF maker that uploads |
|---|---|---|
| Images leave your device | Never | Yes — uploaded |
| Watermark on the output | Never | Common on free tiers |
| Video input | No — images only | Usually yes |
| Frame count or size limits | Bounded only by your device | Free-tier caps |
| Ping-pong loop | Yes | Sometimes paywalled |
| Text and sticker overlays | No | Usually yes |
| Speed | No upload or queue wait | Upload, queue, download |
Tips for Using GIF Maker
- Name your frames with zero-padded numbers (frame001, frame002) if you export from another tool. This sorts correctly everywhere, not just here.
- File size scales with width squared. Halving the output width cuts the file to roughly a quarter — it is by far the most effective size lever.
- GIF allows only 256 colours per frame, so photographs and smooth gradients band visibly. Flat-colour UI screenshots compress beautifully; sunsets do not.
- For a smooth-looking animation aim for 10–15 fps, which means a delay of 65–100 ms. Below about 8 fps the motion reads as a slideshow.
- Under 20 ms of delay, browsers clamp the playback speed to their own minimum — so setting 10 ms does not make it play twice as fast, it just makes the file lie.
Frequently Asked Questions
Are my images uploaded?
No. Frames are decoded, drawn to a canvas, quantised, and encoded into a GIF entirely in your browser using JavaScript and the gifenc library. Nothing is transmitted, nothing is stored, and the tool keeps working if you disconnect after the page loads. That makes it safe for screenshots of internal tools, unreleased designs, and anything else you would not upload to a stranger's server.
Why is my GIF so large?
GIF uses LZW compression, which was designed in 1987 for flat graphics and handles photographic content poorly. Three things drive size: dimensions (the largest factor by far — file size scales with the square of the width), frame count, and colour complexity. To shrink a GIF, reduce the width first, then remove frames, then simplify the imagery. A 480px GIF is typically a quarter the size of the same animation at 960px.
Can I use a video as input?
Not directly — this tool takes still images. To convert a video, extract frames first using a video editor, VLC's snapshot feature, or ffmpeg (`ffmpeg -i clip.mp4 -vf fps=10 frame%03d.png`), then drop the resulting images here. Extracting at 10 fps gives a good balance between smoothness and file size.
How do I control the playback speed?
The frame delay slider sets how long each frame is shown, in milliseconds. Lower is faster: 100 ms is 10 frames per second, 40 ms is 25 fps. Note that browsers enforce a minimum effective delay of about 20 ms, so values below that will not play any faster than 20 ms. The current setting is shown in both milliseconds and frames per second.
What does ping-pong mode do?
It plays your frames forwards, then backwards, before looping. For a two-state animation like a before-and-after, or any motion that does not naturally return to its starting position, this removes the visual snap at the end of each loop. It roughly doubles the frame count and therefore the file size, and it needs at least three frames to have any effect.
Why do my frames look letterboxed?
A GIF has one canvas size for all frames, taken from your first frame. Frames with a different aspect ratio have to be fitted into it. "Fit" letterboxes them with your chosen background colour, "Fill" crops to cover the canvas, and "Stretch" distorts them to fit exactly. If your frames are all the same size — which they should be for a clean animation — none of this applies.
Why do photographs look banded?
The GIF format allows a maximum of 256 colours per frame. A photograph typically contains tens of thousands, so the encoder picks the best 256 and maps everything else onto them, which produces visible bands in skies, skin tones, and gradients. This is a limitation of the format itself, not the tool. For photographic content, an MP4 or WebP animation will look far better at a fraction of the size.
Is there a limit on frames or image size?
No imposed limit, but encoding happens on your device and each frame is quantised individually. A hundred large frames will take a while and may struggle on a phone. If a large batch is slow, cap the output width first — it reduces both the encoding time and the file size dramatically.