Create DMG installers for your electron apps using appdmg.
327
stars
129
commits
TypeScript
primary language
Sep 8, 2026
updated
Create DMG installers for your electron apps using appdmg.
This module requires using macOS and Node 22.12 or above.
For use in npm scripts:
npm i electron-installer-dmg --save-dev
For use from cli:
npm i electron-installer-dmg -g
Usage: electron-installer-dmg <path/to/.app> <appname>
Create DMG installers for your electron apps.
Usage:
electron-installer-dmg ./FooBar-darwin-x64/FooBar.app FooBar
Options:
--out=<path> The directory to put the DMG into. [Default: `process.cwd()`].
--icon=<path> Path to the icon file that will be the app icon in the DMG window.
--icon-size=<px> How big to make the icon for the app in the DMG. [Default: `80`].
--background=<path> Path to a PNG image to use as the background of the DMG. [Size: 658 x 498]
--title=<string> The title of the produced DMG, which will be shown when mounted.
--overwrite Overwrite any existing DMG.
-h --help Show this screen.
--version Show version.
const { createDMG } = require('electron-installer-dmg');
async function buildDMG() {
await createDMG({
appPath: '/path/to/app.app',
name: 'MyApp'
});
}
optsappPath - String - Required
The .app directory generated by electron-packager.
name - String - Required
The application name.
title - String
The title of the produced DMG, which will be shown when mounted.
background - String
Path to the background for the DMG window. Background image should be of size 658 × 498.
icon - String
Path to the icon to use for the app in the DMG window.
iconSize - Number
How big to make the icon for the app in the DMG. [Default: 80].
overwrite - Boolean
Overwrite an existing DMG file if if already exists.
out - String
The directory to put the DMG into. [Default: process.cwd()].
contents - Array or Function that returns an Array of objects.
The content that will appear in the window when user opens the .dmg file.
[Default: Array of two icons, application and application destination folder].
Array example:
[ { x: 448, y: 344, type: 'link', path: '/Applications'},
{ x: 192, y: 344, type: 'file', path: '/path/to/application.app'} ]
Function example (more flexible for getting useful options used in creating a DMG):
function (opts) {
return [ { x: 448, y: 344, type: 'link', path: '/Applications'},
{ x: 192, y: 344, type: 'file', path: opts.appPath} ];
}
format - String
Disk image format. [Default: UDZO].
UDRW :arrow_right: read/write imageUDRO :arrow_right: read-only imageUDCO :arrow_right: ADC-compressed imageUDZO :arrow_right: zlib-compressed imageUDBZ :arrow_right: bzip2-compressed imageULFO :arrow_right: lzfse-compressed image (macOS 10.11+ only)additionalDMGOptions - Object
Additional options to pass through to appdmg
You can use this to set additional features like background-color and
code-sign. See the docs of the appdmg module for all possible options.
Apache 2.0
TypeScript
85.0%
JavaScript
15.0%
Create DMG installers for your electron apps using appdmg.
327
stars
129
commits
TypeScript
primary language
Sep 8, 2026
updated
Create DMG installers for your electron apps using appdmg.
This module requires using macOS and Node 22.12 or above.
For use in npm scripts:
npm i electron-installer-dmg --save-dev
For use from cli:
npm i electron-installer-dmg -g
Usage: electron-installer-dmg <path/to/.app> <appname>
Create DMG installers for your electron apps.
Usage:
electron-installer-dmg ./FooBar-darwin-x64/FooBar.app FooBar
Options:
--out=<path> The directory to put the DMG into. [Default: `process.cwd()`].
--icon=<path> Path to the icon file that will be the app icon in the DMG window.
--icon-size=<px> How big to make the icon for the app in the DMG. [Default: `80`].
--background=<path> Path to a PNG image to use as the background of the DMG. [Size: 658 x 498]
--title=<string> The title of the produced DMG, which will be shown when mounted.
--overwrite Overwrite any existing DMG.
-h --help Show this screen.
--version Show version.
const { createDMG } = require('electron-installer-dmg');
async function buildDMG() {
await createDMG({
appPath: '/path/to/app.app',
name: 'MyApp'
});
}
optsappPath - String - Required
The .app directory generated by electron-packager.
name - String - Required
The application name.
title - String
The title of the produced DMG, which will be shown when mounted.
background - String
Path to the background for the DMG window. Background image should be of size 658 × 498.
icon - String
Path to the icon to use for the app in the DMG window.
iconSize - Number
How big to make the icon for the app in the DMG. [Default: 80].
overwrite - Boolean
Overwrite an existing DMG file if if already exists.
out - String
The directory to put the DMG into. [Default: process.cwd()].
contents - Array or Function that returns an Array of objects.
The content that will appear in the window when user opens the .dmg file.
[Default: Array of two icons, application and application destination folder].
Array example:
[ { x: 448, y: 344, type: 'link', path: '/Applications'},
{ x: 192, y: 344, type: 'file', path: '/path/to/application.app'} ]
Function example (more flexible for getting useful options used in creating a DMG):
function (opts) {
return [ { x: 448, y: 344, type: 'link', path: '/Applications'},
{ x: 192, y: 344, type: 'file', path: opts.appPath} ];
}
format - String
Disk image format. [Default: UDZO].
UDRW :arrow_right: read/write imageUDRO :arrow_right: read-only imageUDCO :arrow_right: ADC-compressed imageUDZO :arrow_right: zlib-compressed imageUDBZ :arrow_right: bzip2-compressed imageULFO :arrow_right: lzfse-compressed image (macOS 10.11+ only)additionalDMGOptions - Object
Additional options to pass through to appdmg
You can use this to set additional features like background-color and
code-sign. See the docs of the appdmg module for all possible options.
Apache 2.0
TypeScript
85.0%
JavaScript
15.0%