APNG to GIF Converter

Decodes an Animated PNG's frames and per-frame delays, quantizes every frame's colors to a shared 216-color palette, and re-encodes the sequence as a genuine LZW-compressed animated GIF file, all client-side with no server upload. A free online tool from Staaarter, right in your browser.

Runs locallyUpdated 2026-07-26

Overview

Introduction

This tool converts an Animated PNG (APNG) file into a standard animated GIF, entirely in your browser, so you can share animations on platforms or in contexts that only support GIF.

Every frame is decoded, quantized, and re-encoded locally; nothing you upload ever leaves your device.

What Is APNG to GIF Converter?

A client-side APNG-to-GIF converter that reads an APNG's acTL/fcTL/fdAT chunk structure to recover each animation frame and its delay, then builds a genuine LZW-compressed GIF89a file from those frames.

It writes a single shared global color table (a uniform 6x6x6 color cube plus one transparent index) so every frame in the output animation uses one consistent palette.

How APNG to GIF Converter Works

The APNG is decoded frame-by-frame using this category's shared APNG decoder (built on DecompressionStream('deflate') and PNG's row-filter reversal), producing a full RGBA pixel buffer and delay value per frame.

Each frame is then quantized to the shared 216-color palette (pixels more than half-transparent map to a dedicated transparent palette index), LZW-compressed, and written out as one GIF image block with its own Graphics Control Extension for timing and transparency.

When To Use APNG to GIF Converter

Use it when you need an APNG's animation to work somewhere GIF is the only supported animated image format, such as older messaging platforms, forum signatures, or legacy CMS upload fields.

It's also useful for quickly checking how much visual quality is lost when an animation is constrained to GIF's 256-color palette.

Features

Advantages

  • Runs entirely client-side; the uploaded APNG is never sent to a server.
  • Produces a real, valid, LZW-compressed GIF89a file that plays in any GIF-compatible viewer.
  • Preserves per-frame timing and the animation's loop count.

Limitations

  • GIF's 256-color palette (216 usable colors here plus one transparent index) can introduce visible banding on smooth gradients that the original APNG rendered in full 24-bit color.
  • GIF has no partial transparency; semi-transparent APNG pixels are forced to either fully opaque or fully transparent based on a 50% alpha cutoff.

Examples

4-frame loading spinner

Input

A 64x64 APNG, 4 frames, 200ms delay each

Output

A 64x64 animated GIF, 4 frames, 20-centisecond delay each

Frame count and relative timing are preserved; only color depth and transparency precision change.

Non-animated PNG upload

Input

A regular single-frame PNG (no acTL chunk)

Output

Error: "This PNG has no acTL chunk, so it isn't an animated PNG (APNG)."

The tool checks for the APNG-specific acTL chunk before attempting conversion.

Best Practices & Notes

Best Practices

  • Preview the converted GIF before relying on it, since color quantization can be more noticeable on photographic content than on flat-color graphics.
  • Keep source APNGs simple (icons, logos, UI animations) for the cleanest GIF conversion results.

Developer Notes

The GIF encoder (palette quantization, LZW compression, and GIF89a chunk assembly) is a pure function operating on decoded PixelBuffer frames with no DOM dependency, fully unit-testable under Node; the async wrapper only adds the DecompressionStream-based APNG decode step.

APNG to GIF Converter Use Cases

  • Converting an animated app icon or badge for a platform that only accepts GIF uploads
  • Sharing a short APNG animation on a forum or chat client without native APNG support
  • Archiving an APNG animation in the more universally-supported GIF format

Common Mistakes

  • Expecting identical colors after conversion — GIF's palette limit means some quantization is unavoidable.
  • Uploading a plain, non-animated PNG and expecting a single-frame GIF; this tool specifically targets animated APNGs.

Tips

  • If color banding is noticeable, try simplifying the source APNG's palette before converting.
  • Check the output file size — GIF's LZW compression can produce larger or smaller files than the source APNG depending on content.

References

Frequently Asked Questions