IMAGE BASE64 TOOL

GIF Frame Extractor

Drop GIFs to extract full-canvas PNG frames and original frame delays, entirely in your browser. No registration and no file upload.

Ready. Choose your GIF files.

Limits: 25 MiB per file, 20 files per drop, 64 million decoded frame pixels per batch. Large animations may exceed your device memory.

Measured frame exports

On 2026-10-24, Python 3.12.14 with Pillow 12.3.0 read the 225-byte small.gif as three 16 by 12 pixel frames with delays of 0, 70 and 130 milliseconds. After this tool exported those three frames, the Python RGBA comparison reported zero differing pixels in each downloaded PNG against its corresponding Pillow frame. The first single-frame PNG download contained 145 bytes and matched the first Pillow frame pixel for pixel.

Python read the 6579-byte large.gif as eight 640 by 360 pixel frames, with delays of 20, 40, 60, 80, 100, 120, 140 and 160 milliseconds. The Python comparison of its eight exported PNG files reported zero differing RGBA pixels for every frame. Its second stored GIF rectangle measured 241 by 181 pixels, while the second exported PNG measured the complete 640 by 360 pixel canvas.

Python read the 533-byte transparent.gif as four 64 by 48 pixel frames with disposal values of 1, 2, 3 and 1 and delays of 30, 90, 150 and 210 milliseconds. The downloaded PNG frames contained 2647, 2247, 2647 and 2672 fully transparent pixels respectively, and the Python comparison reported zero differing RGBA pixels in each frame. The Python timing comparison read the downloaded timing.csv files and returned the same delay for each of the fifteen reference frames, including the zero-millisecond first frame of small.gif.

Test GIFInput bytesFramesPNG canvasRGBA differences per frame
small.gif225316 × 120 / 0 / 0
large.gif65798640 × 3600 in each of 8 frames
transparent.gif533464 × 480 / 0 / 0 / 0

Delays and limits

PNG files are still images. The ZIP includes timing.csv with original delays, source rectangles and disposal values; it does not turn the PNG files into another animation. A stored zero delay remains zero in the CSV, rather than being replaced with a playback default.

To turn a selected sequence of exported PNG frames back into an animation, assemble PNG frames with editable GIF delays and enter the delays from timing.csv in milliseconds.

These checks cover three generated samples, not every GIF encoder or damaged file. Frames are exported after compositing onto the GIF canvas, rather than as isolated changed rectangles. Browser memory can stop a batch below the stated limits. Clear the batch to release its previews before extracting another large animation.