ImgVX AI

How to Extract Frames from a GIF: Free, No Upload

To extract frames from a GIF for free, open the GIF Frame Extractor, pick PNG, JPG or WebP, and drop in the GIF. Every frame comes out as a complete picture with its own download link, plus one ZIP of all of them numbered in order. It runs in your browser, so the GIF is never uploaded. Below are the results on four real test files, why some tools give you fragments instead of frames, and how to keep the timing.

Four frames taken out of one animated GIF, shown side by side as separate PNG files: a lighthouse on a sea cliff, a yellow tram in a narrow street, a hummingbird at a pink flower and a black and white copy of the lighthouse, each labelled with its file name, size and how long it was shown.
Real output of the GIF Frame Extractor: a four-frame GIF became four 360 × 492 PNG files. The display times come from the GIF itself.

The short answer

  • Tool: GIF Frame Extractor. Free, no sign-up, no watermark; the file stays on your device.
  • What you get: one image per frame, each rebuilt as the full picture, named yourfile-001.png, yourfile-002.png and so on, and a ZIP of all of them.
  • Format: PNG for transparent or flat-colour GIFs, JPG or WebP for photo GIFs (about a quarter of the PNG size in our test).
  • Limits: up to 300 frames per file; the frame delays are not kept; needs Chrome, Edge, Opera or Firefox 133 or later.
  • Not the right tool for a video file (convert it to a GIF first) or for an animation longer than 300 frames.

How do you extract frames from a GIF?

  1. Open the GIF Frame Extractor. It works the same on a computer and on an Android phone, in Chrome, Edge, Opera or Firefox.
  2. Choose the format under “Save frames as”: PNG, JPG or WebP. PNG is the default and the safe choice; see which format to pick.
  3. Drop in the GIF, or click to choose it. Animated WebP and AVIF files work too. The frames are decoded one by one, and a counter shows the progress.
  4. Download. “Download all as ZIP” saves every frame in one file, numbered -001, -002 and onward so they sort in the right order. To keep only some frames, use the download link under each one instead.

The tool reports how many frames it found and the size of each in pixels. Your original GIF is not changed.

What happened when we extracted frames from four real files?

We ran the tool on 15 November 2026 in Microsoft Edge 157 on a Windows PC. The test files were made for this article from the photos on our own home page and a simple drawing, so we knew exactly what was inside each one: the number of frames, the delays and how each frame was stored.

FileWhat is insideResultTimeZIP size
Photo slideshow GIF, 396 KB4 photos, 360 × 492 px, shown for 50, 100, 200 and 400 ms4 frames, 360 × 492 px eachUnder half a second770.9 KB as PNG
Sprite GIF, 5.7 KBA red ball moving across a transparent 480 × 160 canvas, 8 frames; frames 2 to 8 stored as small patches8 full frames, 480 × 160 px, background still transparentAbout half a second26.0 KB as PNG
Counter GIF, 91 KB320 numbered frames, 96 × 64 px300 frames and the note “This animation has 320 frames; the first 300 are shown.”5.4 seconds275.2 KB, 300 files
Animated WebP, 3.1 KBThe same 8-frame sprite saved as WebP8 full frames, identical to the GIF’sAbout half a second26.0 KB as PNG

Three things stand out. Extraction is fast for ordinary GIFs; even 300 frames took seconds, not minutes, though a phone or a large GIF will be slower. Frames stored as patches came back as whole pictures (the next section explains why that matters). And the PNG frames of a photo GIF add up to almost twice the size of the GIF itself, because PNG stores every pixel separately while the GIF shared one palette across the animation.

Why do some GIF frames come out as only part of the picture?

Three panels. First, the small 81 by 113 pixel patch an animated GIF stores for its second frame, a red ball on a transparent background. Second, the same frame as the GIF Frame Extractor saves it, the full 480 by 160 pixel picture with the ball in place. Third, all eight frames of the animation as PNG files with a transparent background and as JPG files with a white background.
The file stores only the part that changed; the extractor gives you the whole picture. PNG keeps the transparency, JPG fills it with white.

