A LITTLE HELP. A LOT DONE.
Good tools.
Great flow.
Your shortcut to the everyday. Create, convert, calculate,
and get back to what you love.
✳
✳
✓ Free to use✓ No sign-up✓ 500+ possibilities
About this tool
GIF Frame Splitter extracts every frame from an animated GIF as a separate still image — your choice of PNG (lossless, larger) or JPG (compressed, smaller). All processing runs locally in the browser via ffmpeg.wasm. The first 30 frames appear as a thumbnail grid with one-click download buttons; for longer GIFs, every extracted frame goes into a single ZIP via the JSZip CDN library. Common uses: creating a contact-sheet preview of an animation, recovering a still from a GIF reaction, exporting frames for further editing or annotation, building a frame-by-frame slideshow, or analysing motion in animation work.
Why use it
Every frame extracted as a separate, fully-resolved still
PNG output is lossless — perfect for further editing or printing
JPG output is compact — perfect for previews and contact sheets
Thumbnail grid shows first 30 frames inline with quick-download buttons
ZIP download bundles every frame regardless of count
100% browser — your GIF never uploads
How to use
- Upload your animated GIF.
- Choose output format: PNG (lossless, ideal for editing) or JPG (smaller, ideal for previews).
- Click 'Split Frames' and wait while ffmpeg.wasm decodes every frame.
- Download individual frames from the thumbnail grid, or click 'Download All as ZIP' for the full set.
When it helps
- Recovering a single high-quality still from a memorable GIF moment
- Building a contact sheet or storyboard from an animation
- Editing every frame in another tool (e.g. removing a watermark frame-by-frame)
- Analysing animation work frame-by-frame for tutorials or critique
- Exporting frames to feed into a different animation tool or video editor
- Creating a printable flipbook from a short GIF animation
Examples
01Recover still from reaction GIF
Input30-frame meme GIF, PNG output
Expected result30 lossless PNG frames in a ZIP, ready to pick the best still
02Contact sheet for animation review
Input120-frame animation cycle, JPG output
Expected resultCompact JPG set under 1 MB total, perfect for review docs
Input60-frame GIF needing watermark removal, PNG output
Expected result60 PNGs ready to edit in Photoshop, then re-stitch with the GIF Maker tool
Tips
- Use PNG output when frames will be re-edited; PNG round-trips losslessly through every editor.
- Use JPG output for contact sheets and quick previews — files can be 10× smaller for similar visual quality.
- If you only need frames for further GIF work, PNG keeps animations re-encodeable without artefact stacking.
- Frame names are `frame_0001.png`, `frame_0002.png`, … so they sort alphabetically across all standard tools.
- For very long animations (>500 frames), pre-trim with the GIF Speed Changer or a video tool before splitting.
- After splitting, re-stitch with the GIF Maker from Images tool to rebuild the animation with edits applied.
Frequently Asked Questions
Does my GIF leave my device?⌄
No — ffmpeg.wasm runs locally. JSZip also runs entirely in the browser. Nothing uploads to a server.
Why is the thumbnail grid limited to 30 frames?⌄
To keep the page fast on long GIFs. The remaining frames are still bundled in the ZIP — they just don't render as inline thumbnails.
PNG or JPG — which should I pick?⌄
PNG when frames are headed for further editing or print (lossless). JPG when you just need previews or a contact sheet (much smaller files).
Will JPG output have lossy artefacts?⌄
Yes — JPG is a lossy codec. It is fine for previews; never use JPG output if you plan to re-encode the result back into another GIF or animation.
How many frames can I extract?⌄
Up to 500 frames per run, which covers nearly every web GIF. Beyond that, split the GIF first with another tool.
Can I extract just a single frame?⌄
This tool extracts all frames at once. For a single timestamped extraction, use the Video Frame Extractor on the GIF directly.
Does the ZIP contain the frames in order?⌄
Yes — file names are zero-padded (`frame_0001`, `frame_0002`, …) so they sort correctly in any file manager or build tool.
Why does it require Chrome or Edge?⌄
ffmpeg.wasm requires SharedArrayBuffer, only available on cross-origin-isolated pages in Chromium-based browsers.
Glossary
- Frame
- A single still image inside an animated GIF. Animated GIFs combine frames with per-frame display delays.
- PNG
- Portable Network Graphics — a lossless raster format ideal for further editing.
- JPG
- JPEG — a lossy compressed format with much smaller files than PNG, ideal for previews.
- Zero-padded filename
- Numbering scheme like `0001`, `0002` instead of `1`, `2` so files sort alphabetically in the right order.
- JSZip
- A JavaScript library that creates ZIP archives entirely in the browser; loaded from CDN here for the bulk download.
- ffmpeg.wasm
- Browser build of FFmpeg used for the GIF decode and per-frame export pipeline.