ConvertFileBox

GIF Frame Extractor — Extract Every Frame as a PNG

Select files or drop them anywhere

Extract every frame from animated GIFs. 100% private — processed locally in your browser.

Or paste files directly from your clipboard.

  • 100% Client-Side Processing
  • Sequential Memory Guard
  • Free & Anonymous
SettingsPNG (Lossless)Transparency PreservedInteractive Scrubber

An animated GIF is a container of image frames played in sequence. Each frame is a complete or partial image with its own delay, palette, and disposal rules. Extracting those frames — turning each one into a standalone PNG — is the first step in editing an animation: replacing a single frame, adjusting timing, remixing frames into a new sequence, or converting the whole animation to a modern format like WebP or APNG. This tool decodes the GIF entirely in your browser; nothing is uploaded, and every PNG you download is pixel-identical to what you see playing the animation.

How a GIF stores frames

The GIF89a specification defines a stream of blocks. The file opens with a Logical Screen Descriptor that sets the canvas dimensions and optionally includes a global colour table of up to 256 entries. After that come a series of Image Descriptors, each prefixed by an optional Graphic Control Extension that carries the frame delay in hundredths of a second, the disposal method, and the transparent colour index. The pixel data for each frame is LZW-compressed and can reference either the global colour table or a local one specific to that frame. Each frame can be smaller than the canvas and positioned anywhere on it — a common optimisation that stores only the pixels that changed from the previous frame rather than redrawing the full canvas each time.

Disposal methods and compositing

The disposal method is the most misunderstood part of GIF decoding. It tells the renderer what to do with the current frame's area before drawing the next one. The four defined values are:

  • 0 — No disposal specified: renderer decides. Most treat this the same as method 1.
  • 1 — Do not dispose: leave the frame pixels in place as a background layer for subsequent frames. Used when each frame only adds to the canvas without needing to clear anything.
  • 2 — Restore to background colour: fill the frame's bounding box with the background colour before drawing the next frame.
  • 3 — Restore to previous: put back whatever was on the canvas under this frame before it was drawn. Rarely used and inconsistently supported across browsers.

This extractor composes each frame the same way a browser would, applying the correct disposal method at each step. The PNG you download is the composited frame — what the viewer actually sees at that moment in the animation — rather than a raw image descriptor that might be blank or partial if the GIF relied on pixels left over from earlier frames.

Transparency in GIF vs PNG

GIF uses an index-based transparency model: one palette entry is nominated as the transparent colour, and any pixel set to that index is treated as fully transparent. There is no partial transparency — every pixel is either 100% opaque or 100% transparent. PNG, by contrast, supports an 8-bit alpha channel giving 256 levels of opacity per pixel. When this tool exports a GIF frame to PNG, it maps the transparent palette index to alpha value 0 and all other pixels to alpha value 255, producing a clean binary transparency mask. The result is visually identical to the GIF frame but stored in a format that every image editor can open directly.

Why extract GIF frames

The most common workflow is editing. You want to replace one frame in an animation — fix a typo in a caption, swap a face, adjust a colour — but no editor lets you click into a GIF and change a single frame directly. The practical path is: extract all frames to PNG, edit the frame you need in Photoshop or GIMP or Figma, then reassemble the sequence in a tool like ezgif or FFMPEG. Extraction is also used for repurposing: pulling reaction frames from memes for use as stickers, archiving animation cels, analysing motion in a sprite sheet GIF, or converting a short loop to a modern format with better compression and partial transparency support. If you only need a single still frame for forms or sharing, you can also convert a GIF frame to JPEG directly.

How to extract frames from a GIF

  1. Drop your GIF. Drag the file onto the dropzone above or click to open a file picker. The GIF is read locally — nothing is uploaded.
  2. Preview the frames. Each frame appears in the grid with its frame number and delay in milliseconds displayed on the card.
  3. Download. Click the download button on any card to save that frame as a PNG, or click Download All to save every frame with sequential filenames.

Frequently Asked Questions

How does the GIF frame extractor work?

The extractor uses the gifuct-js library to parse the GIF binary directly in your browser. It reads the logical screen descriptor, colour table, and each frame's image data block — including the disposal method and frame delay — and renders each frame onto an HTML5 Canvas. No file ever leaves your machine; the entire decode happens locally.

What format are the extracted frames saved in?

Every frame is saved as a PNG file. PNG is lossless and supports a full alpha channel, which matters for GIFs that use the transparent colour index to achieve see-through areas. Saving as PNG ensures you get the exact pixel artwork from each frame without re-encoding artefacts.

Will transparency be preserved in the extracted frames?

Yes. The extractor reads the GIF Graphic Control Extension to identify which palette index is the transparent colour, and it renders those pixels with zero alpha on the Canvas. The resulting PNG carries the alpha channel intact, so transparent areas remain transparent rather than being filled with white or black.

Is there a file size limit?

The extractor accepts GIF files up to 50 MB. Very large or long GIFs may take a few seconds to decode because all processing happens in your browser thread. For extremely complex GIFs with hundreds of frames, extraction typically completes in under 10 seconds on a modern device.

Can I extract frames from multiple GIFs at once?

The current tool processes one GIF at a time. After extracting and downloading the frames from the first GIF, simply drop in the next one. Each extraction session replaces the previous frame grid, so there is no risk of mixing frames from different GIFs.

What is the difference between disposal methods in GIFs?

The GIF disposal method controls what happens to a frame's pixels before the next frame is drawn. 'Do not dispose' leaves the previous frame intact as a background. 'Restore to background' clears the frame area to the background colour. 'Restore to previous' reverts to whatever was behind the frame before it was drawn. This extractor reconstructs each frame as it would visually appear to a viewer, accounting for the disposal method so every exported PNG matches what you see playing the GIF.

Related converters and guides