Desktop Export Bundle
Icons for Electron, Tauri, and native desktop applications on macOS, Windows, and Linux.
Desktop Export Bundle
The Desktop export bundle provides everything you need for cross-platform desktop application icons. It includes native formats for macOS (.icns), Windows (.ico), and Linux (PNG set).
What's Included
desktop-icons/
├── icon.icns # macOS app icon
├── icon.ico # Windows app icon
├── icons/ # Linux PNG set
│ ├── icon-16x16.png
│ ├── icon-32x32.png
│ ├── icon-48x48.png
│ ├── icon-64x64.png
│ ├── icon-128x128.png
│ ├── icon-256x256.png
│ └── icon-512x512.png
└── SETUP.mdFile Format Details
macOS (.icns)
The .icns file is Apple's native icon format containing multiple resolutions:
- 16x16, 32x32, 64x64, 128x128, 256x256, 512x512, 1024x1024
- Includes @2x versions for Retina displays
Used in:
- App bundle (
YourApp.app/Contents/Resources/icon.icns) - Dock
- Finder
- Spotlight
- Launchpad
Windows (.ico)
The .ico file is Windows' native icon format containing:
- 16x16, 32x32, 48x48, 64x64, 128x128, 256x256
Used in:
- Taskbar
- Desktop shortcuts
- File Explorer
- Start menu
- Window title bar
Linux (PNG set)
Linux uses PNG files following the freedesktop.org icon theme specification:
- 16x16 through 512x512 in standard sizes
Used in:
- Application menu
- Panel/taskbar
- Desktop shortcuts
- Window decorations
Electron Setup
1. Extract Files
Extract the ZIP to your project's build/ folder:
your-electron-app/
├── build/
│ ├── icon.icns
│ ├── icon.ico
│ └── icons/
│ ├── icon-16x16.png
│ ├── icon-32x32.png
│ └── ...
├── package.json
└── src/2. Configure electron-builder
Add to your electron-builder.yml:
appId: com.yourcompany.yourapp
productName: Your App
mac:
icon: build/icon.icns
category: public.app-category.utilities
win:
icon: build/icon.ico
linux:
icon: build/icons
category: UtilityOr in package.json:
{
"build": {
"appId": "com.yourcompany.yourapp",
"mac": {
"icon": "build/icon.icns"
},
"win": {
"icon": "build/icon.ico"
},
"linux": {
"icon": "build/icons"
}
}
}3. Build
# All platforms
electron-builder --mac --win --linux
# Or specific platform
electron-builder --mac
electron-builder --win
electron-builder --linuxTauri Setup
1. Extract Files
Place icons in your Tauri project:
your-tauri-app/
├── src-tauri/
│ ├── icons/
│ │ ├── icon.icns
│ │ ├── icon.ico
│ │ ├── icon-16x16.png
│ │ ├── icon-32x32.png
│ │ └── ...
│ └── tauri.conf.json2. Configure tauri.conf.json
{
"bundle": {
"icon": [
"icons/icon-32x32.png",
"icons/icon-128x128.png",
"icons/icon-256x256.png",
"icons/icon-512x512.png",
"icons/icon.icns",
"icons/icon.ico"
]
}
}3. Build
npm run tauri build
# or
cargo tauri buildNW.js Setup
In package.json:
{
"window": {
"icon": "build/icon-256x256.png"
}
}For Windows installer, reference the .ico in your build configuration.
Platform-Specific Notes
macOS
- Code signing: Icons are preserved during code signing
- App Store: macOS App Store accepts
.icnswith all required sizes - Dark mode: Consider how your icon looks on both light and dark menu bars
Windows
- High DPI: Windows automatically selects the appropriate size from the
.ico - Installer icon: Use the same
.icofor your installer (NSIS, Squirrel, etc.) - Taskbar: Windows uses 24x24 or 32x32 depending on DPI settings
Linux
- Desktop entry: Reference the icon by name in
.desktopfiles:[Desktop Entry] Name=Your App Icon=your-app Type=Application - System integration: Copy icons to
~/.local/share/icons/hicolor/[size]/apps/ - Flatpak/Snap: Include icons in your package manifest
Testing
macOS
# Build and test
npm run build
open dist/mac/YourApp.appVerify in:
- Dock
- Finder sidebar
- Launchpad
- Spotlight search
Windows
# Build and test
npm run build
./dist/win-unpacked/YourApp.exeVerify in:
- Taskbar (pinned)
- Desktop shortcut
- Start menu
- File Explorer
Linux
# Build and test
npm run build
./dist/linux-unpacked/yourappVerify in:
- Application menu
- Desktop (if .desktop file created)
- Window switcher
Troubleshooting
macOS icon not updating?
- Touch the app bundle:
touch /Applications/YourApp.app - Restart Finder:
killall Finder - Clear icon cache:
sudo rm -rf /Library/Caches/com.apple.iconservices.store
Windows icon appears blurry?
The .ico file contains multiple sizes. Ensure all sizes from 16x16 to 256x256 are included (the Favycons bundle includes all required sizes).
Linux icon not showing in menu?
- Update icon cache:
gtk-update-icon-cache -f ~/.local/share/icons/hicolor/ - Verify
.desktopfile references the correct icon name - Check icon is installed in correct location
Build fails with icon error?
- Verify file paths in your build configuration
- Ensure icon files are not corrupted (try opening them in an image viewer)
- For Windows, ensure the
.icois a valid multi-resolution icon