Note: This post is a bit older. A couple of details have moved on. Homebrew now requires macOS Sonoma (14) at minimum, not Mojave. youtube-dl is barely maintained anymore; the active fork is yt-dlp, installed via brew install yt-dlp. Everything else still applies.
Why you want a package manager on macOS
As a Mac user you know the App Store. It’s Apple’s own package manager, and for the most part (setting aside company politics) a good thing.
But what about free software, or apps that can’t or won’t ship through the App Store? Installing lots of small command line tools by hand gets tedious fast.
The solution: Homebrew
That’s what Homebrew is for. It’s a package manager in the Linux sense: it takes care of installing tools, handling dependencies and running updates.
The nice thing about brew is that you can use it for command line tools and for macOS apps alike.
Installing Homebrew
Installation is straightforward. Open Terminal and run:
/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"
Requirements: a 64-bit Intel or Apple Silicon CPU, and Apple’s Command Line Tools. If they’re missing, Homebrew pulls them in automatically, or install them manually with xcode-select --install.
macOS apps
With brew you can install, search, update and remove software. First example, Google Chrome:
brew install --cask google-chrome
--cask tells brew you want a macOS app, which then lands in the Applications folder.
To find out what’s available, use brew search:
➜ ~ brew search google
==> Formulae
aws-google-auth google-go google-sql-tool
google-authenticator-libpam google-java-format googler
google-benchmark google-sparsehash googletest
==> Casks
google-ads-editor
google-chrome ✔
google-cloud-sdk
google-drive
google-earth-pro
...
Formulae are regular command line programs, casks are macOS GUI apps.
Details on a package with brew info google-chrome.
Updates run via brew upgrade google-chrome. Without a name, it updates everything. Uninstall with brew uninstall google-chrome.
More examples
You’ll find apps from VMware, Adobe and Microsoft, plus VLC, Spotify and many more. I now check Homebrew first before downloading anything manually from a website.
Linux-style tools on the Mac
Plenty of open source projects originally written for Linux are available on macOS too. That’s where Homebrew really shines.
htop
htop is an enhanced version of top. It shows processes and applications with a lot of useful options.

htop
Install:
brew install htop
webp
Convert images to WebP:
brew install webp
Scale a JPEG down to 860 pixels wide proportionally, quality 50%:
cwebp -q 50 -resize 860 0 -mt image.jpg -o image.webp
yt-dlp
yt-dlp lets you download YouTube videos and much more. It’s the actively maintained successor of youtube-dl. Docs and options on the GitHub page:
brew install yt-dlp
What else
Check brew info wget — a great tool for quick downloads from the command line. More complex stuff like apache2 or docker is available too.
Tips & tricks
The FAQ covers most commands. You can also search packages directly at formulae.brew.sh.
List all installed packages:
brew list
Installed packages with their dependencies as a tree:
brew deps --tree --installed
For me, Homebrew is one of the very first things I install on a new Mac.