GIF Maker

GIF maker

Add at least two frames.

Animated GIFs are still the easiest way to drop a reaction into Slack, a tutorial into a README or a product micro-interaction into a landing page. This GIF maker stitches PNG/JPG frames — or a trimmed MP4 — into a looping 256-colour GIF and lets you tweak the frame rate, the canvas size and the loop count before you download.

How to build a GIF

  1. 1

    Add frames

    Upload PNG/JPG images in order, or a short MP4 to be sampled into frames.

  2. 2

    Set the frame rate

    Typical values: 8–12 fps for UI demos, 15–24 for video-like motion.

  3. 3

    Pick dimensions and loop

    Resize the canvas and decide whether to loop forever or a fixed number of times.

  4. 4

    Export and download

    The tool encodes with global palette optimisation and returns a single .gif file.

GIF format limits

Attribute Limit / behaviour
Colour depth 256 colours per frame (8-bit palette)
Alpha 1-bit — either fully transparent or fully opaque
Frame delay Multiples of 10 ms — “60 fps GIF” actually caps at 50
Compression LZW — works best on flat, graphic images
File size No hard limit, but browsers struggle past ~10 MB

Tips to keep the file small

When to reach for MP4 or WebM instead

If the target platform supports autoplaying short video (Twitter, modern web pages, Discord), MP4 (H.264) or WebM (VP9) are 5–10× smaller than a comparable GIF for the same quality. GIF is still king in chat, email and legacy docs.

Frequently Asked Questions

GIF is limited to 256 colours and uses a fixed palette per frame. Gradients dither into noise, and skin tones often pick up banding. For a smoother look, reduce motion detail or switch to MP4/WebM.

Yes, but only 1-bit transparency — a pixel is fully transparent or fully opaque. Soft anti-aliased edges against a transparent background tend to look fringed; consider APNG or WebP if you need smooth alpha.

12–15 fps is a good default. Slack downsamples anything faster; Twitter converts GIFs to MP4 server-side, so a lower fps input still looks fine.

Encoding runs on the page and the assembled GIF is returned for download. Source frames are not retained after the export.