GIF Frame Extractor

Split an animated GIF into its frames, each shown complete and with its delay. Save PNG, WebP or JPG, one by one or as a ZIP. Your GIF never leaves your device.

or drop a GIF here

Private by design: everything runs in your browser and nothing is uploaded. Your video never leaves your device. Your last settings are kept only in this browser: .

Split a GIF into frames

An animated GIF is a stack of images, each with its own display time. Open one in this GIF frame extractor and every frame is laid out in order with its number and its delay in milliseconds, so you can see how the animation is timed and save the frames you need. Everything is decoded in your browser; the GIF is not uploaded.

  1. Choose a GIF or drop it on the box. All frames are extracted straight away.
  2. Untick any frames you do not want.
  3. Download single frames from their cards, or the selection as a ZIP. Files are numbered with three digits (name_frame_001.png) so they stay in order.

The status line shows the frame count, the total running time and how many times the GIF loops. A GIF with 24 frames of 100 ms each runs for 2.4 seconds per loop.

Extract frames from GIF as PNG

PNG is the default because, like GIF, it is lossless and keeps transparency: transparent areas of the GIF stay transparent in the PNG. WebP also keeps transparency at a smaller size. JPG has no transparency, so transparent pixels are filled with white.

The PNG has exactly the colours stored in the GIF. GIFs are limited to 256 colours per frame, so a PNG made from a GIF does not gain any detail; it simply avoids adding compression artefacts on top. If you have the original video the GIF was made from, extract the frames from that with the video frame extractor instead for full colour.

Why some GIF frames look broken (disposal explained)

Many GIFs save space by storing only the part of the picture that changed. Frame 5 might be a small rectangle around a moving ball, and the GIF says what to do with the previous frame before drawing it: keep it, clear the area to the background, or restore what was there before. This instruction is called the frame’s disposal method.

Simple frame splitters save these partial frames as they are stored, which is why their output can show a ball floating on an empty background, or smeared trails. This GIF frame extractor follows the disposal method and gives you each frame as it appears when the GIF plays, at the full size of the animation.

If you do want the stored pieces, for example to rebuild the GIF in an editor, choose Only the part each frame changes (raw). Each file then contains only that frame’s rectangle.

The card under each frame shows the stored delay and the delay browsers actually use. Browsers treat very short delays (below 20 ms) as 100 ms, so a GIF that stores 0 ms or 10 ms plays slower than its numbers suggest.

GIF or video?

Many “GIFs” on websites and messaging apps are really short MP4 or WebM videos, because video files are much smaller. If the file you saved ends in .mp4, .mov or .webm, this page will tell you so; open it with the video frame extractor instead, which reads every frame of a video, or use the tool to extract the last frame from a video if you only need the final image. Animated WebP and APNG files are not supported yet.

Real GIFs are usually small, but a long, large GIF can still hold hundreds of frames. All frames are decoded on your device, so a very long GIF takes longer to lay out on an older phone than on a computer.

Example results

Input: our sample GIF (320×180, 24 frames, 100 ms per frame, 2.4 seconds per loop), made from our own animation.

SettingFilesNames
Full frames, PNG24sample-bounce_frame_001.png … _024.png
Frames 1, 7, 13 and 19 ticked4sample-bounce_frame_001.png, _007, _013, _019
GIF frame 1
#1 · 100 ms
GIF frame 7
#7 · 100 ms
GIF frame 13
#13 · 100 ms
GIF frame 19
#19 · 100 ms

Frequently asked questions

How do I extract frames from a GIF?

Open the GIF on this page and all of its frames are shown in order with their numbers and delays; download single frames or a ZIP of the frames you tick.

The GIF is processed in your browser and is not uploaded.

Why do some frames from other GIF splitters look broken?

Many GIFs store only the part of each frame that changes, and other tools save those partial pieces as they are.

This tool rebuilds each frame the way a browser shows it, following the GIF’s disposal method, so every file is a complete picture.

Does it keep transparency?

Yes, PNG and WebP keep transparent areas transparent. JPG has no transparency, so transparent pixels become white.

What do the delay numbers mean?

Each GIF frame stores how long it stays on screen, in hundredths of a second, shown here in milliseconds.

Browsers show very short delays (under 20 ms) as 100 ms, so when a GIF stores 0 or 10 ms the card shows both values.

Can I extract frames from an animated WebP or APNG?

Not at the moment; this page reads GIF files only. Animated WebP and APNG files are not supported.

If you have the animation as a video file (MP4 or WebM), use the video frame extractor instead.

Is there a limit on the number of frames?

There is no fixed limit in the tool; large exports are split into ZIP files of up to 500 frames.

Each frame is drawn at the full size of the GIF, so a very large GIF needs more memory on your device.