Convert app to dmg

Convert APP to DMG

Package a macOS .app bundle as a compressed, drag-and-drop DMG on a Mac.

Make DMG files online

We can't read APP files yet, so this conversion isn't available. If you can export your work to one of these formats, we'll turn it into DMG:

How to convert app to dmg file

macOS applications are often delivered as .app bundles, while downloads commonly use a single .dmg disk image for mounting and drag-and-drop installation. Packaging an app this way makes distribution simpler without changing the application itself.

What the APP format is

On macOS, “APP” normally means an .app application bundle. It is a directory containing the executable, resources, metadata, frameworks, and code-signing information; Finder displays it as one application. Xcode and other development tools create these bundles, which commonly appear in /Applications, ZIP archives, or build directories such as build/Release/.

This operation is packaging rather than code conversion. The application’s executable format, CPU architecture, resources, and signing data remain unchanged; the bundle is placed inside a disk-image container.

What the DMG format is

DMG is Apple’s disk-image format for macOS. Opening a .dmg mounts it as a virtual volume in Finder, where the user can copy an application to /Applications, open documentation, or run an included installer package.

A DMG can contain compression, encryption, checksums, a custom volume name, and Finder presentation settings. A compressed, read-only image, usually created with the UDZO format, is the normal choice for application downloads because it reduces transfer size and prevents accidental changes to the distributed files.

How to create a DMG with hdiutil

Apple’s built-in hdiutil command is the most dependable option for repeatable builds. Run these commands in Terminal on a Mac, replacing MyApp with the application’s actual name:

  1. Create a temporary staging directory, copy the bundle with ditto, and add an Applications shortcut:
staging=$(mktemp -d "${TMPDIR:-/tmp}/MyApp.XXXXXX")
ditto "/Applications/MyApp.app" "$staging/MyApp.app"
ln -s /Applications "$staging/Applications"
  1. Create a compressed DMG on the Desktop:
hdiutil create \
  -volname "MyApp" \
  -srcfolder "$staging" \
  -format UDZO \
  -ov \
  "$HOME/Desktop/MyApp.dmg"
rm -rf "$staging"
  1. Open MyApp.dmg, copy the application to a test Mac, and launch it. Detach the mounted volume after testing with:
hdiutil detach "/Volumes/MyApp"

The source bundle can come from a build directory instead of /Applications. Copying it with ditto preserves application-bundle metadata more reliably than treating the bundle as an ordinary collection of files.

Graphical and third-party options

For an occasional conversion, use Disk Utility: select File → New Image → Image from Folder, choose a staging folder containing the .app bundle and an optional Applications alias, select compressed as the image format, and save with a .dmg extension.

DropDMG is a reputable macOS desktop alternative that can automate staging, volume layout, compression, signing, and repeatable releases. A simple utility such as App2Dmg can also create a drag-and-drop image, but inspect its output and test the mounted image before distribution. Native macOS tools are preferable because they can preserve bundle metadata and verify the result.

Online converters are not appropriate for ordinary .app bundles. Uploading an application exposes executable code and proprietary resources, and a web service may not preserve symlinks, extended attributes, permissions, or signing data. Use a local Mac tool; Windows utilities may create a container but cannot reliably validate macOS launching, signing, or notarization.

Compatibility and signing limitations

Creating a DMG does not make the application cross-platform or change its architecture. An Intel-only application still needs Intel support or Rosetta 2 on Apple silicon, an Apple-silicon-only application needs a compatible Mac, and a universal application contains both architectures. The image also does not bypass Gatekeeper, quarantine, code-signing, or notarization checks.

For public distribution, sign the application before creating the image, then sign and notarize the finished DMG. Do not alter the application after signing it. A verification command is:

codesign --verify --deep --strict --verbose=2 "/Applications/MyApp.app"

Use a writable image format only when users must edit files inside the mounted image. For a normal application download, UDZO is smaller and read-only; test the copied application on the macOS versions and processor types you intend to support.