Building HandBrake for Mac

Building HandBrake for Mac requires an Apple computer with a 64-bit Intel processor running OS X 10.13.6 High Sierra or later1, and the following dependencies.

Additional dependencies (may be built via included script):

Install Xcode2 and open it once. Approve any prompts to install additional tools. You may quit Xcode after it has finished loading.

Install Command Line Tools for Xcode3.

xcode-select --install

Clone the HandBrake repository.

git clone https://github.com/HandBrake/HandBrake.git && cd HandBrake

You may build and install the additional dependencies using the included script. Feel free to choose a different output path, if desired.

scripts/mac-toolchain-build /usr/local

This process will take a few minutes. If necessary, the script will provide you with instructions for adding the resulting binaries location to your environment’s PATH4. Do this now.

Build HandBrake. To build the command line interface only, disable the graphical interface by appending --disable-xcode.

./configure --launch-jobs=$(sysctl -n hw.ncpu) --launch

When complete, you will find HandBrakeCLI in the build/xroot directory. If the graphical interface is enabled, you will also find HandBrake.app in this directory.

Install HandBrake (optional).

sudo make --directory=build install

To start over, simply remove the build directory.

rm -rf build

  1. HandBrake must be built on macOS 10.4 Mojave or later to enable Dark Mode toolbar icons. Building on earlier macOS, even with latest Xcode, will result in Light Mode toolbar icons being displayed in Dark Mode.

  2. Make sure Xcode is installed at /Applications/Xcode.app. When using an Xcode Beta release, you may need to rename Xcode-beta.app to Xcode.app.

  3. When installing Command Line Tools for Xcode using the package installer (instead of xcode-select --install), make sure to install the package that corresponds to the installed Xcode version. A mismatch between the installed Xcode and Command Line Tools versions may cause problems.

  4. /usr/local/bin is included in the system’s PATH by default. It is not necessary to add it to your environment’s PATH when installing the additional dependencies to /usr/local.