GIF Frame Extractor
Split an animated GIF into static frames (PNG/WebP/JPEG), preview frame by frame, download individually or as a ZIP - all processed locally
FAQ
Will many frames be slow?
Yes. The GIF is decoded frame by frame in your browser, so large animations take a few seconds. Wait rather than clicking again.
Can I export just one frame?
Yes, each frame downloads individually, and the whole set can be exported as a ZIP.
Which output formats are available?
PNG, WebP and JPEG. Choose PNG or WebP to keep transparency.
Is the GIF uploaded?
No, decoding is local to your browser.
About this tool
Extracting frames is not simply "pulling each frame out": GIF lets a frame store only the changed region, and its Disposal Method decides what happens afterwards (keep / restore background / restore previous). This tool composites frame by frame per the spec — layering incremental frames, resolving the transparent index, restoring or keeping according to disposal, and filling with the background colour from the logical screen descriptor when needed — so every exported image is a complete picture, not a patch with a hole in it.
Transparent GIFs take two opposite routes: designs that use transparency as a sprite sheet keep it, matching what browsers do, while ordinary GIFs without transparency restore the background colour as specified. Mixing the two produces white or black fringes, so if the background looks wrong, check which kind the source is.
Export formats are PNG / WebP / JPEG: PNG and WebP keep transparency, while JPEG cannot, so transparent areas turn black (Canvas does not paint a backdrop when encoding JPEG). Download frames one at a time or grab everything as a ZIP: files are numbered originalname-001.png upwards, and the ZIP uses store-only packaging with no compression, so its size is roughly the sum of the images.
Decoding happens locally (omggif is self-hosted and loaded on demand) and the GIF is never uploaded. Large or long animations consume a lot of memory; a run that stalls halfway is usually out of memory — try a smaller GIF or process it in pieces.