How to install apps on a Mac
.dmg or .pkg for
everything else, and Homebrew for developer tools. Homebrew installs from the
vendor's own release and makes upgrades and uninstalls one command.There are three ways to install software on macOS, and they have different trade-offs. This page explains when to use each.
1. The Mac App Store
Sandboxed, signed by Apple, updates handled for you. The trade-off is that many developer tools never ship there, and sandboxing limits what an app can do.
2. A .dmg or .pkg from the vendor
Download the disk image, drag the app into /Applications, and macOS
Gatekeeper checks the signature on first launch. This is normal and safe when the
source is the vendor's own site.
3. Homebrew (recommended for developer tools)
Homebrew is a package manager: it downloads from the vendor, verifies a checksum, and keeps a record of what is installed so upgrades and uninstalls are one command. It is the fastest way to set up a new Mac.
Then install apps with:
and command-line tools with:
Is Homebrew safe?
Homebrew casks are contributed definitions that point at the vendor's own download URL and pin a SHA-256 checksum. It does not redistribute software. If a vendor changes their release, the checksum check fails and the install stops instead of silently grabbing something unexpected.
Uninstalling
That removes the app bundle. Leftover preferences in ~/Library are not
touched, which is usually what you want if you plan to reinstall later.
Frequently asked questions
Do I need Homebrew to install Mac apps?
No. The Mac App Store and vendor .dmg or .pkg files work
without Homebrew. Homebrew is recommended for developer tools because it records what
is installed and makes upgrades and uninstalls one command.
Is Homebrew safe?
Homebrew casks point at the vendor's own download URL and pin a SHA-256 checksum. Homebrew does not redistribute the apps. If a vendor changes a release, the checksum check fails instead of installing something unexpected.
How do I uninstall an app installed with Homebrew?
Run brew uninstall --cask <app-name> for a GUI app, or
brew uninstall <formula> for a command-line tool. Preferences in
~/Library are left in place.
Last updated 2026-10-26.