toolgarden.xyz
中文
ICOICNSPNGfaviconmacOS icon

ICO vs ICNS vs PNG Icons: Which Format Should You Use for Web, Windows, and macOS?

ICO, ICNS, and PNG can all be used for icons, but they target different platforms and handle sizes, containers, and transparency differently.

ToolGarden tools prioritize browser-local processing, so files and text do not need to be uploaded to a server.

Published July 1, 2026Updated July 3, 20268 min readBy ToolGarden

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

FormatMain useContainer?Common sizes
ICOFavicons, Windows icons, shortcutsYes, can contain multiple icon sizes16, 24, 32, 48, 64, 128, 256px
ICNSmacOS app icons and Finder iconsYes, can contain multiple icon resources16, 32, 64, 128, 256, 512, 1024px
PNGWeb icons, PWA icons, mobile assets, source imagesNo, one file usually represents one size32, 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 caseRecommended formatWhy
Website faviconICO + PNGICO for compatibility, PNG for modern browsers and Apple Touch Icon
Windows desktop iconICONative system support for shortcuts and desktop icons
macOS app iconICNSNative macOS icon container with high-resolution resources
PWA iconPNG ZIPManifests usually reference separate PNG files, such as 192px and 512px
Design sourceSVG or high-resolution PNGEasy 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.

Frequently asked questions

Q.Why do Electron apps ship ICO, ICNS, and PNG icons together?

Electron builds land on three platforms with three native icon formats. Windows expects ICO (embedded in the .exe or installer), macOS wants ICNS inside the .app bundle, and Linux typically reads PNG. Packagers like electron-builder pick the right file per target based on your build config. Shipping only one format means the other platforms either fall back to a default gray icon or get a low-quality on-the-fly conversion. Prepare each format from the same master artwork to keep quality consistent across OSes.

Q.Does a PWA need ICO and ICNS, or just PNG?

PWAs use PNG only. The manifest.webmanifest references a set of PNG sizes (typically 192x192 and 512x512), and the OS picks the closest match when installing to the home screen or desktop. ICO and ICNS are for native desktop apps and are not used by the PWA install flow. Your site still needs a favicon.ico for browser tabs and an apple-touch-icon PNG for iOS home-screen shortcuts, but no ICNS is required.

Q.Do I really need a 1024x1024 entry in my ICNS?

For a macOS app, yes. Finder's icon view and Launchpad can render icons up to 512x512, and Retina displays double that requirement to 1024x1024. If your ICNS tops out at 256, those large views scale it up and look soft. Apple's app icon template starts at 1024x1024 for a reason. When building with iconutil or png2icns, ship 16, 32, 64, 128, 256, 512, and 1024 plus their @2x variants for a complete set.

Q.Why do some sites declare both rel="icon" and rel="shortcut icon"?

rel="shortcut icon" is a legacy Internet Explorer convention. The HTML standard defines only rel="icon", and every modern browser accepts it. Sites keep both for compatibility with very old IE versions. Unless you have to support IE9 or earlier, rel="icon" alone is enough. What actually matters more is declaring apple-touch-icon for Safari/iOS and manifest icons for PWAs — those two are more commonly forgotten than the redundant shortcut icon.

Q.What is the minimum icon set for a plain static website?

Three files cover 99% of browsers and devices: a multi-size favicon.ico (16/32/48) for browser tabs and legacy compatibility, one apple-touch-icon.png at 180x180 for iOS home screens, and one or two PWA manifest PNGs (192x192 and 512x512) for Android and installable web apps. If you later package the site as a desktop app, add larger ICO sizes and a full ICNS; a pure website never needs ICNS.