Convert PNG to ICO in your browser: change a PNG into a multi-size .ico, or save PNG as ICO with the sizes you check. Transparency is kept via PNG-in-ICO frames; nothing is uploaded. Optional favicon.zip and <link> snippet are included for site use.
PNG preferred · WebP/SVG also accepted · never uploaded
Images are decoded and resized with Canvas in your browser. Your image data is never uploaded for conversion.
One pass builds a multi-size .ico and a favicon.zip with PNG sizes you checked.
Copy ready-to-paste <link rel="icon"> tags for your site.
Free, no signup, no preview unlock — drop, download, done.
(1) Drop a PNG — square and 256×256 or larger gives the sharpest small sizes. (2) Check the sizes you need (16, 32, 48, 64, 128, 256). (3) Download the multi-size .ico, plus an optional favicon.zip and <link> snippet. The PNG is decoded, resized, and packed in your browser; it is not uploaded. Transparency is kept because each frame is stored as PNG inside the ICO. There is no server quota — the practical limit is browser memory, so files above roughly 10 MB may feel slow. For JPEG sources use JPG to ICO.
ICO frames are square, so a wide or tall PNG has to be fitted. Under Image fit: Contain keeps the whole image and leaves empty bands (transparent by default); Cover fills the square and crops the overflow from the centre; Pad is Contain with a solid background colour. For a non-square source IconToGo pre-selects Cover, because a thin letterboxed logo becomes hard to read at 16×16 and 32×32. Padding inset adds a margin inside every frame, and Corners can round or circle-crop the result.
For favicons keep 16 and 32; add 48/256 for broader coverage. Uncheck sizes you do not need to keep the .ico smaller.
According to MDN’s favicon glossary and the Wikipedia ICO file-format article, sites typically expose multiple icon sizes; IconToGo exports those sizes as one local pack.
We ran three cases through this page and the ICO to PNG page on 19 October 2026, in a Chromium 152 browser on macOS 26.6. The inputs are simple test images made for the purpose, so you can recreate them in any editor; byte sizes will differ for a real logo with more detail. All six sizes (16–256) were left checked and nothing else was changed unless noted.
Input: a 512×512 PNG with an alpha channel — a blue rounded square with a white ring, transparent corners (2.8 KB). Settings: the defaults; the page shows “Square source — any fit works.” and keeps Contain. Output: a 13,284-byte .ico with six 32-bit PNG frames, stored largest first: 256 (5,020 bytes), 128 (3,014), 64 (1,831), 48 (1,755), 32 (996) and 16 (566). Every frame still has fully transparent pixels in the corners; nothing was flattened onto white.

Input: a 900×300 PNG with alpha — an orange square mark on the left and the word “ACME” to its right (7.8 KB). Settings: on load the page showed “Non-square — Cover or Pad keeps 16/32 readable.” and pre-selected Cover; we downloaded that, then switched to Contain and downloaded again. Output: Cover gave a 24,058-byte .ico, Contain a 19,215-byte .ico, six frames each. Contain kept the whole wordmark but at 16 and 32 it is a thin strip with unreadable text. Cover filled the square, but because it crops from the centre, the orange mark on the left was cut off and only part of the word (“ACM”) remained. For a wide wordmark like this, neither is a good favicon: crop the symbol to a square before converting, or use Contain/Pad if the whole lockup must show.

Input: the 13,284-byte .ico from case 1. Settings: none — we opened it in ICO to PNG. Output: the page reported “6 frames · 13.0 KB” and listed 16×16, 32×32, 48×48, 64×64, 128×128 and 256×256. We downloaded every frame and compared it with the bytes stored in the .ico: all six PNGs were identical, so what you extract is exactly what was packed, not a fresh resize. This is a quick way to check that an .ico really contains the sizes you asked for.

These are the exact files from the cases above, so you can repeat the tests or compare them with another converter. The PNGs are the inputs; the .ico files are what this page produced; the ZIP holds the six PNGs downloaded from ICO to PNG in case 3.
Yes — we export PNG frames inside the ICO container, preserving alpha.
Use a square source at least 256×256 (512+ is better) so downscales stay sharp.
It runs online in a web page, but processing is local — your PNG is not uploaded.
Yes — use ICO to PNG. It extracts every frame stored in the .ico as its own PNG (or one ZIP of all sizes), also locally in your browser.