ICO to PNG converter
Convert ICO images to PNG format
An icon file is a container, not a picture. Inside a single .ico there may be a 16-pixel version, a 32, a 48 and a 256, each stored either as a raw Windows DIB or, on newer icons, as an embedded PNG. Your browser decodes the file and hands this page one of those images, and that one gets written out. PNG is the natural destination: lossless, it stores the same alpha the icon carries, and every design tool reads it without a plugin.
Key facts about ICO to PNG converter
| Which entry you get | Whichever the browser decoder selects. There is no entry picker here, and browsers differ over taking the largest image or the best display match. |
|---|---|
| Transparency | Fully preserved. Icon entries store a 32-bit BGRA payload or a one-bit mask, and both resolve to canvas alpha, which PNG writes as a real alpha channel. |
| Quality | Lossless both ways. Icon payloads are uncompressed or PNG-compressed, and canvas.toBlob writes PNG with no quality argument. |
| Typical size delta | Usually much smaller. A 32x32 icon with a raw 4 KB payload commonly becomes a 600 byte to 2 KB PNG, since Deflate suits icon artwork well. |
| Dimensions | Whatever the selected entry measures, normally 16 to 256 pixels square. The resize presets only shrink, so a small icon cannot be enlarged here. |
| Multi-size icons | Only one image comes out. A four-entry icon gives a single PNG, so extracting every size needs a dedicated icon editor. |
| Colour | Eight bits per channel. Legacy 4-bit and 8-bit palette entries are expanded to full RGB by the browser before the canvas sees them. |
| Opens the result | Every browser, Figma, Sketch, Photoshop, Illustrator, Windows Photos, macOS Preview and the asset pipelines that handle .ico poorly. |
What happens to your file
Your icon is decoded by your own browser. The file becomes an object URL, an Image element asks the browser to parse the icon container and produce pixels, and those pixels are drawn onto a canvas this page created. The PNG is then produced by canvas.toBlob, the Deflate-based encoder built into the browser. Nothing in that chain contacts a server, and this page has no upload route at all.
About this tool
- 1
Drop the icon in
Drag a .ico file onto the target area or click to browse. Up to twenty icons per batch.
- 2
Look at the preview
The checkerboard preview shows which entry your browser picked and whether the transparency came through cleanly.
- 3
Optionally shrink it
Presets cap the long edge downward only, so a 256-pixel icon can be reduced but a 16-pixel one cannot be enlarged.
- 4
Convert and download
Press Convert and save the PNG, or take the set as converted-png-files.zip assembled inside the browser.
| Input and output | Takes .ico only (image/x-icon) and returns .png with the image/png type; any other extension is refused before decoding. |
|---|---|
| Conversion path | ICO to PNG runs in three steps: an <img> element decodes the icon and the browser picks one entry from a multi-size file; 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 icon side decodes in Chrome, Edge, Firefox and Safari, 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 ICO. |
| Batch, caps and naming | Twenty ICO 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 ICO fails before any PNG bytes exist. |
- A PNG that comes out at 16 or 32 pixels means your browser chose a small entry; an icon editor will pull out the large one.
- This is the cleanest route into a design tool, since most of them refuse .ico or import it at the wrong size.
- PNG from an icon is almost always smaller, because a raw DIB payload gains nothing from being stored uncompressed.
- Keep the original .ico if your build or Windows still references it; the PNG is an addition, not a replacement.
- Lossless extraction with alpha intact
- Checkerboard preview of the decoded entry
- 8-bit RGBA PNG written by the canvas
- Twenty icons unwrapped in a single pass
- Getting an existing site favicon into Figma or Photoshop so it can be redrawn larger.
- Producing a PNG of an application icon for documentation, a README or a release page.
- Converting icons from a legacy Windows resource file into a modern build asset.
Related tools
View allNeed the opposite? Try PNG to ICO
Works well with this4
Other ICO tools12
Updated