Skip to content

Command Line Interface (CLI)

Execute ./node_modules/.bin/electron-builder --help (node_modules/.bin/electron-builder build --help for build subcommand) to get the actual CLI usage guide.


Since Node.js 8 npx is bundled, so, you can simply use npx electron-builder.

  electron-builder build                    Build                      [default]
  electron-builder install-app-deps         Install app deps
  electron-builder node-gyp-rebuild         Rebuild own native code
  electron-builder create-self-signed-cert  Create self-signed code signing cert
                                            for Windows apps
  electron-builder start                    Run application in a development
                                            mode using electron-webpack

  --mac, -m, -o, --macos   Build for macOS, accepts target list (see
  --linux, -l              Build for Linux, accepts target list (see
  --win, -w, --windows     Build for Windows, accepts target list (see
  --x64                    Build for x64                               [boolean]
  --ia32                   Build for ia32                              [boolean]
  --armv7l                 Build for armv7l                            [boolean]
  --arm64                  Build for arm64                             [boolean]
  --dir                    Build unpacked dir. Useful to test.         [boolean]
  --prepackaged, --pd      The path to prepackaged app (to pack in a
                           distributable format)
  --projectDir, --project  The path to project directory. Defaults to current
                           working directory.
  --config, -c             The path to an electron-builder config. Defaults to
                           `electron-builder.yml` (or `json`, or `json5`), see

  --publish, -p  Publish artifacts (to GitHub Releases), see
                [choices: "onTag", "onTagOrDraft", "always", "never", undefined]

  --draft       Please set releaseType in the GitHub publish options instead
  --prerelease  Please set releaseType in the GitHub publish options instead
  --platform    The target platform (preferred to use --mac, --win or --linux)
           [choices: "mac", "win", "linux", "darwin", "win32", "all", undefined]
  --arch        The target arch (preferred to use --x64 or --ia32)
                   [choices: "ia32", "x64", "armv7l", "arm64", "all", undefined]

  --help     Show help                                                 [boolean]
  --version  Show version number                                       [boolean]

  electron-builder -mwl                        build for macOS, Windows and Linux
  electron-builder --linux deb tar.xz          build deb and tar.xz for Linux
   electron-builder                          set package.json property `foo` to                  `bar`
    electron-builder                          configure unicode options for NSIS

For other commands please see help using --help arg, e.g. ./node_modules/.bin/electron-builder install-app-deps --help


Without target configuration, electron-builder builds Electron app for current platform and current arch using default target.

  • macOS - DMG and ZIP for Squirrel.Mac.
  • Windows - NSIS.
  • Linux - AppImage.

Platforms and archs can be configured or using CLI args, or in the configuration.

For example, if you don’t want to pass --ia32 and --x64 flags each time, but instead build by default NSIS target for all archs for Windows:


"build": {
  "win": {
    "target": [
        "target": "nsis",
        "arch": [
     - target: nsis
         - x64
         - ia32

and use

build -wl


  • target String - The target name. e.g. snap.
  • arch “x64” | “ia32” | “armv7l” | “arm64”> | “x64” | “ia32” | “armv7l” | “arm64” - The arch or list of archs.