Skip to content

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)
Step-by-step guide: how to use electron-builderInstall, first run, examples, tips and FAQs

How to get it

  1. 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. 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. 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

ProjectStarsTypeLevelUpdatedBest for
electron-builder (this)14.7kDev toolintermediate4 days agoDevelopers shipping an Electron app to end users on several operating systems
marktext63.5kAppbeginner4 days agoPeople who write notes or articles in Markdown and want a clean, minimal editor
atom60.7kAppbeginner3.8 years agoDevelopers who want a desktop code editor they can customize with packages
nativefier35.2kCLIbeginner3.1 years agoPeople who want a site like WhatsApp Web or Gmail in its own window
nylas-mail24.7kAppadvanced4 months agoDevelopers curious about how an extensible Electron and React desktop app is structured
wasmer21.2kDev toolintermediate4 days agoDevelopers 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.