A GIF does not have to store every frame in full. The GIF89a specification lets each frame be a rectangle of any size placed anywhere on the canvas, with a rule for what happens to it before the next frame is drawn, called the disposal method (GIF89a specification, section 23):

Disposal methodWhat the player does before the next frameWhat a raw frame looks like
0, not specifiedNothing in particularOften a full frame, sometimes a patch
1, do not disposeLeaves the frame in place; the next one is drawn on topOnly the changed part, such as a moving mouth on a still face
2, restore to backgroundClears the frame’s area to the backgroundOnly the moving object, as in our sprite test
3, restore to previousPuts back what was there before the frameA temporary overlay

In our sprite GIF, the file stores frame 2 as an 81 × 113 pixel patch placed 69 pixels from the left and 24 from the top. Saved raw, frame 2 would be that small square on its own. The GIF Frame Extractor uses the browser’s own image decoder, which plays the frames forward and applies each disposal rule, so each saved file is the full 480 × 160 picture exactly as it appears in the animation at that moment. ImageMagick calls this step coalescing, and its documentation describes the -coalesce option as defining the full look of each frame. If another tool gives you a folder of odd-sized fragments, this is why.

Should you save GIF frames as PNG, JPG or WebP?

We extracted the same two GIFs in all three formats. The tool saves JPG and WebP at quality 92, which is high enough that the difference is hard to see at normal size.

Format4 photo frames8 sprite framesTransparencyBest for
PNG770.9 KB26.0 KBKeptStickers, logos, pixel art, anything you will edit and rebuild
JPG202.3 KB35.6 KBFilled with whitePhoto frames you want to post, print or send
WebP148.2 KB20.2 KBKeptThe smallest files when the place you upload to accepts WebP

PNG is the default for a reason: it keeps every pixel of the frame, and a GIF never has more than 256 colours per frame, so nothing is lost. JPG was the largest choice for the flat-colour sprite and the smallest widely accepted one for photos. If a site will not take WebP, convert later with the Image Converter, and if the JPG frames are still too big to send, the Image Compressor takes the whole set at once. The image formats guide explains the trade-offs in more depth.

How do you keep each frame’s timing?

A GIF stores a separate delay for every frame, in hundredths of a second, so one frame can stay on screen for two seconds while the next flashes for a twentieth of one. Our slideshow GIF had four different delays. Once you extract the frames, they are ordinary still images and that timing is gone: the GIF Frame Extractor does not list the delays, and no PNG or JPG file can carry them.

If the timing matters, read it before you split the file:

When you rebuild the animation in the GIF Maker, you set one delay for every frame (400 ms by default; 100 ms is ten frames a second). To hold one frame longer than the others, add that frame twice or three times in a row before you build.

What can you do with the extracted frames?

Extracting frames from an animation someone else made does not give you the right to reuse them. Reaction GIFs and stickers usually come from films, shows or artists; use frames from your own GIFs, or from ones whose licence allows it.

Which browsers can extract GIF frames?

The GIF Frame Extractor uses the browser’s built-in WebCodecs image decoder rather than shipping a decoder of its own. According to MDN’s ImageDecoder reference and its compatibility data, Chrome has had it since version 94, and Edge and Opera follow Chrome. Firefox added it in version 133, released on 26 November 2024 (Firefox 133 release notes). Safari lists it from version 27.3, which is still a beta on 15 November 2026, so released Safari on a Mac, iPhone or iPad cannot use the tool yet.

In a browser without the decoder, the tool says so plainly: “This browser cannot take a GIF apart.” It does not quietly hand you the first frame and pretend that was all of them. On an iPhone, install Chrome, Edge or Firefox; note that on iOS these browsers use Apple’s engine, so they may not have the decoder either until Safari does. A computer is the reliable route.

Should you use a browser tool, an upload site or a desktop command?

