GIF to PNG converter
Convert GIF images to PNG format
The single most important thing about this conversion is that you get one frame. PNG has no concept of a timeline, so an animated GIF is reduced to the picture it shows when the browser hands it over, which is the opening frame. In exchange you get a lossless still with a proper eight-bit alpha channel instead of the on-or-off transparency GIF is stuck with. If the animation itself is the point, this is the wrong pair.
Key facts about GIF to PNG converter
| Frames kept | One. The GIF is decoded into an Image element and drawn once, so an animation of any length collapses to its first frame with no frame picker. |
|---|---|
| Colour range | A GIF frame holds at most 256 distinct colours. The PNG is 8-bit RGBA and can describe far more, but it cannot invent colours the GIF never had. |
| Transparency | Genuinely improved. GIF marks a single palette index transparent; the PNG stores a real alpha byte per pixel, preserving exactly what the browser rendered. |
| Quality | Lossless. There is no quality slider, because canvas.toBlob writes PNG without a quality argument and every pixel survives exactly. |
| Typical size delta | Usually larger. A 500x500 flat-art GIF of 40 KB often becomes a 60 to 120 KB PNG, since the canvas writes 32 bits per pixel before Deflate rather than one palette index. |
| Interlacing | An interlaced GIF decodes normally and the PNG is written non-progressive, so the output loads in a single pass. |
| Animation metadata | Frame delays, loop counts, disposal methods and comment extensions are discarded; none has a PNG equivalent. |
| Opens the result | Every browser, every operating system preview pane, every editor. PNG is the safest still-image format to hand to someone. |
What happens to your file
Your GIF is decoded by the browser and never by us. The file is wrapped in an object URL, handed to an Image element so the browser's GIF decoder produces pixels, and those pixels are painted into a canvas this page created. The PNG comes back from canvas.toBlob, the browser's own Deflate-based encoder. There is no upload request in the conversion path and no server component behind this page.
About this tool
- 1
Add the GIF
Drag a .gif onto the drop zone or browse for it. Twenty files per batch, up to 500 MB each.
- 2
Check the preview
The preview shows the frame that will be captured, on a checkerboard, so you can confirm both the frame and the transparency.
- 3
Resize if you want
Presets cap the long edge from 3840 down to 200 pixels. Downscaling is fine; upscaling is not offered.
- 4
Convert and download
Press Convert and save the PNG. Multiple files come back as converted-png-files.zip built inside the browser.
| Input and output | Takes .gif only (image/gif) and returns .png with the image/png type; any other extension is refused before decoding. |
|---|---|
| Conversion path | GIF to PNG runs in three steps: an <img> element decodes the GIF and only its first frame reaches the canvas; the pixels land on a 2D canvas in this tab; then canvas.toBlob with the image/png type returns the finished file. |
| Browser support | The GIF side decodes in every browser ever shipped, while writing the PNG is just as universal, canvas.toBlob having produced it since canvas existed. |
| Controls for this pair | No quality slider, PNG not being a lossy target here, so the max-dimension presets from 3840 down to 200 px are the only way to hold the PNG down in size against the GIF. |
| Batch, caps and naming | Twenty GIF files per run at 500 MB each; one result downloads as a single PNG, several as converted-png-files.zip, zipped by JSZip 3.10 in page memory. |
| Device ceiling | The canvas caps it: past roughly 16,384 px a side Chromium refuses the bitmap and iPhone Safari gives up sooner, so an oversized GIF fails before any PNG bytes exist. |
- For an animated GIF this is effectively a poster-frame extractor for the still you show before a looping asset loads.
- Since the source had 256 colours at most, a palette optimiser afterwards will usually push the PNG back below the GIF size.
- A transparent GIF keeps its shape but the edge stays hard; that jaggedness came from the source and cannot be recovered.
- Converting a static GIF is almost always worth it, since a still GIF is a worse PNG in every respect but size.
- First-frame extraction with alpha intact
- Lossless 8-bit RGBA PNG output
- Checkerboard preview for transparency
- Up to twenty stills extracted in one pass
- Grabbing a poster frame from an animated GIF as a placeholder.
- Converting a static GIF logo from an old site into a format design tools accept cleanly.
- Getting a clean still out of a screen-recording GIF so it can be annotated.
Related tools
View allNeed the opposite? Try PNG to GIF
Works well with this4
Other GIF tools12
Updated