
electron-builder
Packages and builds a distributable Electron app for macOS, Windows and Linux, with auto-update support.
- Stars
- 14.7k
- Forks
- 1.9k
- Licence
- MIT
- Language
- TypeScript
- Last update
- 4 days ago
- Type
- Dev tool
What it is
electron-builder is a tool that takes an Electron app (a desktop app built with web technologies) and packages it into installers and distributable files for macOS, Windows and Linux. It can produce formats such as dmg, nsis installers, AppImage and deb, and it includes support for auto-update. Developers use it so they do not have to assemble these packaging steps by hand.
- Produce a Windows NSIS installer and a macOS dmg from one Electron project
- Package an app as a Linux AppImage, deb or rpm file
- Publish built artifacts to GitHub Releases, Amazon S3 or DigitalOcean Spaces
- Build a portable Windows app that runs without installation
Great for
- Developers shipping an Electron app to end users on several operating systems
- Teams that want code signing and publishing to GitHub Releases, S3 or DigitalOcean Spaces handled by one tool
- Developers who need auto-update support in their packaged app
- Projects that need to build Linux or Windows packages from another platform using Docker
Not ideal for
- People who are not building an Electron app; the tool only packages Electron projects
- Users looking for an end-user desktop application to install; this is a build tool for developers
- Projects on Node.js versions below 22.12.0, since the README says v27 requires Node.js >=22.12.0 (the README does not say which older versions are supported)
How to get it
- 1
Install with a package manager
You'll need: Node.js >=22.12.0 (required for v27) · An Electron project
Install as a dev dependency with Yarn
yarn add electron-builder --dev - 2
Run it
- Add the "build" configuration with an appId to your package.json
- Add an "app:dist" script set to electron-builder in package.json
- Run yarn app:dist to produce a distributable package, or yarn app:dir to generate an unpacked directory for testing
- 3
Get the most out of it
- Run electron-builder migrate-schema when upgrading to v27 to rewrite your config automatically
- Add a postinstall script of electron-builder install-app-deps so native dependencies match your Electron version
- Use the Docker images to build Linux or Windows packages from any platform
- Set nativeModules.nodeGypRebuild to true if your app has its own native addons
Downloads
Strengths
- Covers many target formats across macOS, Windows and Linux in one tool
- Includes auto-update support and code signing options as documented features
- Downloads required tool files on demand, so little manual setup is needed according to the README
Trade-offs
- Upgrading from v26 to v27 involves breaking changes, and the README recommends reading the migration guide first
- Yarn 3 users must change the linker setting to node-modules, as the README notes
- The README is truncated, so detailed configuration and per-platform requirements must be checked in the external documentation
How it compares
| Project | Stars | Type | Level | Updated | Best for |
|---|---|---|---|---|---|
| electron-builder (this) | 14.7k | Dev tool | intermediate | 4 days ago | Developers shipping an Electron app to end users on several operating systems |
| marktext | 63.5k | App | beginner | 4 days ago | People who write notes or articles in Markdown and want a clean, minimal editor |
| atom | 60.7k | App | beginner | 3.8 years ago | Developers who want a desktop code editor they can customize with packages |
| nativefier | 35.2k | CLI | beginner | 3.1 years ago | People who want a site like WhatsApp Web or Gmail in its own window |
| nylas-mail | 24.7k | App | advanced | 4 months ago | Developers curious about how an extensible Electron and React desktop app is structured |
| wasmer | 21.2k | Dev tool | intermediate | 4 days ago | Developers who want to run untrusted or third-party code with explicit access controls |
Stats synced from GitHub. The assessment above was drafted with AI from the project's README on 2026-10-29 and may miss recent changes — check the README before relying on a command. MIT licence: free to use, modify and distribute, including commercially, as long as you keep the copyright notice.