GIF Maker — Images to Animated GIF

Upload several images, set their order, frame delay, and loop, and turn them into an animated GIF. Everything is encoded in your browser with no upload.

How to use

  1. Upload several images.
  2. Set their order and adjust the frame delay and loop count.
  3. Encode and download your animated GIF.

GIF stores at most 256 colours per frame. Photographs tend to band as a result, and file size climbs quickly with frame count and dimensions. The format suits screen recordings and flat graphics far better than camera images.

In depth

GIF is an old format, and that is both the strength and the limit

GIF dates from 1987. It survives because it plays everywhere — messengers, forums and email all autoplay it with no player required.

The limit is 256 colours. Photographs and gradients band and dither badly.

So GIF suits short clips with few colours — screen recordings, diagram animations, simple reaction clips. Live-action video is the wrong fit at the format level.

Why the files get so large

GIF stores something close to a full image per frame. It lacks the inter-frame compression that video codecs use to store only what changed.

The result is 5–10× the size of an equivalent MP4. A ten-second GIF exceeding 5MB is routine.

Three levers reduce it: smaller dimensions, fewer frames (10–15 per second is smooth enough), and shorter duration.

Dimensions matter most. 480px wide is enough for nearly every use.

Frame rate and timing

Higher frame rates look smoother and cost size proportionally.

10–15fps is the practical balance for GIF. Beyond 24fps the visual gain is marginal while the file doubles.

Speed is set by frame delay: 100ms gives 10fps, 50ms gives 20fps.

Note that many browsers ignore delays under 10ms and substitute 100ms, which is why an extremely fast GIF can play slower than intended.

Transparency

GIF transparency is binary — fully on or fully off. There is no partial alpha, so no soft edges.

Rounded corners or drop shadows exported as transparent GIFs come out with jagged, aliased edges.

If transparency matters, APNG or WebP handle it properly, though neither is supported quite as universally.

What to use instead

For a web page, MP4 or WebM is far better — a tenth of the size at better quality. <video autoplay muted loop playsinline> behaves just like a GIF.

Animated WebP serves the same purpose at under half the size, with adequate browser support now.

GIF still wins where you need paste-anywhere behaviour. For a messenger or an email, it remains the reliable choice.

Loops, accessibility and craft

GIFs loop forever by default and offer no pause control. That is a genuine accessibility problem: rapidly flashing content can trigger photosensitive seizures, and endless motion distracts readers with attention difficulties.

Accessibility guidance requires a way to stop content that animates for more than five seconds. For anything longer, use video and give people controls.

Practical craft: the first frame becomes the thumbnail, so start on a representative moment. Matching the first and last frames makes looping seamless. Keep important information on screen across several frames, and set any text large — small type dissolves under 256 colours.

Made on your device

Assembling frames into a GIF happens entirely in the browser. Your images are not uploaded.

Long or high-resolution sequences use significant memory; reduce dimensions or frame count if the tab slows.

FAQ

Are my images uploaded?

No. GIF encoding runs entirely in your browser, so your images never leave your device.

How many images can I add?

There's no hard limit, but many or high-resolution frames make encoding slower and the file larger.

How do I control the playback speed?

Shorten the frame delay to speed the animation up, or lengthen it to slow it down — use the preview to fine-tune it.

Method and sources

What this tool bases its numbers on, and how far those numbers go.

What this tool is
An encoder that runs in your browser. It writes a GIF to the 1990 specification, which means it inherits that format's limits rather than working around them.
Formula
Each image is drawn to a canvas, quantised to a palette of at most 256 colours, and written as one frame of a GIF89a stream with the frame delay and loop count you set. Encoding happens locally, so no file is uploaded.
Worked example
At 256 colours a pixel takes 8 bits, so one 640 × 480 frame is 640 × 480 = 307,200 pixels, about 300 KB before the format's LZW compression. Ten such frames start from roughly 3 MB of pixel data.
Limitations
  • 256 colours per frame is a format limit, not a setting. Photographs and gradients band visibly, and dithering trades that banding for noise.
  • File size grows with frames × pixels. Halving the dimensions cuts each frame to a quarter, which is almost always the effective way to shrink a GIF.
  • Frame delays are stored in hundredths of a second, and browsers historically clamp very small delays. A delay under about 0.02 s will not play as written.
  • GIF has no partial transparency — a pixel is fully opaque or fully transparent. Soft edges from a PNG turn into hard, jagged ones.
  • Everything is encoded in the page, so large jobs are bounded by your device's memory. A long sequence at full resolution can exhaust a phone before it finishes.
Effective date
Last reviewed

Related tools

  • Image Compressor — Compress and resize images right in your browser.
  • PDF Merge — Combine PDFs in your browser — no upload.
  • Image to PDF — Combine photos into one PDF, right in your browser.
  • Split PDF & Extract Pages — Pull out the pages you need, delete pages, or rotate them — and split a PDF into single pages.