Split an animation into frames
Upload an animated GIF, WebP or PNG and download every frame as a separate picture, in a ZIP
with the frames numbered in order (name-001.png, name-002.png…).
- PNG or JPG: PNG keeps every pixel and transparency exactly; JPG makes smaller files for photo-like animations, with a background colour for transparent areas.
- Fewer frames: keep every 2nd, 3rd or Nth frame, and choose the first and last frame under More options.
- Timing: the frame count, the delay of each frame and the loop count are listed, and the ZIP
has a
frames.csvfile with each frame's number, delay and start time. - Sprite sheet: all selected frames in one PNG grid, with a JSON file of their positions and delays, for games, CSS animations and 3D programs.
- Contact sheet: the frames as thumbnails with their numbers and delays, as a JPG; it is also shown on the page after every split.
What the frames look like
Each frame is saved as it appears in the animation, fully drawn, not as the partial update GIFs often store. So every frame is a complete picture you can use on its own.
Delays are the ones browsers use: a frame stored with 0 or 10 ms is shown for 100 ms by browsers, and that is the value listed (you get a note when this happens).
A still picture (a GIF, WebP or PNG that isn't animated) gives one frame. A HEIC or AVIF file gives each of its pictures (a burst or collection holds several; they have no timing, so none is listed). A file that was cut off while downloading gives the frames that could be read, with a note.
Limits
Animations up to 3,000 frames and 160 million frame pixels in total (for example 1,000 frames of 400 × 400) can be split. The contact sheet shows up to 400 frames; the ZIP always has all selected frames.