What is an ICO file? The icon format explained

An ICO file is a small container that stores several versions of the same icon at different sizes. Windows, browsers and many build tools pick the size that fits best, so one .ico can look sharp everywhere from a 16 px browser tab to a 256 px desktop tile.

One file, many images

Unlike PNG or JPEG, an .ico is not a single picture. It starts with a tiny 6-byte header, followed by a directory with one 16-byte entry per image. Each entry records the width, height, color depth, byte length and offset of an embedded image. A typical application icon contains 16, 24, 32, 48, 64 and 256 px versions.

Because each size is stored separately, a designer can hand-tune the small versions — thicker lines, fewer details — instead of relying on automatic downscaling. That is the main reason the format is still used.

PNG entries vs BMP entries

Each image inside an ICO is stored either as a PNG stream or as a BMP/DIB bitmap (a BMP without its file header, plus a 1-bit transparency “AND mask”).

  • PNG entries are compressed and small. Since Windows Vista they are the norm for the 256×256 image.
  • 32-bit BMP entries store raw BGRA pixels with full alpha. They are larger but understood by every Windows version and older tools.
  • Old icons may contain 1-, 4- or 8-bit palette images. Modern software rarely needs them.

A widely compatible recipe — and what Make ICO writes by default — is PNG for 256 px and 32-bit BMP for everything smaller. You can switch to “PNG for all sizes” for smaller files when you only target modern systems.

Where ICO files are still required

UseIs ICO needed?
Windows .exe / app icon (Visual Studio, Electron, PyInstaller, Tauri)Yes — the build tools expect an .ico
Folder and shortcut icons in WindowsYes
/favicon.ico at the site rootRecommended for old browsers, RSS readers and tools that request it automatically
Modern browser tabsOptional — PNG and SVG work too
macOS / iOS / Android appsNo — they use .icns, PNG asset catalogs or adaptive icons

Size limits

The directory stores width and height in a single byte, where 0 means 256. That makes 256×256 the largest standard size. Some tools write bigger images, but Windows will not display them reliably, so stay at or below 256.

How to create and inspect ICO files

  1. To convert an existing logo, use Image to ICO and pick the sizes you need.
  2. To design an icon from scratch with text, images and pixel tools, open the Icon Editor.
  3. To see which sizes an existing .ico contains, or to extract them as PNG, use the ICO Viewer.
Tip: keep the master artwork as a large PNG or SVG (512 px or more) and regenerate the .ico whenever the design changes.

FAQ

Can I just rename a PNG to .ico?

Some browsers will still show it, but Windows and build tools will reject it. Convert it properly so the file has a real ICO header and directory.

What is the maximum ICO size?

256×256 pixels per image. One file can hold many images, so total file size depends on how many sizes you include.