OptionWhere the file goesWhat you getWatch out for
ImgVX GIF Frame ExtractorStays in your browserFull frames as PNG, JPG or WebP, one ZIP300 frames per file; no delays listed; not in released Safari
Ezgif splitterUploaded by default; its page says files are deleted 1 hour after upload, and it offers a local processing optionFrames in several formats, ZIP download, a 200 MB file limitCheck which mode you are in before splitting a private GIF
Online GIF Tools frame extractorIn the browserChosen frames laid out as one PNG strip or gridOne image, not separate files
ImageMagickYour computermagick animation.gif -coalesce frame_%03d.png writes every full frame; no frame limitInstall and command line; leave out -coalesce and you get fragments
FFmpegYour computerffmpeg -i animation.gif -fps_mode passthrough frame_%04d.png writes one image per stored frameCommand line; best for very long GIFs and video files

For the usual job, a few dozen frames from a GIF on your own computer, the browser tool is the quickest and the most private. For thousands of frames, a batch of GIFs or a script, use ImageMagick or FFmpeg. In FFmpeg’s documentation, passthrough mode passes each frame through with its own timestamp, so frames are not dropped or duplicated to fit a fixed frame rate.

Troubleshooting

What you seeCauseFix
“This browser cannot take a GIF apart.”The browser has no WebCodecs image decoder (released Safari, older Firefox)Use Chrome, Edge, Opera or Firefox 133 or later on a computer
Only 1 frame from an animated GIFThe file is a still GIF, or you tried before 15 November 2026, when a bug made current Chrome and Edge read every file as one frameReload the page and try again; if it is still one frame, the GIF has only one
“The first 300 are shown”The tool stops at 300 frames per fileUse ImageMagick or FFmpeg for the full set
Transparent areas turned whiteJPG has no transparencyChoose PNG or WebP
The frames are fragments when opened elsewhereThat tool saved raw frames, not coalesced onesExtract here, or add -coalesce in ImageMagick
The rebuilt GIF plays at the wrong speedFrame delays are not kept in still imagesRead them first with ImageMagick and repeat frames to hold them longer
Colours look bandedA GIF frame has at most 256 colours; extraction cannot add back what the GIF droppedFind the original video or photos if you have them
A video file does not openThe tool reads animated images, not MP4 or MOVConvert the clip to a GIF first, or use FFmpeg on the video

More ways to change one format into another, including a single still from a GIF, are in how to convert images for free, and the free AI image editing guide lists the other tools that run on your device the same way.

Questions

How do I extract all the frames from a GIF for free?

Open the free GIF Frame Extractor, choose PNG, JPG or WebP under Save frames as, and drop in the GIF. Every frame appears as its own image with a download link, and "Download all as ZIP" saves them together, numbered in order. The GIF is read in your browser and never uploaded.

Why are some frames from my GIF only a small piece of the picture?

Many GIFs store only the part of each frame that changed since the last one, to save space. A tool that saves the raw frames gives you those fragments. The GIF Frame Extractor rebuilds every frame as the full picture, the same thing ImageMagick does with its -coalesce option, so each file looks exactly like the animation at that moment.

Should I save GIF frames as PNG or JPG?

Use PNG when the GIF has a transparent background or flat colours, such as a sticker, logo or pixel art: PNG keeps every pixel and the transparency. Use JPG or WebP for photographic frames: in our test, four photo frames took 770.9 KB as PNG, 202.3 KB as JPG and 148.2 KB as WebP. JPG fills transparent areas with white.

How do I get just one frame from a GIF?

Extract the frames and download only the one you want; each frame has its own download link. If you only need the first frame, the GIF to PNG preset of the Image Converter saves it in one step.

Does extracting frames keep the timing of the GIF?

No. The frames are still images, so the delay of each frame is not stored in them. GIF delays are set in hundredths of a second per frame; if you need them, read them before you split the file, for example with the ImageMagick command magick identify -format "%s %T\n" file.gif, which prints each frame number and its delay in hundredths of a second.

Why does the tool say this browser cannot take a GIF apart?

The GIF Frame Extractor uses the WebCodecs image decoder built into the browser. Chrome, Edge, Opera and Firefox 133 or later have it; Safari does not yet in its released versions. Open the page in one of those browsers, or use a desktop command such as ImageMagick if you have to stay in Safari.

Can I extract frames from an animated WebP or AVIF?

Yes. The same tool reads animated WebP and AVIF files as well as GIF, in browsers whose image decoder supports the format. In our test an eight-frame animated WebP came out as eight full frames, the same as the GIF version of the animation.