Overview
Introduction
This tool takes an animated PNG apart, frame by frame, so you can inspect, reuse, or edit any single moment of the animation as an ordinary still image.
Decoding happens entirely in your browser using the same chunk-parsing and DEFLATE-decompression logic a full APNG-aware viewer uses.
What Is APNG Frames Extractor?
An APNG decoder that walks the uploaded file's PNG chunk stream, reads its IHDR dimensions and acTL frame/loop counts, and for every fcTL control chunk inflates and unfilters the paired IDAT/fdAT scanline data back into RGBA pixels.
Each decoded frame is rendered as its own downloadable PNG, alongside the delay it was shown for in the original animation.
How APNG Frames Extractor Works
The tool reads the uploaded file's raw bytes and confirms both the PNG signature and the presence of an acTL chunk before treating it as animated.
For each fcTL chunk it finds, it collects the following IDAT (frame 0) or fdAT (later frames) chunks, inflates their zlib-compressed payload with DecompressionStream, reverses PNG's per-scanline filtering, and places the resulting pixels onto a full-canvas RGBA buffer at that frame's declared offset.
When To Use APNG Frames Extractor
Use it when you need one specific frame from an animation as a plain image — a thumbnail, a still preview, or an asset for further editing.
It's also a quick way to inspect exactly how many frames an APNG has and how its timing is distributed before working with it further.
Often used alongside APNG Creator, APNG Player and APNG Checker.
Features
Advantages
- Decodes real APNG chunk data rather than approximating it, so extracted frames are pixel-accurate.
- Shows each frame's original delay alongside its image, useful for reconstructing or retiming the animation later.
- Runs entirely client-side; the uploaded file never leaves your device.
Limitations
- Only supports 8-bit grayscale, RGB, RGBA, and grayscale+alpha color types, not palette-indexed (color type 3) PNGs.
- Doesn't composite partial-frame dispose/blend operations across frames, so a minority of APNGs built around layered partial updates may extract with visible gaps.
Examples
Best Practices & Notes
Best Practices
- Check the frame count and delays first with the APNG Checker tool if you just need the numbers, not the pixels.
- Download only the frames you actually need — each is a full, independent PNG file.
Developer Notes
Chunk parsing, zlib inflation (via DecompressionStream), and PNG's four scanline filter types (Sub/Up/Average/Paeth) are all implemented as pure, unit-tested functions over Uint8Array bytes with no DOM dependency; the component's only job is reading the uploaded File's bytes and rendering each decoded PixelBuffer through the shared preview panel.
APNG Frames Extractor Use Cases
- Pulling a single still thumbnail out of an animated PNG
- Auditing an APNG's frame count and per-frame timing before reusing it
- Extracting frames to re-edit individually and rebuild with the APNG Creator tool
Common Mistakes
- Uploading a regular, non-animated PNG and expecting frames back — only files with an acTL chunk qualify.
- Assuming extracted frame delays are in seconds; they're reported in milliseconds, matching the fcTL chunk's units after conversion.
Tips
- Frame numbering matches playback order, so frame-1.png is always what's shown first.
- If you only need to reverse or retime an animation rather than inspect individual frames, the dedicated APNG Reverser/Speed Changer tools skip the manual re-assembly step.