Skip to content

Animation splitter

Splits an animated GIF, WebP or APNG into individual PNG frames in a ZIP — with per-frame durations.

Splits an animated GIF, animated WebP, or APNG into individual PNG frames at the source resolution. Uses the native browser ImageDecoder API from WebCodecs — it handles all three formats without third-party JS libraries, correctly applies frame disposal (this matters especially for GIF: dispose=Restore-to-Background and dispose=Restore-to-Previous change what is visible in frame N+1, and without correct handling frames N+1, N+2 would come out “dirty”), and returns already-composited RGBA frames. The output is a ZIP with frame-0001.png, frame-0002.png and so on, plus a manifest.json with per-frame durations in milliseconds — so you can reassemble through any animation tool without losing the timing. ImageDecoder support: Chrome 94+ (2021), Firefox 130+ (2024), Safari 17.6+ (2024) — on older browsers the tool tells you honestly it cannot help and suggests upgrading. Processing happens in the browser, the file never leaves your device.