Skip to content
Pixgrain

Convert PNG to ICO

Converts PNG images into Windows ICO files. Transparency is preserved; the image must be 256×256 or smaller.

How to convert PNG to ICO

  1. Drop your PNG files into the box above, or click to browse. You can also paste with Ctrl+V.
  2. Adjust quality or resizing under Conversion settings if you need to. The defaults suit most photos.
  3. Conversion starts automatically and runs on your device — watch the progress bar for each file.
  4. Download files individually, or grab everything as a ZIP.

What changes when you convert PNG to ICO

An ICO is a container, and a modern one is barely a conversion at all. Since Windows Vista the format has been allowed to hold PNG data directly, so this tool writes a 22-byte header and embeds your PNG unchanged. The output is the size of your input plus that header, and the pixels are identical.

The one hard limit is dimensions. The ICO header stores width and height in a single byte each, which caps a single entry at 256 pixels — and 256 is encoded as zero, a quirk of the format that dates to 1985. Anything larger cannot be represented, so this tool refuses rather than silently downscaling. If your source is bigger, resize it first and you keep control of how.

Transparency crosses over completely. That matters more than it sounds: an icon with hard square edges looks wrong in every context that displays it, and the alpha channel is the whole reason PNG became the sensible source format for icons.

The thing this tool does not do is bundle multiple sizes. A real ICO can contain several images — 16, 32, 48 and 256 pixels — and Windows picks whichever fits the context, from a taskbar button to a large file preview. Producing that bundle properly means deciding how each size is downscaled, and small icons usually need hand-tuning rather than automatic resampling, because a 16-pixel icon made by shrinking a detailed 256-pixel one is usually mush.

For a website favicon a single well-made size is genuinely enough — browsers scale it, and the modern approach is to declare PNG icons in the HTML and a web app manifest, with the ICO as a fallback for older browsers looking for /favicon.ico.

What is preserved

  • Full transparency — the PNG is embedded inside the ICO unchanged, alpha channel and all
  • Every pixel exactly: the image data is not re-compressed
  • Colour depth up to 32-bit

What is lost

  • Nothing from the image itself
  • Multi-size icon sets: this produces a single-size ICO, not the 16/32/48/256 bundle a desktop application ships

What is altered

  • The container only. A modern ICO holds a PNG, so the pixel data crosses over as it is

ICO support in browsers and operating systems

Checked on 2026-08-10. We re-verify this table every quarter.

PlatformSupport
Chromeall versions, for favicons
Safariall versions
Firefoxall versions
Edgeall versions
iOSreads ICO favicons; prefers Apple touch icons in PNG
Androidreads ICO favicons; prefers PNG manifest icons
WindowsVista and later read PNG-in-ICO; XP needs uncompressed BMP data
macOSreads ICO in browsers; uses ICNS for application icons

When not to convert PNG to ICO

Do not convert an image larger than 256 pixels without resizing first. The format cannot hold it, and letting a converter silently downscale means it chooses the resampling and the crop rather than you.

Do not use this to build a desktop application icon. Those need a multi-size bundle, and on macOS an ICNS file rather than an ICO. This produces a single-size icon, which is right for a favicon and wrong for a shipped application.

Do not convert a photograph. Icons are read at 16 to 48 pixels in most contexts, where photographic detail becomes noise. Icons want flat shapes and high contrast.

Do not assume a favicon is all you need. Modern browsers prefer PNG icons declared in the page and in a web app manifest; ICO survives mainly because browsers still probe /favicon.ico by habit.

Frequently asked questions

Why does my image have to be 256 pixels or smaller?

Because the ICO header stores each dimension in a single byte, so 256 is the maximum a single entry can express — and it is written as zero, a quirk inherited from 1985. Larger images cannot be represented at all. Resize first so that you control how the detail is reduced.

Does the transparency survive?

Yes, completely. A modern ICO can contain PNG data directly, so your image is embedded unchanged with its alpha channel intact. That is why the output file is the size of your PNG plus about twenty bytes.

Can I get an ICO with several sizes inside it?

Not from this tool — it produces a single-size icon. A multi-size bundle is genuinely useful for desktop applications, but small icons usually need hand-tuning rather than automatic downscaling: a 16-pixel icon made by shrinking a detailed one is normally unreadable.

What size should a favicon be?

32×32 covers browser tabs and bookmarks well, and 48×48 is a safe general choice. If you only make one, 32 is the pragmatic answer. Modern browsers increasingly prefer PNG icons declared in the HTML and a web app manifest, with ICO serving as the fallback.

Will this work on Windows XP?

Probably not. PNG-inside-ICO was only understood from Windows Vista onwards; XP expects uncompressed bitmap data. Browsers on any modern system handle it without difficulty, which is what matters for a favicon.