- For Developers
- ›
- Platforms
Desktop icons
Here's how we generate app icons for macOS, Windows, and Linux.
Inputs
- macOS:
packages/desktop/static-desktop/macos-icon-main.png(1024×1024 PNG) - Windows:
packages/desktop/static-desktop/windows-icon-main.png(1024×1024 PNG) - Linux:
packages/desktop/static-desktop/linux-icon-main.png(1024×1024 PNG)
Keep transparent background and some padding. Platform-specific art is allowed.
Generate icons
From repo root (or anywhere):
node packages/desktop/scripts/build-icons.js
Outputs written to packages/desktop/static-desktop/:
icon.icns(macOS)icon.ico(Windows)icon.png(Linux, 512×512)
Notes:
- The script creates a temporary
.iconsetand cleans it up. - It prefers ImageMagick v7 ("magick convert") but falls back to
convert. - Optional flags:
--skip-mac,--skip-win,--skip-linux,--linux-size 512,--out <dir>.
How the app uses them
- macOS: Electron Builder default picks up
build/icon.icns. - Windows: Electron Builder is configured to use
build/icon.ico. - Linux:
build/icon.pngis used and resized by packager.
Verify
- Open the outputs and visually check small sizes.
- (Optional) Expand
.icnsto an iconset on macOS:
iconutil -c iconset packages/desktop/static-desktop/icon.icns -o /tmp/verify.iconset