Split a GIF into frames
Extract every frame of an animated GIF as a PNG. It is decoded on this device and never uploaded.
- Nothing is uploaded
- Works offline after first visit
- Open source
- No watermark. The limit is your device’s memory (phones hold less): a long or very large GIF may need a computer.
Split an animated GIF into frames in your browser and save them as PNG files, one by one or as a ZIP. It is free, needs no account and adds no watermark, and your files are not uploaded: everything runs in your browser on your device. No watermark. The limit is your device’s memory (phones hold less): a long or very large GIF may need a computer.
Done
Free, no ads. Support StayPut
Open the network tab. Your files never appear in it.
Add files and run the tool to see every request this tab makes.
Your files are processed on this device and never sent to a server. Reload the page to clear everything from memory.
Drop an animated GIF and press Split GIF. Every frame comes out as its own PNG, numbered frame-001.png, frame-002.png and so on, and the page shows the frame count, each frame’s delay and the total time of the loop.
A GIF often stores only the part of the picture that changed. Each frame here is drawn the way a browser plays the GIF, so the PNG you save is the whole picture and not a fragment. Transparency is kept.
To edit the frames and build a new animation, bring them to GIF maker. To change the order instead of splitting, use Reverse GIF, and to turn a GIF use Rotate GIF.
How it works
- Drop an animated GIF.
- Press Split GIF and look through the frames and their delays.
- Save one frame as a PNG, or download all of them as a ZIP.
In your browser, not on a server
gifuct-js (MIT) reads the GIF byte by byte in your tab. Each frame’s piece is drawn on a canvas over the frames before it and the disposal rules are applied, the way browsers play a GIF, so every frame is a whole picture. Your browser then encodes each one as a PNG. The files are assembled in memory.
Compared with upload-based tools: Online GIF splitters upload the GIF to a server, and many show frames behind ads or a watermark. Here the file is not uploaded, the limit is your device’s memory (phones hold less), and the PNGs carry no mark.
Verify it yourself. Give the page a short while after one visit to save itself for offline use, then turn off Wi-Fi or switch to airplane mode and run the tool again. Or open your browser's developer tools (F12, or Cmd-Option-I on a Mac), pick the Network tab, and watch it while you convert. The panel above does the same count for you.
Questions
How do I get one frame of a GIF as an image?
Split the GIF, then use the download button on the frame you want. It saves as a PNG at the GIF’s own size.
Why are the frames numbered with leading zeros?
So they sort in order in any file list: frame-001 comes before frame-010. The number of digits grows if the GIF has a thousand frames or more.
Do all the frames have the same delay?
Not always. Each frame in a GIF carries its own delay, and the page lists them one by one with the total time of one loop.
Is the file uploaded anywhere?
No. There is no server in this process. The page is a static file and the work is done by code running inside your browser tab. Give the page a short while after one visit to save itself for offline use; then you can turn off Wi-Fi and it still works.
More image tools
GIF frame splitter
Pull every frame out of an animated GIF as a PNG, with each frame’s delay. It stays on this device.
QR code scanner
Drop, paste or choose an image, or use your camera. The code is read on this page, and a link is shown to you, never opened for you.
Add text to image
Write on a photo, a screenshot or a meme and drag the words where you want them. Done on this device, never uploaded.
Split image
Cut one picture into a grid or a seamless carousel. Done on this device, never uploaded.