GIF to Frames
To split a GIF into frames, drop it in the box below. Every frame comes out as a full PNG, ready to save one at a time or as a ZIP of numbered files with a timing.csv of every delay. The frame count, total length and loop setting show as soon as the GIF loads. This GIF to frames splitter runs in your browser, and nothing is uploaded.
How to split a GIF into frames
- Drop a GIF. The header facts appear at once: dimensions, frame count, total length, loop setting and file size, all read from the file structure.
- Watch the frames arrive. Each frame is decoded, composited and turned into a PNG in turn, and the contact sheet fills in with every frame's number and delay.
- Save what you need. Click a frame to view it large and save it as a PNG, or type a range such as 5-20 (or * for all) and download a ZIP.
To view a GIF frame by frame, use the viewer above the contact sheet. Prev and Next step one frame at a time, the slider jumps anywhere, and Play runs the frames at their real delays. The caption under the frame gives its delay and the moment it starts.
The tool reads GIFs up to 100 MB with frames up to 2,073,600 pixels (1920 × 1080) and extracts up to 600 frames. Frames are decoded one at a time and only the compressed PNGs are kept, up to about 512 MB in total. If a GIF has more frames, or its PNGs pass that budget, the frames extracted so far stay available and the tool says where it stopped.
Why some extracted frames look smeared or cut off
Most GIFs do not store every frame whole. After the first frame, an encoder often stores only the rectangle that changed and marks unchanged pixels as transparent, so the previous frame shows through. Each frame also carries a disposal method that says what happens to it before the next one is drawn.
The GIF89a specification defines four disposal values: 0 (none specified), 1 (leave the frame in place), 2 (restore the area to the background) and 3 (restore what was there before). A splitter that saves the raw stored rectangles hands you fragments: a small patch, a smeared trail, or a frame that is mostly empty.
This tool composites every frame the way a viewer sees it, applying each disposal method in order, so every PNG is the complete picture at that moment. Transparent areas stay transparent in the PNG, which is why the previews sit on a checkerboard.
Reading the timing sheet
The ZIP always includes timing.csv, with one row per frame and these columns:
frame: Frame number, starting at 1.file: The PNG's name in the ZIP, zero-padded so it sorts correctly.delay_ms: How long the frame shows in Chrome, Edge and Firefox.stored_delay_ms: The raw delay written in the GIF.start_ms / end_ms: Where the frame sits on the animation's timeline.
In a full export, the last end_ms is the GIF's total length; a range keeps each
frame's original start time. The two delay columns differ only when
a frame stores 0 or 10 ms, which those browsers show at 100 ms. Many GIFs use one delay
throughout, but some hold a frame longer for a pause or a punchline, and the sheet makes
those easy to spot.
Frame rate is frames divided by length: 120 frames over 4.8 seconds is 25 fps. To plan a frame count before you animate, the storyboard frame counter does the reverse sum, from length and frame rate to frames.
If the pace is the only thing wrong, you don't need to split the file at all: the GIF speed changer rewrites the stored delays directly.
What to do with the frames
Edit a single frame
A frame is an ordinary PNG, so any image editor opens it. Shrink a heavy one for a web thumbnail with the image compressor. If you only need part of the picture, crop the whole animation instead, and check what cropping cannot fix before you start.
Rebuild the animation
Keep timing.csv with the frames. It records every delay, so an edited set can be put back together at the original pace, including any held frames. The frames to GIF maker in this toolset reads that file from a ZIP and applies the delays for you. Keep the filenames too: the zero-padded numbers sort correctly in every file manager.
If the frames came from a video, going back to the video is often the better starting point. The video to GIF converter lets you choose the frame rate and length before the first encode, which beats re-assembling frames by hand.
What this tool does not do
- It does not make sprite sheets. Frames come out as separate PNGs.
- It saves PNG only, not JPG or WebP. PNG is lossless and keeps transparency.
- It does not split animated WebP, APNG or video files, only GIFs.
- It does not change the GIF itself; the original file is only read.
GIF to frames FAQ
How do I split a GIF into individual frames?
Drop the GIF into the tool above. Every frame is decoded and saved as a full PNG while you watch, then you can save one frame from the viewer or download them all as a ZIP with a timing.csv. Nothing is uploaded; the work happens in your browser tab.
How can I see a GIF frame by frame?
Load it here and use the viewer. Prev and Next step one frame at a time, the slider jumps to any frame, and Play runs them at their real delays. Each frame's number, delay and start time are shown underneath, and the contact sheet below shows every frame at once.
How many frames are in my GIF, and is there a limit?
The Frames figure appears as soon as the GIF loads, read from the file itself. The GIF89a specification allows an unlimited number of images in one file, so the format has no frame limit. This tool extracts up to 600 frames at up to 1920 × 1080, and says where it stopped if a GIF has more.
Why do some extracted frames look incomplete or smeared?
Because the tool that produced them saved the stored patches instead of the displayed frames. GIFs often store only the part of each frame that changed, plus a disposal rule for what happens before the next frame. This tool applies those rules in order, so each PNG is the full frame as a viewer sees it.
Do the PNG frames keep transparency?
Yes. Transparent pixels in the GIF stay transparent in the PNG, including areas a disposal method clears between frames. GIF transparency is on or off per pixel, so the edges are hard rather than soft. The previews sit on a checkerboard so you can see which pixels are clear.
Want new frames instead of old ones?
Generate fresh footage in Playcut's AI video generator, then turn it into a GIF or split it into stills with the free tools here.
See the video generator