▦ pixel / parcel ON YOUR DEVICE

PNG TO ICO / REPRODUCIBLE TEST

Does PNG to ICO keep transparency?

Yes, in this test. Our downloaded 32 × 32 ICO entry kept all four input alpha levels: 0, 64, 128 and 255. The 48 × 48 entry also kept transparency, but resizing introduced intermediate alpha values at the band boundaries.

That is a measured result for the sample below, not a promise that every icon viewer or converter behaves identically.

Convert your PNG to ICO → See the pixel counts ↓

Published October 27, 2026 · An ICOForge browser experiment

Use a file that can expose the difference

A checkerboard preview can tell you that something is transparent. It cannot tell you whether the downloaded file still contains partially transparent pixels. For that, we made a deliberately simple test image and inspected the actual download.

Our source is a 32 × 32 PNG with four vertical bands. Each band is eight pixels wide and uses the same green color. Only alpha changes: the left band is fully transparent, the next two have alpha 64 and 128, and the right band is opaque at 255. There are 256 pixels in each source band.

Four green bands over a checkerboard, progressing from invisible to opaque
Our own four-band PNG. The checkerboard is a page background, not part of the file.

Download the source PNG · Download our actual ICO result

What the downloaded ICO actually contained

We selected the PNG on the live ICOForge homepage, kept its default 16, 32 and 48 pixel sizes, pressed Convert to ICO, and downloaded the multi-size result in Chrome. We then read its icon directory and independently decoded each embedded PNG with Pillow. The table counts pixels in the downloaded file; it is not calculated from the preview.

Measured alpha counts in each downloaded entry
EntryAlpha 0Alpha 1–254Alpha 255
16 × 166412864
32 × 32256512256
48 × 485281248528

The 32 pixel entry is the useful control: it has 256 fully transparent pixels, 512 partly transparent pixels and 256 opaque pixels. Its alpha histogram contains exactly the original four levels. We did not need to infer transparency from how the icon looked against a white window.

The 16 pixel entry has 64 transparent, 128 partly transparent and 64 opaque pixels. In this particular reduction, the four bands still align cleanly with the output grid. That result describes this simple sample; it does not mean every downscaled drawing keeps exactly the same edge values.

The 48 pixel entry has 528 transparent, 1,248 partly transparent and 528 opaque pixels. Its alpha values are 0, 8, 52, 64, 72, 116, 128, 143, 231 and 255. These extra values occur when the browser resamples the source onto a different pixel grid. An extra alpha level is not, on its own, evidence that the background was flattened.

Our downloaded ICO is 625 bytes. Its three PNG payloads occupy 138, 151 and 282 bytes; the icon header and directory account for the remaining 54 bytes. This is the size of our tiny synthetic sample, not a file-size prediction for your artwork.

Repeat the test instead of trusting a screenshot

  1. Download the source PNG above and open the PNG to ICO converter.
  2. Select the PNG. Leave 16, 32 and 48 checked and use the default padding option. The source is square, so this test does not add padding.
  3. Convert and download the multi-size ICO. Keep the original filename or record the filename you used.
  4. Inspect the download with an ICO-aware decoder. Read each directory entry, decode its image, and count alpha values separately for that entry.
  5. Compare your decoded pixel counts with the table. If your output differs, record your browser, selected sizes and fit setting before drawing a conclusion.

Open our raw measurements · Download the inspection script

The script requires Python and Pillow. Put the source PNG and the downloaded ICO together, adjust the script's local file paths for your machine, and run it locally. It does not send the files to a conversion service. This article itself does not upload a file or run a remote conversion.

Check that you have the same sample files

Source PNG SHA-256:

a6286835afc613468120d32d780b3d954bfb5b85e983cc0ea845617b8eb04e7a

Downloaded ICO SHA-256:

33d026fca2ea106d6e46b51c944f20531f16105dd40797b155295b1e56715903

These hashes identify the files provided here. A fresh browser encoding can have different bytes while decoding to the same pixels, so compare decoded alpha counts as well as file hashes.

What to check when an icon looks solid

First check the source. A white background already present as opaque pixels in the PNG will remain artwork; converting the container does not remove it. Next check the downloaded entry rather than the largest preview. If the alpha channel still contains transparent pixels, the file has not simply become a fully opaque rectangle.

Then check the context where you are viewing it. A preview's background color is not itself proof of the saved alpha channel. Compare the same entry on contrasting backgrounds and inspect its pixels. This experiment does not test Windows shell caching or every application's icon renderer, so it cannot diagnose those behaviors from a screenshot.

Questions this test can answer

Does changing PNG to ICO remove transparency?

Our measured download retained both fully transparent and partially transparent pixels. This establishes the result for the provided sample and this converter run. It does not certify every possible input.

Why did the enlarged entry gain alpha values?

The browser drew the image at a different size with image smoothing enabled. The new grid includes blended boundaries. Our 48 pixel histogram shows the resulting intermediate values explicitly.

Does a transparent ICO remove a white PNG background?

No. Preserving an existing alpha channel and removing opaque background artwork are different operations. This converter test preserves alpha; it does not demonstrate background removal.

Is this another converter page?

No. This is an experiment and troubleshooting article. The existing homepage remains the conversion tool, and the downloadable fixtures let you check one specific claim independently.

Test scope and sources

All fixture generation and pixel counts above are our own October 26, 2026 experiment. The original PNG was generated with Pillow; the ICO was generated by the live browser tool and decoded separately. The test covers three PNG-encoded ICO entries, not legacy DIB icon payloads or every operating-system renderer. We did not measure other converters with this fixture.

For the format's alpha-channel model, see the PNG specification: alpha representation. To inspect an icon you already have, use our ICO entry inspection tool.