Icon workflows often mention three formats: ICO, ICNS, and PNG. They can all represent icons, but they are not interchangeable. Choosing the wrong one can make icons blurry or unsupported.
In short: ICO is best for favicons and Windows, ICNS is best for macOS apps, and PNG is best for web assets, PWA icons, mobile surfaces, and source files.
ICO, ICNS, and PNG at a glance
| Format | Main use | Container? | Common sizes |
|---|---|---|---|
| ICO | Favicons, Windows icons, shortcuts | Yes, can contain multiple icon sizes | 16, 24, 32, 48, 64, 128, 256px |
| ICNS | macOS app icons and Finder icons | Yes, can contain multiple icon resources | 16, 32, 64, 128, 256, 512, 1024px |
| PNG | Web icons, PWA icons, mobile assets, source images | No, one file usually represents one size | 32, 64, 180, 192, 512, 1024px |
When to choose ICO
If you are creating a website favicon, ICO is still a safe choice. It has strong compatibility and can store several sizes in one file. Browser tabs, bookmarks, and desktop shortcuts may need different pixel sizes, and the ICO container lets them choose.
- Website favicons: provide favicon.ico for broad compatibility.
- Windows desktop icons: ICO is the native common format.
- Shortcut icons: ICO adapts well to several display sizes.
- Older environments: ICO remains the safest fallback.
When to choose ICNS
ICNS is the macOS icon container format. It is commonly used for macOS app icons and Finder display. It can include high-resolution resources up to 1024px for Retina screens and different Finder views.
- macOS app icons: use ICNS.
- Finder large icon preview: include high-resolution resources.
- Electron or desktop app packaging: macOS builds usually need ICNS.
When to choose PNG
PNG is not an icon container, but it is crisp, lossless, and supports transparency. That makes it excellent for web icons, PWA icons, and source files. The tradeoff is that each PNG usually covers one size, so you need multiple PNG files for multiple contexts.
- PWA manifest icons: 192x192 and 512x512 PNG are common.
- Apple Touch Icon: 180x180 PNG is commonly used.
- Web UI icons: PNG works well when bitmap transparency is needed.
- Icon source files: PNG can be converted later to ICO or ICNS.
Technical differences: what changes inside the file?
The difference is not just the extension. ICO and ICNS are icon containers. PNG is a single bitmap image format.
- ICO: starts with a little-endian ICONDIR structure and multiple ICONDIRENTRY records, each pointing to one icon image.
- ICO pixel data: smaller entries often use 32-bit BGRA DIB data, while 256px entries are often stored as PNG bytes.
- ICNS: starts with an icns signature and big-endian length fields. Each resource block has a type such as icp4, icp5, icp6, ic07, ic08, ic09, or ic10.
- ICNS image data: modern ICNS files often place PNG data in the resource block for each size.
- PNG: a single file describes one image with chunks such as IHDR, IDAT, and IEND, plus lossless compression and optional alpha.
- Multi-size PNG ZIP: this is a ZIP archive of separate PNG files such as 16, 32, 64, 128, 256, 512, and 1024px, ready for web or PWA references.
Which format should you use?
| Use case | Recommended format | Why |
|---|---|---|
| Website favicon | ICO + PNG | ICO for compatibility, PNG for modern browsers and Apple Touch Icon |
| Windows desktop icon | ICO | Native system support for shortcuts and desktop icons |
| macOS app icon | ICNS | Native macOS icon container with high-resolution resources |
| PWA icon | PNG ZIP | Manifests usually reference separate PNG files, such as 192px and 512px |
| Design source | SVG or high-resolution PNG | Easy to regenerate ICO, ICNS, and PNG assets later |
Generate all three icon formats with toolgarden.xyz
ToolGarden Image to Icon renders the source image locally into multiple sizes, then packages the result based on the selected format. ICO includes entries from 16 to 256px, ICNS includes macOS resources up to 1024px, and PNG ZIP contains separate PNG files for each size.
Recommended output sets
- Standard website: generate ICO, then keep 32x32 PNG and Apple Touch Icon PNG.
- PWA: generate PNG ZIP and reference 192x192 and 512x512 in the manifest.
- Cross-platform desktop app: use ICO for Windows and ICNS for macOS.
- Brand asset package: export ICO, ICNS, and PNG ZIP to cover web, desktop, and mobile use cases.
Summary
ICO, ICNS, and PNG are all useful, but for different targets. Use ICO for websites and Windows, ICNS for macOS apps, and PNG for web, PWA, mobile, and source assets.
The easiest workflow is to start from one high-quality source image and generate multiple icon formats at once. That gives websites, Windows, macOS, and PWA surfaces the assets they expect.