guide

How to Make an Animated GIF for Free (No App, No Upload)

By Rui Barreira · Last updated: 13 June 2026

Animated GIFs have been on the internet since 1989. Despite being a 35-year-old format, GIFs remain the default way to share short looping animations on social media, messaging apps, Slack, and in emails — because every platform supports them natively without plugins, and they autoplay without sound on load. brevio GIF Maker turns 2–10 images into an animated GIF in your browser using a pure JavaScript GIF89a encoder — no upload, no account, no external library.

What GIF Is (and Why It Persists)

GIF stands for Graphics Interchange Format, developed by CompuServe in 1987. The format uses LZW (Lempel-Ziv-Welch) lossless compression for individual frames and stores up to 256 colors per frame. Two features explain its longevity: universal browser support (every browser since Netscape Navigator has displayed GIFs) and the looping extension (GIF89a's NETSCAPE2.0 application extension), which enables infinite auto-looping without any JavaScript.

The 256-Color Limit

GIF's most significant technical limitation is that each frame can display only 256 distinct colors, chosen from the full RGB palette. This is enough for illustrations, logos, and simple animations — but it produces visible banding and dithering on photographic images with gradients. A photograph of a sunset compressed to 256 colors shows harsh color steps where the gradient was smooth. For photographic animations, WebP animated or WebM video are technically superior, but neither has GIF's universal "paste anywhere and it works" behavior on messaging platforms.

brevio's GIF encoder reduces each frame's colors to 5-bit per channel (32 levels per channel), then selects the 255 most frequent quantized colors as the global palette. This approach works well for images with a limited color range; photographs with many colors will show some quantization artifacts.

Frame Delay Explained

GIF frame delays are specified in centiseconds (1/100th of a second). The GIF89a Graphic Control Extension stores the delay as a 16-bit integer, so the maximum delay per frame is 655.35 seconds. Common delay values:

DelayCentisecondsEffective FPSUse Case
100ms1010 fpsFast animation, action sequences
200ms205 fpsSlideshow-speed animation
500ms502 fpsSlow cycling, highlight tours
1000ms1001 fpsBefore/after transitions
2000ms2000.5 fpsSlow reveals, step-by-step guides

Note: some browsers enforce a minimum delay of 20ms even when the GIF specifies a shorter delay. For animations requiring more than 10 fps, WebM video is more appropriate.

File Size Trade-offs

GIF file size is determined by three factors: resolution, number of frames, and image complexity (number of unique colors and how much they change between frames).

  • 128px max size. Fastest to create, smallest files. Good for thumbnails, avatars, and reaction GIFs. A 5-frame GIF at 128px is typically 50–200KB.
  • 256px max size. Best balance of quality and file size. A 5-frame GIF at 256px is typically 200KB–1MB. Most suitable for general use.
  • 320px max size. Better quality for complex images. A 5-frame GIF at 320px can reach 500KB–3MB for photographic content. Use sparingly — large GIFs affect page load time.

When to Use GIF vs Alternatives

FormatColorsFile SizeUniversal SupportBest For
GIF256LargeUniversal (email, Slack, iMessage)Simple animations, memes, reaction GIFs
WebP animatedFull RGBSmaller than GIFChrome/Firefox/Edge (not all email)Photographic animations on web
WebM/MP4Full RGBSmallestBrowser only (not email or Slack inline)Long animations, video content
APNGFull RGBMediumChrome/Firefox (not all email)High-color web animations

DevTools Privacy Verification

  1. Open DevTools (F12) and go to the Network tab.
  2. Upload 2–3 images to the GIF Maker.
  3. Click Create GIF and then Download .gif.
  4. Inspect the Network tab — you will see zero POST requests with image data. The GIF encoder runs entirely in browser JavaScript: images are drawn to Canvas elements, pixels are read with getImageData(), quantized in memory, encoded with LZW, and assembled into a Uint8Array. The resulting blob is downloaded directly from browser memory.

GIF Maker Comparison

ToolCostAccountUpload RequiredMax FramesOutput Formats
brevio GIF MakerFreeNoNo10GIF
ezgif.comFree (ads)NoYes400GIF, WebM, MP4
GiphyFreeYesYes (cloud)UnlimitedGIF (public library)
Photoshop$22.99/moYesNo (desktop)UnlimitedGIF, PNG sequence
FFmpegFreeNoNo (CLI)UnlimitedGIF, WebM, MP4

FAQ

Why do my GIF colors look washed out?

GIF's 256-color limit causes visible quantization on photographs with gradients. For photographic content, the color reduction is most visible in smooth gradients (sky, skin, shadows). To improve quality: use fewer images so the palette can be optimized for fewer source images, or reduce the output size (128px) to minimize the impact of color banding.

How do I make a GIF from a video clip?

Export still frames from your video first using ffmpeg: ffmpeg -i input.mp4 -vf fps=2,scale=320:-1 frame%03d.png. This exports 2 frames per second at 320px width. Upload the PNG frames to brevio GIF Maker to assemble the animated GIF.

Why is my GIF file so large?

GIF compression works best on images with large flat-color areas (logos, illustrations). Photographic images with many colors compress poorly. To reduce file size: decrease max size (128px instead of 320px), use fewer frames, or simplify the images before creating the GIF (convert to a limited color scheme with an image editor).

Can I create a GIF with a transparent background?

Not with this tool — the encoder uses a solid color palette without transparency. GIF supports a single transparent color index, but implementing dithered transparency requires more complex encoding. For transparent animated images, use APNG or WebP animated with alpha channel support.

Frequently Asked Questions

Why do my GIF colors look washed out?
GIF's 256-color limit causes visible quantization on photographs with gradients. For photographic content, the color reduction is most visible in smooth gradients. To improve quality: use fewer images, reduce the output size to 128px, or use images with limited color ranges (illustrations, screenshots).
How do I make a GIF from a video clip?
Export still frames from your video using ffmpeg: `ffmpeg -i input.mp4 -vf fps=2,scale=320:-1 frame%03d.png`. This exports 2 frames per second at 320px width. Upload the PNG frames to brevio GIF Maker to assemble the animated GIF.
Why is my GIF file so large?
GIF compression works best on images with large flat-color areas (logos, illustrations). Photographic images compress poorly. Reduce file size by decreasing max size (128px instead of 320px), using fewer frames, or simplifying images before creating the GIF.
Can I create a GIF with a transparent background?
Not with this tool — the encoder uses a solid color palette without transparency. For transparent animated images, use APNG or animated WebP with alpha channel support.
More free toolsSee all 162
Merge PDFsCompress ImageJSON FormatterPassword GeneratorVAT CalculatorQR Code Generator