Format reference · .ico
What is an ICO file?
ICO is the Windows icon format. One .ico file holds several versions of the same icon at different sizes, so the system can pick the sharpest one for each place it appears. It is also the traditional format for website favicons.
Origin and structure
Icon files date back to the first versions of Windows, and the structure still used today was established with Windows 3.0. An ICO file starts with a short directory that lists each image inside: its width, height, color depth and where its data begins. Cursor files (.cur) use the same layout with an added click point.
Each entry can be up to 256×256 pixels. Small icons are typically 16, 24, 32 and 48 pixels; larger 64, 128 and 256 versions are used on high-resolution screens and in large icon views.
How the images inside are stored
Originally every entry was a bitmap, in the same style as a BMP, plus a 1-bit mask that marked which pixels are transparent. Windows XP added 32-bit entries with a full alpha channel for smooth edges. Since Windows Vista, entries can also be stored as complete PNG images, which keeps large sizes small: an uncompressed 256×256 bitmap with alpha takes about 256 KB, while the PNG version is usually a fraction of that.
Pixellin writes ICO entries as PNG, which Windows Vista and later and all current browsers read. ICO has no animation; animated cursors use a separate format.
Why one icon needs several sizes
Scaling a large icon down to 16 pixels makes thin lines blurry or invisible. With several sizes in one file, the system uses the closest match for the taskbar, the title bar, a desktop shortcut or a high-DPI display. Designers sometimes simplify the smallest sizes by hand for that reason.
ICO and favicons in 2026
Browsers still request /favicon.ico from a site’s root when a page doesn’t declare an icon, which is why the format survives on the web. Current browsers also accept PNG icons declared with a link tag, and many accept SVG favicons, though SVG support isn’t universal yet. Apple devices use a separate 180×180 PNG touch icon.
A sensible modern setup is a small favicon.ico with 16, 32 and 48 pixel entries, plus PNG icons and a web manifest. The favicon generator builds that whole set from one image as a ZIP.
Creating and opening ICO files
To make a multi-size icon from a PNG, use PNG to ICO, which includes 16 to 256 pixel sizes by default and pads non-square images instead of stretching them. The ICO generator adds 24 pixel entries, padding and background choices. To get an editable image back out, ICO to PNG extracts the largest icon inside.
Use ICO for
- Website favicons that work in every browser
- Windows application, shortcut and folder icons
- Packaging one icon at multiple sizes in a single file
Avoid ICO for
- Images larger than 256×256 pixels
- Photos or general image sharing
- Animated icons
- Apple touch icons and Android home screen icons, which use PNG
ICO questions
What sizes should a favicon.ico contain?
16, 32 and 48 pixels cover browser tabs, bookmarks and Windows shortcuts. Adding larger sizes to the favicon.ico mostly adds weight, since modern browsers prefer separate PNG icons for high-resolution uses. Provide a 180×180 PNG for Apple devices as well.
Can I just rename a PNG to .ico?
Some browsers will display it because they detect the real format, but Windows and many programs won’t accept it as an icon. A real ICO has a directory header listing its images. Converting creates a valid file that also holds several sizes.
Do I still need favicon.ico?
It is still a good idea. Browsers and other tools request /favicon.ico automatically when a page doesn’t declare an icon, and some older software only understands ICO. A small file with a few sizes costs little and avoids a missing icon or a 404 in your logs.
Can an ICO file have a transparent background?
Yes. Modern 32-bit and PNG-based entries support full alpha transparency with smooth edges. Older 1-bit masks only allow on/off transparency. Starting from a PNG with a transparent background gives the cleanest result.