IMAGE BASE64 TOOLBase64 decoder

PNG to ICO: Check Transparency and Pixels Before You Download

To convert PNG to ICO with several sizes in one small download, start with PNGConvert; for an unchanged 256×256 pixel image in a single-size ICO, start with Online-Convert, based only on this test.

Neither choice is a universal winner: the smaller file changed a color-channel value, while the single-size file did not supply smaller icon images.

One transparent PNG, ten tool attempts

Test date: November 1, 2026.

Every attempt used the same 790-byte, 256×256 PNG, with a transparent background, an opaque blue square and a center square whose RGBA value was (225,70,45,128).

No image or size settings were changed after selecting the input.

PNGConvert initially selected 16, 32, 48 and 256; ConvertICO selected its six-size Recommended preset; ImageResizer displayed Favicon for websites, while FreeConvert displayed its Windows preset before upload.

The measurements below come from saved downloads: file length, complete SHA-256, the ICO directory and decoded RGBA pixels.

A completed preview without a saved file did not count as success.

Swipe the table horizontally on a narrow screen. Checksums are complete.

Tool / entry URLLogin in this runDownloaded ICO imagesICO bytesComplete SHA-256Observed result
CloudConvert
https://cloudconvert.com/png-to-ico
Not requested before failureNot measuredNot measuredNot measuredDaily conversion credits exceeded; no file
FreeConvert
https://www.freeconvert.com/png-to-ico
Not required in this run16×16, 24×24, 32×32, 48×48, 64×64, 72×72, 96×96, 128×128, 256×256432254d7ef704638b5385d1acb6120dfe7c5fd31f16122473e1d2848c118976de45f94Terms accepted with specific authorization; file obtained via actual Download link
Convertio
https://convertio.co/png-ico/
Not reachedNot measuredNot measuredNot measuredFile chooser did not open; no file
PNGConvert
https://pngconvert.net/
Not required in this run256×256, 48×48, 32×32, 16×1631487fcd13b0fe0097ca6438266cfa8ab5f2f0b3d47d1ebb7c336cccec798cc001dfFile obtained
ImageResizer
https://imageresizer.com/png-to-ico
Not required in this run16×16, 24×24, 32×32, 48×48, 64×64, 72×72, 96×96, 128×128, 256×256432254d7ef704638b5385d1acb6120dfe7c5fd31f16122473e1d2848c118976de45f94File obtained; initial Favicon preset shown
ConvertICO
https://convertico.com/
Not required in this run16×16, 32×32, 48×48, 64×64, 128×128, 256×25610112408b0d7993ef814a7d3c0b23fb484258e724296c0f11476db1e2a4d71fc0a3fd2File obtained; Recommended preset
Online-Convert
https://image.online-convert.com/convert/png-to-ico
Not required in this run256×2562703987990dd9a81b297a67e5b493bbc6a42a2603883e5a696a22edfbdc28050f7f827File obtained
Imagen
https://imagen-ai.com/tools/png-to-ico-converter/
Not reachedNot measuredNot measuredNot measuredPhotographer eligibility gate; no file
Duplichecker
https://www.duplichecker.com/png-to-ico.php
Not requested before failureNot measuredNot measuredNot measuredNo saved file or download result captured
Favicon.io
https://favicon.io/favicon-converter/
Not required in this run16×16, 32×32, 48×4815406fabfebf9265fc074a75a2d8dd5c2056be161a1d684f78be17ce7a07950e26c12ZIP downloaded; ICO inspected separately

Does keeping transparency mean every pixel stays identical?

PNGConvert returned 3,148 bytes with four directory entries: 16×16, 32×32, 48×48 and 256×256, all carrying PNG payloads.

Its decoded 256×256 center was (225,70,46,128), against the input value (225,70,45,128): the blue channel increased by one while the alpha value remained 128.

ConvertICO returned 101,124 bytes with six entries: 16×16, 32×32, 48×48, 64×64, 128×128 and 256×256; the first five had bitmap payloads and the last had a PNG payload.

At 256×256, ConvertICO and PNGConvert had identical decoded RGBA hashes, despite different file lengths and different packaging.

That comparison concerns this image; it does not prove a shared implementation.

Which outputs matched the original pixel array?

Online-Convert returned one 256×256 bitmap entry in a 270,398-byte ICO, and its complete decoded RGBA array matched the input.

ImageResizer returned 432,254 bytes and nine bitmap entries at 16, 24, 32, 48, 64, 72, 96, 128 and 256 pixels; its 256×256 RGBA array also matched the input.

FreeConvert produced a separate 432,254-byte download with exactly the same bytes and complete SHA-256 as the ImageResizer download.

Why those two exports were identical was not investigated.

Favicon.io supplied a 28,364-byte ZIP containing seven files; its extracted ICO was 15,406 bytes and contained only 16×16, 32×32 and 48×48 images.

The three ICO images from Favicon.io each retained center alpha 128, with center RGBA (225,70,46,128).

The larger standalone PNGs inside that ZIP are not additional images inside its ICO.

Can a transparent pixel contain nonzero RGB values?

Every decoded image in the six obtained ICOs had alpha 0 at its top-left corner and alpha 128 at its center.

ImageResizer and FreeConvert stored (24,116,184,0) at the 16×16 top-left pixel, while the other obtained ICOs stored (0,0,0,0) there.

A fully transparent pixel can carry RGB values, so that difference alone is not evidence of a visible blue border.

This check did not test Windows icon rendering, every edge pixel, every color profile, batch limits, speed or the absolute maximum free size.

File length is not a visual-quality score, and retaining alpha does not establish byte-for-byte or pixel-for-pixel identity.

Where four attempts stopped

CloudConvert rejected conversion with Conversion credits exceeded and a daily-limit message; no ICO was obtained.

Convertio did not open a file chooser through its visible upload label, and a second attempt through its hidden file input failed.

Imagen kept its photographer-only eligibility question visible after No, I’m not was selected; no file was obtained.

Duplichecker accepted the PNG selection, but its entry disappeared after conversion without a captured file or a download control.

These are unsuccessful attempts in this browser session, not proof that those services cannot convert PNG.

How to reproduce the comparison

Download the exact input and the raw measurement report below, open a listed tool, leave its initial settings unchanged, select the PNG and save its generated ICO.

For a ZIP, inspect the ICO separately from the other images in the archive.

Read the ICO directory before selecting a decoded image, then compare the 256×256 RGBA bytes with the original PNG only when that ICO size exists.

The local file analyzer used Python 3.12.14 and Pillow 13.0.0; its output is not a browser-compatibility test.

The measured differences in four diagrams

Transparency is not pixel identity: One fixed PNG: 256 x 256, 790 bytes; Input center RGBA: 225, 70, 45, 128; Ten tools attempted; six ICOs obtained
Alpha stayed. One channel changed.: PNGConvert and ConvertICO at 256 x 256; Decoded center RGBA: 225, 70, 46, 128; Alpha remained 128; blue changed 45 to 46
Compare the decoded pixel array: Online-Convert: one size, 270,398 bytes; ImageResizer: nine sizes, 432,254 bytes; Both 256 px RGBA arrays matched the input
Keep the failed attempts in the table: Four attempts produced no saved ICO; Check actual sizes, alpha and full SHA-256; Not tested: Windows rendering, speed or limits