Your country

Tools that support it use your country for local currency, number formats, units and paper size. Your choice is saved only in this browser.

Type a name or a two-letter code. Use the up and down arrow keys to move through the countries, Enter to choose one and Escape to close.

GIF Splitter (Frame Extractor)

Every frame of a GIF, APNG or animated WebP as a PNG or JPG — or one sprite sheet.

Image No upload Works offline Free, no sign-up

Next steps

About the GIF Splitter (Frame Extractor)

Take an animation apart: open an animated GIF, APNG (animated PNG) or animated WebP and get every frame as a PNG or JPG. Choose As shown to get each frame the way a browser displays it at that moment — the full picture, built up from earlier frames following the format’s disposal and blending rules — or Raw (as stored) to get exactly what each frame stores, which is often just the small part that changed.

The frame list shows every frame with its delay. Select the frames you want by ticking them or typing ranges such as 1-10, 15, 20-, then download them as a ZIP (with a frames.json listing each frame’s delay), save a single frame, or combine them into a sprite sheet — a grid, a row or a column — with matching JSON and, for one-row sheets, ready-made CSS animation code. All decoding happens in your browser; the file is never uploaded.

How to use it

  1. Choose, drop or paste an animated GIF, APNG or WebP. The frames appear as thumbnails with their delays.
  2. Pick As shown (full pictures) or Raw (as stored). For raw frames, keep Place raw frames on the full-size canvas ticked if you want them aligned.
  3. Select frames: tick them, use All, None, Every 2nd or Invert, or type ranges like 1-10, 15, 20- and press Select.
  4. Choose PNG (keeps transparency) or JPG with a background colour, then Download selected (ZIP) — or use the download button on a single frame, or open Sprite sheet.

Examples

A 24-frame loading spinner
Input
spinner.gif · As shown · All · PNG
Result
spinner-frames.zip with spinner-frame-01.png … spinner-frame-24.png and frames.json
Only the first second of a 30 fps clip
Input
Select frames: 1-30
Result
30 frames; frames.json lists each one’s delay in milliseconds
Sprite sheet for a CSS animation
Input
8 frames of 64 × 64 · Layout: One row · Spacing 0
Result
512 × 64 PNG plus CSS using steps(8) and background-position: -512px 0

CSS steps() shows every frame for the same time; the tool tells you when the original delays differ.

Common uses

  • Getting a single still picture out of a GIF or animated sticker.
  • Turning a GIF into a sprite sheet for a game engine or a CSS animation.
  • Editing individual frames in an image editor and rebuilding the animation with the GIF Maker.
  • Checking how an animated GIF, APNG or WebP is built: frame sizes, positions, delays and disposal.

“As shown” or “Raw”?

Animated images save space by storing, for most frames, only what changed, and by saying what happens to each frame afterwards. In a GIF that is the frame’s disposal method (GIF89a specification): keep it, clear its area to transparent, or restore what was there before. APNG frames have the same three options plus a choice to replace their area or draw over it (APNG specification); animated WebP frames can be blended or not and cleared or not (RFC 9649).

As shown applies those rules frame by frame, so each exported image is what you would see if you paused the animation there. Raw gives each frame’s own image — useful for inspecting how a GIF was optimised, or for reassembling it in an editor. Hover over a thumbnail to see a frame’s position, size and disposal.

About frame delays

GIF delays are stored in hundredths of a second. A delay of 0 or 0.01 s is shown by Chromium, Firefox and Safari as 0.1 s, so such frames are listed — and written to frames.json — as 100 ms. APNG delays are a fraction of a second (a denominator of 0 counts as 1/100), and WebP delays are whole milliseconds.

Limitations

  • Files up to 100 MB; GIFs up to 4,096 pixels on each side and 2,000 frames; APNG and WebP animations up to 16,384 pixels on each side and about 67 megapixels.
  • APNG and WebP frames are decoded by your browser, which must support them (all current versions of Chrome, Edge, Firefox and Safari do).
  • Sprite sheets are limited to 16,384 pixels on each side and about 67 megapixels (what phones and Safari can create); use a smaller frame size or fewer frames for long animations.
  • Animated AVIF is not supported.

Privacy

Everything happens in your browser. What you enter or open here is not uploaded or stored by MySmartCoPilot.

Frequently asked questions

Why do raw frames look broken or mostly transparent?

Because that is how they are stored: an optimised GIF keeps only the pixels that change, and everything else is transparent so the previous frame shows through. Choose As shown to get complete pictures.

Should I save frames as PNG or JPG?

PNG keeps every pixel exact and keeps transparency, which suits GIF frames (they have at most 256 colours). JPG files are smaller for photographic frames but are lossy, and transparent areas are filled with the background colour you choose.

Can I turn the frames back into a GIF?

Yes — open the frames in the GIF Maker and set each frame’s delay from frames.json in the ZIP.

Is my file uploaded?

No. It is decoded in your browser — GIFs in a background worker, APNG and WebP frames with the browser’s own decoder — and nothing is sent anywhere.

Quick answers and tool search

Type to search tools or to get a quick answer, for example 18% of 2500. Use the up and down arrow keys to move through the results, Enter to choose, and Escape to close.