How do I make a .icns icon for a macOS app?
macOS ICNS icon generator - online, in your browser, no install. Drop your image (PNG, JPG, WebP), pick sizes (16, 32, 64, 128, 256, 512, 1024 px), download a finished .icns file holding all those layers.
The ICNS format is Apple's multi-layer container - macOS automatically picks 16 px for Finder list view, 128 px for Quick Look, 1024 px for Get Info on Retina.
Everything runs locally - image never leaves your browser.
Ideal for Electron, Tauri, py2app, and native macOS apps.
How to use it
- Upload a square image - ideally 1024×1024 px PNG (or larger). Apple requires 1024 for Retina; smaller sources look blurry on high-DPI displays.
- Pick sizes to include on the right. By default all 7 standard macOS sizes.
- Click "Generate .icns". Generator scales to each size, encodes as PNG, merges into a single multi-layer .icns file.
- Download. Drop into `Resources/AppIcon.icns` in your .app bundle, or point from `package.json` (Electron) / `tauri.conf.json` (Tauri).
When this is useful
Where ICNS is required - typical uses:
- Electron and Tauri apps - both frameworks need separate ICNS for macOS and ICO for Windows. Reference from electron-builder.json (mac.icon) or tauri.conf.json.
- py2app and pyinstaller on macOS - same story for Python apps.
- Native Swift / Objective-C apps - in Xcode you point at an Asset Catalog with .icns for AppIcon.
- CocoaPods / Sparkle updaters - some require a separate icon set.
- macOS Automator workflows and Shortcuts - also use ICNS.
Together with the Windows icon generator and favicon generator you have a complete cross-platform set.