Skip to content

APNG (animated, lossless) export

The APNG engine exports an animated asset as a single animated PNG file. Asset-scope only. Pro feature - on the free tier, animated exports are limited to GIF (see Free vs Pro). APNG is the lossless sibling of GIF - same workflow, same per-frame durations baked in, but with full 8-bit alpha and no 256-color palette limit.

Useful for:

  • Animations with more than 256 colors per frame (gradients, detailed shading, anti-aliased outlines)
  • Animations that use soft alpha (semi-transparent overlays, fades, screen / overlay blend modes)
  • Long-term archival of an animation source where you don’t want to re-encode against a quantized palette
  • Embedding on a site where modern-browser support is fine and you want every frame to be pixel-perfect

A single file named <asset-slug>.png (yes, .png - animated PNG keeps the .png extension; the additional acTL chunk inside the file is what makes it animated).

Every modern browser (Chrome, Edge, Firefox, Safari) renders APNG natively. Older image viewers and some legacy tools fall back to showing the first frame as a static image rather than failing - so an APNG is always at least as good as a static PNG export, with the animation as a bonus on capable clients.

Same controls as GIF:

  • All frames - every frame in source order. The default.
  • Active tag (only shown when the asset has tags) - just the active tag’s range and direction.
  • Custom range - explicit from / to indices in the inputs below.

For multi-tag assets, the dialog also surfaces a dedicated Export per tag button that emits one APNG per tag, bundled into a single .zip. Each file inside is named <asset>-<tag-name>.png.

Same as GIF - leave empty to use the per-frame durations from the timeline, or type a positive number to flatten every frame to a uniform rate for this export only.

APNG inherits PNG’s color depth, which means:

  • Full RGB color - no 256-color palette limit. Every frame can use millions of colors without banding or quantization.
  • 8-bit alpha - every pixel can be any level of transparency from fully opaque to fully transparent. GIF only supports a 1-bit alpha (on or off).
  • Lossless compression - the encoded animation is bit- perfect identical to what the canvas composites. No generation loss across re-exports.

The trade-off is file size - APNG files are typically 2-5x larger than the equivalent GIF for the same animation. Worth it for visual quality on web embeds where bandwidth isn’t the bottleneck; less ideal for chat-app shares where GIF’s smaller size wins.

Same as GIF: layers composite to a flat frame before encoding, and block-texture face mode behaves the same way (mirror-mode composite or active-face).

APNG support, as of 2026:

  • Chrome / Edge / Firefox / Safari - native, full animation
  • Discord - animates in messages and embeds
  • GitHub - animates in READMEs and issue comments
  • Older viewers (e.g. Windows Photos, some legacy Mac tools) - shows the first frame as a static PNG

If you need 100% animation playback everywhere, including ancient tools, use GIF instead.