creatorvalet

Convert GIF to PNG without losing the frames you wanted

Pick any frame as a still PNG, take every frame as a ZIP, or write an animated PNG that keeps moving. The frame count is on screen before you choose.

Runs in your browser 0 bytes uploaded

Drop a GIF here

or paste Ctrl+V

Nothing is uploaded. The frames are taken apart in this tab and the PNG is written by code running on this page.

Going from GIF to PNG means deciding what happens to the movement

One file can hold a hundred pictures. The other holds one. Every tool that offers this conversion has to resolve that, and most of them resolve it silently — you upload something that danced, you get back something that stands still, and nowhere on the page does it say which of the hundred you were given or that the other ninety-nine ever existed.

The frame count is therefore the first thing this page tells you, before a single control appears. If the answer is one, there is nothing to decide and no menu pretending otherwise. If the answer is thirty-eight, you get three routes and none of them is hidden: point at the frame you meant, take all thirty-eight as separate files, or write a picture format that can still move. The choice belongs to you, but the arithmetic that makes it a choice has to arrive first.

Pointing at the frame you actually meant

"First frame" is a guess dressed as a default. The frame worth keeping is usually the one where the caption has finished typing itself, or where the character has landed, or where the chart has drawn its last bar — and that is somewhere in the middle of the sequence, not at the start of it. So there is a slider, a number box and step arrows, all writing to the same value, and the picture beside them updates as you move.

That preview is not a thumbnail of the result. It is the result: the frame is encoded as a complete PNG each time you land on one, and the image you are looking at is byte for byte what the download button hands over. Its true size and its color type sit underneath. There is no step between deciding and getting, and there is nothing to discover afterwards.

Keeping every frame, either as files or as motion

The archive route writes one PNG per frame, numbered with leading zeros so a file manager sorts them in playing order rather than putting frame 10 between 1 and 2. Nothing is merged, nothing is scaled, nothing is thinned out. That is the shape you want if the next step happens in an editor, a video timeline or a sprite sheet.

The other route is APNG — a genuine animated PNG, which sounds like a contradiction and is not. The format has been supported by Chrome, Safari, Firefox and Edge for years, and it beats GIF on the things GIF is worst at: more than 256 colors, opacity that varies smoothly instead of snapping between visible and gone, and timing expressed in milliseconds. Its trap is the extension. An APNG is a .png, so anything that has never heard of the standard reads the first frame, displays it, and reports no problem at all. That makes it an excellent answer for a web page and a poor one for a print workflow or a decade-old desktop application. If the destination is somewhere that only understands video, turning the GIF into an MP4 usually cuts the same animation by an order of magnitude.

GIF and PNG, in brief

GIF
Full name Graphics Interchange Format
Extension .gif
Format type Lossless raster image, 256 colors, animatable
MIME type image/gif
PNG
Full name Portable Network Graphics
Extension .png
Format type Lossless raster image, with alpha
MIME type image/png

Why the same file yields an indexed PNG one moment and a truecolor one the next

PNG has two lossless ways to describe a picture. It can store a table of colors and then one byte per pixel pointing into it, or it can store four bytes per pixel outright. Neither loses anything; the table version is simply far smaller when the picture has few enough colors to fit in one, and impossible when it does not.

A single GIF frame almost always fits, because GIF itself works from a table of at most 256. But the format permits a separate table per frame, and a frame painted over two earlier ones can end up showing colors drawn from three tables at once. Ask for that as a still and you get the small kind; ask for an animated PNG of the whole sequence, where every frame shares one description, and the total may well exceed the limit and force the larger kind. The tool counts, says which it will use and why, and never re-quantizes to squeeze under the line — inventing a color that was not in your file is not a size optimization, it is a lie about the contents.

Transparency comes out better than it went in

This is the one dimension where the conversion is an unambiguous upgrade. A GIF marks a single palette entry as invisible and has nothing to say about the space between invisible and solid, which is why cut-outs from GIFs carry that stair-stepped outline and why they show a halo when placed on a background the original did not anticipate. PNG carries a full opacity value per pixel.

Your transparent areas therefore survive exactly, with room to spare. Nothing gets flattened onto a white rectangle — the failure people usually arrive here having suffered somewhere else. The preview draws a checkerboard behind the result so you can confirm it rather than trust it, and the panel reports whether the source had any transparency at all before you run anything.

Where the encoder runs, and what it will not do

Your browser has a GIF decoder, but it will only ever hand back the composited picture it is currently displaying, which is no help when you want frame seventeen. So the container is read here instead: the sub-rectangles, the per-frame palettes and the disposal rules are followed exactly as the specification describes, and each frame is rebuilt as a complete picture. The PNG writer is ours too, feeding rows into the compression the browser already provides. All of it runs on a background thread in your tab, which is why the work starts the moment the file lands rather than after a queue. The question of what a conversion site keeps does not arise when nothing is sent.

What it does not do: no cropping, no resizing, no rotation, no text, no reordering and no speed changes. It does not re-quantize, so it cannot make the file smaller by making it worse. And it will not accept a JPEG or a WebP renamed to .gif — the bytes are checked rather than the extension, and the message says what actually arrived. Going the other direction, a stack of PNGs becomes one animated GIF.

Questions

My GIF moves. Which frame do I get?

Whichever one you point at. The panel counts the frames the moment the file lands and gives you a slider, a number box and step buttons to move through them, with the picture updating as you go. Frame one is only where the picker starts. If the answer is that you want all of them, the same panel offers every frame as a numbered ZIP or a single animated PNG, and neither is buried behind a menu.

Can a PNG actually be animated?

Yes — the format is called APNG and it has been in Chrome, Safari, Firefox and Edge for years. It carries the animation inside an ordinary .png file, with more than 256 colors, a real alpha channel and timing in milliseconds rather than hundredths of a second. The catch is the file extension: software that has never heard of APNG reads the first frame and shows that, silently. So it is the right answer for the web and the wrong answer for a print workflow.

Will the PNG be bigger than the GIF?

A single frame is usually smaller, because you are keeping one picture instead of dozens. An animated PNG of the same clip is normally larger, sometimes several times over, since APNG describes every frame as a full picture where GIF may skip a rectangle that did not move. What you gain is color and edge quality. The receipt reports the measured bytes for whichever route you took, next to what you started with.

Does transparency survive?

It survives exactly, and it improves. A GIF has one palette slot meaning invisible and nothing between that and solid, so its transparent areas are already hard-edged. PNG carries 256 levels of opacity, so every pixel comes across untouched with room to spare. Nothing gets flattened onto white, which is the failure people usually arrive here having already suffered somewhere else.

Why does the file say indexed on one frame and truecolor on another?

Because PNG has two lossless ways to store a picture and the tool counts before choosing. Up to 256 distinct colors it writes a palette and one byte per pixel; past that it writes four bytes per pixel. A GIF frame is normally the first, but a GIF may carry a separate palette per frame, and a frame drawn on top of two earlier ones can therefore show colors from three palettes at once. Neither route changes a single pixel — the difference is only size.

I pasted a GIF and it came out as one still frame.

That happened before the file reached us. Using copy on an image in a web page hands over a rendered picture rather than the original bytes, and for anything animated that means one frame with the movement already discarded. The fix is to save the file to disk first and drop that file in. The bytes are checked rather than the name, so the panel can tell you what actually arrived instead of guessing from the extension.