GIF Frame Extractor
Pull every frame out of a GIF as PNG — with real per-frame delays, decoded locally.
Drop a GIF here or click to browse
Files never leave your browser
How to use
- Drop a .gif file onto the box or click to browse.
- Press Extract frames — each frame appears with its size and delay.
- Download single frames or all of them at once.
Frequently asked questions
How are the frames extracted?
The GIF bytes are parsed locally with the MIT-licensed omggif decoder: every frame is blitted to full RGBA, drawn on a canvas and re-encoded as a PNG. The whole decode happens in your tab — files never leave your browser.
Why do the exported frames look "complete" instead of partial?
GIF frames are often stored as small patches that only change part of the picture. The decoder composites each patch onto the accumulated canvas before export, so every PNG shows the full image as viewers display it at that moment.
What do the per-frame delays mean?
GIF stores each frame's delay in hundredths of a second. The label shows the real milliseconds; anything below 20 ms is displayed as ≈100 ms because that is how browsers actually play near-zero delays.
How do I download every frame?
Each frame has its own Download button, or use "Download all frames" — files arrive one by one (frame-001.png, frame-002.png, …) with a short pause so the browser does not block the burst.
Are huge GIFs a problem?
Decoding needs one full RGBA buffer per frame plus a PNG blob, so very long or very large animations take memory. For a 500-frame 1080p GIF, expect a noticeable pause — smaller GIFs finish in a blink.