Home › File & PDF Tools › ICO to PNG Converter
ICO to PNG Converter
Our free ICO to PNG converter turns an icon file into a normal PNG image right in your browser. Upload an .ico file, pick which size stored inside it you want, and download a real .png file — no upload to any server, no sign-up, and no watermark. Transparency is kept by default, so rounded icons stay rounded.
Your file stays on your device. It is converted in your browser and never uploaded anywhere.
An ICO file can hold several sizes of the same icon. The largest gives the sharpest PNG.
Scaling up is useful for tiny 16×16 icons you want to look at closely.
PNG keeps transparency, so the default leaves see-through areas see-through.
Leave blank to keep the original name with a .png ending.
How it works
An ICO file is not a single picture. It is a small container that holds the same icon at several sizes — often 16 by 16, 32 by 32, and 48 by 48 pixels, sometimes 256 by 256 as well — so a computer can pick the sharpest size for each place the icon appears. Each picture inside is stored either as a complete PNG image or, in older icons, as an uncompressed BMP image with a one-bit transparency mask. That is why you cannot simply rename an .ico file to .png: the file starts with a six-byte header and a table of entries, not with picture data, so most programs that open a PNG will refuse it.
This tool reads that container itself, in your browser, instead of asking the browser to open the .ico file — which many browsers cannot do at all. It starts by checking the six-byte header: the first two bytes must be zero, the next two must say the file is an icon (type 1, not a cursor file, type 2), and the count that follows must be at least one. Then it reads every entry: the width and height (a stored zero means 256), the colour depth, how many bytes that picture takes up, and where it starts in the file. Any entry that points outside the file, or a file that fails the header check, is rejected with a plain message rather than a broken download.
For each picture, the tool looks at its first bytes to tell which kind it is. If it starts with the PNG signature — the bytes 89 50 4E 47 — it is already a complete PNG, and the tool hands those bytes to the browser to draw. If it starts with a bitmap header instead, the tool decodes it by hand: it reads the BITMAPINFOHEADER for the width, the doubled height (picture plus mask), and the colour depth, then walks the rows from the bottom up, reading blue, green, and red bytes for every pixel. A 32-bit picture also carries an alpha byte per pixel, which becomes the transparency; a 24-bit picture gets its transparency from the one-bit AND mask stored after the picture rows, where a set bit means see-through. The decoded pixels are placed on a canvas, so the result is a genuine picture, not a guess.
Finally the canvas exports the picture as a PNG. By default the largest size inside the icon is used, because that gives the sharpest result, but the size menu lists every size the file contains, so you can take the 16 by 16 version exactly as drawn, which sometimes looks better than a shrunken large icon. The scale menu can halve or double the result, and the background menu either keeps the transparency — the usual choice for an icon — or fills see-through areas with white, black, or a colour you pick. The download is named after your original file with the ending changed to .png, or the name you typed.
The page also lists every size found inside your icon in a small table, with its colour depth, whether it was stored as PNG or BMP, and its size in bytes. If a file only contains a 16 by 16 picture, no converter can make a sharp 256 by 256 PNG out of it — the honest fix is to find or redraw the icon at a larger size. Because every step happens on your computer, there is no waiting for an upload and no copy of your icon sitting on someone else's server.
Worked example
Suppose you have a favicon called shop.ico from a small online store: 15,240 bytes holding three sizes of the same shopping-bag icon — 16 by 16, 32 by 32, and 48 by 48 pixels, all 32-bit BMP pictures.
Step 1: you click "Choose an ICO file" and pick shop.ico. The tool reads the header, finds three entries, and shows the sizes and file size under the file picker, with the size menu set to "Largest size (best quality)".
Step 2: you leave the size on largest, the scale on 1×, and the background on "Keep transparency", then click "Convert to PNG". The tool takes the 48 by 48 entry, decodes its rows and alpha bytes, and draws it on a canvas.
Step 3: the result appears with a preview and a download button. The new file is called shop.png, it is 48 by 48 pixels, and it is about 3,900 bytes — PNG compression is far tighter than the uncompressed BMP rows inside the icon, so the same picture takes roughly a quarter of the space. The bag's rounded corners stay see-through, so you can place the PNG on a coloured header without a white box. You click "Download .png" and the file lands in your Downloads folder.
If the header needed the tiny version instead, pick "16×16" and convert again — the PNG would be 16 by 16 pixels and only a few hundred bytes. If the same icon had stored PNG pictures inside, the result would be identical, because the tool uses those embedded PNG bytes directly.
FAQ
Is my ICO file uploaded to a server?
No. Your icon is read and converted in your own browser. The file never leaves your device, so private app icons and favicons stay private.
Which size does the converter pick from my ICO file?
By default it picks the largest image stored inside the ICO file, because that gives the sharpest PNG. You can also choose any other size the file contains, such as 16 by 16 or 32 by 32, from the size menu.
Does the PNG keep the icon's transparency?
Yes, when you leave the background on Keep transparency. The PNG keeps the see-through areas exactly as the icon had them. If you pick a colour instead, the tool fills the transparent areas with that colour.
What if my ICO file holds old BMP images instead of PNG images?
It still works. This tool reads the ICO container itself and decodes the older 24-bit and 32-bit BMP images stored inside it, pixel by pixel, including their transparency mask — it does not rely on the browser opening an .ico file, which many browsers cannot do.
Why does the converter reject my file?
The file must be a real ICO file: it has to start with the ICO header, be an icon (not a cursor file), and contain at least one image. If you pick a JPG, a PNG, or a damaged file, the tool shows a friendly error instead of a broken download.