Staaarter

GIF Frame Splitter

Decodes an animated GIF and produces one valid single-frame GIF file per original frame, each keeping that frame's own delay, unlike a PNG export which drops the GIF-specific format entirely. A free online tool from Staaarter, right in your browser.

Runs locallyUpdated 2026-07-29
By Staaarter Team
framesexport

Overview

Introduction

Sometimes you need every frame of an animation as its own file, but specifically as a GIF, not a PNG, perhaps because a downstream system only accepts .gif uploads or you want to preserve each frame's own delay metadata. This tool does exactly that.

Decoding and re-encoding all happen locally in your browser via a hand-rolled GIF89a codec.

What Is GIF Frame Splitter?

A frame-export tool that turns every frame of an animated GIF into its own separate, valid single-frame GIF file.

Distinct from a PNG-based frame extractor: every output here stays in the GIF format, just with only one frame each.

How GIF Frame Splitter Works

The source GIF is decoded into its full frame array using this category's shared decoder.

Each individual frame is then re-encoded on its own, as a single-frame GIF89a file (loop count 1), keeping that frame's own original delay value.

When To Use GIF Frame Splitter

Use it when you need every frame as an individually addressable .gif file rather than a still-image format.

It's also useful for feeding individual frames into a workflow or tool that specifically expects GIF input.

Features

Advantages

  • Every output stays in the same file format as the source, unlike a PNG-based extraction.
  • Each frame's original delay value is preserved in its own file's metadata, even though it can't animate alone.
  • Uses the exact same shared encoder as every other tool in this category, for consistent output.

Limitations

  • A single-frame GIF obviously can't animate; if you need a still image instead, GIF Frame Extractor's PNG output is usually simpler.
  • Producing one file per frame means a large frame count results in many individual downloads.

Examples

Splitting a 5-frame GIF

Input

5-frame animated GIF with delays 10cs, 15cs, 10cs, 20cs, 10cs.

Output

5 separate single-frame GIF files, each keeping its own original delay value in its Graphics Control Extension.

Every frame is re-encoded independently as its own file; none of them reference or depend on the others.

Best Practices & Notes

Best Practices

  • If you only need still images rather than GIF-format output, use GIF Frame Extractor instead for a simpler PNG workflow.
  • Check whether your downstream tool actually needs the GIF-specific delay metadata before choosing this over a PNG export.
  • For very high frame counts, consider whether GIF Splitter's contiguous-range output might suit your use case better than one-file-per-frame.

Developer Notes

Each single-frame GIF passes through the exact same `encodeGif` function every multi-frame tool in this category uses, just called with a one-element frame array and loop count forced to 1, keeping this tool's output format-consistent with the rest of the category rather than a special-cased single-frame writer.

GIF Frame Splitter Use Cases

  • Feeding individual animation frames into a system or workflow that only accepts .gif file uploads
  • Preserving each frame's original delay value in file form, not just as an image
  • Archiving every frame of an animation in its native GIF container rather than converting to PNG

Common Mistakes

  • Expecting a single-frame GIF output to still animate; by definition, it can't with only one frame.
  • Choosing this tool when a simple PNG export (GIF Frame Extractor) would be the more natural fit for the actual use case.

Tips

  • Pair with GIF Joiner if you later want to recombine specific single-frame GIFs back into a new animation.
  • Use GIF Frame Viewer beforehand to confirm which frames and delays you're about to export.

References

Frequently Asked Questions