Ghidra Downloadindependent download & install guide
English
INTEL & APPLE SILICON

Download Ghidra for macOS

Download Ghidra for macOS from the official NSA GitHub release. The current version is Ghidra 12.1.2, and the same multi-platform ZIP is used on Intel and Apple Silicon Macs. Install a 64-bit JDK 21, address Gatekeeper quarantine before first launch, and build optional native components when your workflow requires them.

Read official macOS notes
Supported macOSmacOS 10.13 or later
Mac architecturesIntel x86-64 and Apple Silicon ARM64
Launcher./ghidraRun
Required JavaJDK 21 64-bit
OFFICIAL MAC DOWNLOAD

How to download Ghidra for macOS safely

To download Ghidra for macOS from the upstream project, choose ghidra_12.1.2_PUBLIC_20260605.zip on the official Ghidra 12.1.2 GitHub release. This download serves Intel and Apple Silicon; the maintainers do not publish separate DMG or PKG variants. The Java application and platform launch scripts share one archive, while host-specific native components determine whether some debugging and helper features run from bundled binaries or need a local build.

The official Getting Started document lists macOS 10.13 or later as supported and deprecates all 32-bit operating-system installations. Both macOS x86-64 and macOS ARM64 appear in the supported native-component build list, but pre-built native binaries are not supplied for those Mac targets in the same way they are for Windows x86-64 and Linux x86-64. The core Java interface can start without treating an unofficial Mac download as the official download; build native components when a feature actually needs them.

When you download Ghidra for macOS from this page, the button opens the exact official GitHub asset after a 15-second countdown. The file is approximately 546.3 MiB and uses SHA-256 b62e81a0390618466c019c60d8c2f796ced2509c4c1aea4a37644a77272cf99d. Verify that value before installation when download integrity is important.

Verify the official download ZIPshasum -a 256 ghidra_12.1.2_PUBLIC_20260605.zip
STEP 1

Install JDK 21 on macOS

Ghidra 12.1 requires a 64-bit Java 21 Runtime and Development Kit. Install a JDK build matching your Mac architecture. Adoptium Temurin and Amazon Corretto provide macOS packages for Intel and Apple Silicon. A native ARM64 JDK is generally the clearest choice on Apple Silicon, while an x64 JDK is appropriate on Intel Macs.

Open a new Terminal window after installing Java and run java -version and javac -version. Both commands should report version 21. Ghidra checks JAVA_HOME and PATH; if it cannot locate a supported JDK, the launcher can prompt for the Java home. The macOS helper /usr/libexec/java_home -v 21 prints the detected JDK 21 home directory and is useful when multiple Java versions are installed.

Do not replace a working JDK needed by another application. macOS can keep several JDK installations. Set JAVA_HOME for the shell that starts Ghidra or use the documented launcher property when you need an explicit selection. Confirm the JDK architecture with the vendor package and Terminal output rather than assuming a translated x64 Java is native ARM64.

Check Javajava -version && javac -version
Locate JDK 21/usr/libexec/java_home -v 21
STEP 2

Remove Gatekeeper quarantine before extraction

The official installation notes warn that macOS Gatekeeper may quarantine pre-built unsigned native components when Ghidra launches for the first time. The recommended preventative approach is to remove the quarantine attribute from the download ZIP before extracting it. Run the command only after verifying that the ZIP came from the official repository and that its SHA-256 matches the published release value.

In Terminal, change to the download directory and run xattr -d com.apple.quarantine ghidra_12.1.2_PUBLIC_20260605.zip. Then extract the archive normally. Removing the attribute from the archive before extraction prevents the quarantine marker from propagating to its contents. This is more precise than disabling Gatekeeper system-wide and keeps the decision limited to the verified file.

The other official path is to build native components before first launch. That approach needs JDK 21, Gradle 8.5 or the provided wrapper with internet access, Xcode or Command Line Tools for Xcode, and the commands described in the native build section. Choose it when you want locally built Mac-native helpers or when quarantine handling is not appropriate for your environment.

Do not disable Gatekeeper globally

Use the narrow xattr command only for the verified official download archive, or build the native components. Broad system security changes are unnecessary for a normal Ghidra installation.

Remove quarantine from the verified ZIPxattr -d com.apple.quarantine ghidra_12.1.2_PUBLIC_20260605.zip
Install Apple command-line build toolsxcode-select --install
STEPS 3 AND 4

Extract and launch Ghidra on macOS

Extract the download ZIP into a fresh directory under your home folder, such as ~/Applications/ghidra_12.1.2_PUBLIC or ~/Tools/ghidra_12.1.2_PUBLIC. Do not merge it into an older installation. Open Terminal, change into the directory, and run ./ghidraRun. If the shell reports permission denied, inspect the script permissions and restore the executable bit with chmod +x ghidraRun rather than running the entire application as root.

The first launch creates user settings and caches in standard profile locations outside the installation directory. When the Project Window appears, create a non-shared local project and choose a directory that is writable and included in your backup strategy. Ghidra does not automatically create a macOS Applications bundle or Dock entry; you can make a launcher shortcut later, but the shell script remains the supported entry point.

If macOS shows a security dialog for a verified component, review the file source and follow your organization's endpoint-security policy. Repeatedly overriding warnings without understanding whether the file belongs to the official archive defeats the provenance checks performed earlier. A checksum match verifies the archive bytes; the official security advisories remain the source for known Ghidra vulnerabilities.

  1. 1

    Extract into a new folder

    Keep each Ghidra version separate and place it in a directory owned by your account.

    ~/Tools/ghidra_12.1.2_PUBLIC
  2. 2

    Enter the directory

    Use Terminal so first-launch errors remain visible.

    cd ~/Tools/ghidra_12.1.2_PUBLIC
  3. 3

    Run the launcher

    Start the normal graphical application without sudo.

    ./ghidraRun
  4. 4

    Create a local project

    Store projects separately from the application directory and back them up before upgrades.

    File > New Project
Official Ghidra Project Window displayed after a successful launch
A successful macOS launch reaches the same Project Window used on other desktop platforms. Official Ghidra documentation screenshot.
INTEL AND APPLE SILICON

Build Ghidra native components on macOS when needed

Some Ghidra modules use native helper programs. The official 12.1 release includes pre-built native binaries for Windows x86-64, Windows ARM64 through x86 emulation, and Linux x86-64. macOS x86-64 and ARM64 are supported as locally built targets. This does not justify using a random unofficial Mac download; the official distribution contains a Gradle-based native build path.

Install Xcode or Command Line Tools for Xcode, ensure JDK 21 is active, and change into support/gradle inside the extracted Ghidra directory. With an internet connection, the supplied Gradle wrapper can run buildNatives. The generated binaries are placed in module build directories and preferred over packaged native directories for the relevant platform.

Build only when your required feature reports a missing or incompatible native binary, or when your security workflow prefers local compilation. The standard Java analysis interface may already meet a basic decompilation and disassembly workflow. Document the toolchain and commit no locally built binaries into unrelated projects, because their architecture and provenance differ from the official ZIP.

macOS hostRelease archiveNative helper status
Intel x86-64 MacOfficial multi-platform ZIPSupported local native build
Apple Silicon ARM64 MacOfficial multi-platform ZIPSupported local native build
Either architectureNo official DMG requiredUse JDK 21 matching the host when practical
Build native components with the supplied wrappercd support/gradle && ./gradlew buildNatives
TROUBLESHOOTING

Fix Ghidra launch problems on a Mac

For “java command not found,” install JDK 21 and open a new Terminal. For “Failed to find a supported JDK,” check java -version, javac -version, and /usr/libexec/java_home -v 21. A compatible runtime without the full development kit does not satisfy the documented requirement.

For quarantine or blocked native-component errors, confirm the ZIP checksum and whether the quarantine attribute was removed before extraction. Re-extracting after the correct xattr step is cleaner than changing attributes across an uncertain partial installation. For executable-permission errors, use chmod +x ghidraRun and launch as your normal account.

If a component remains unavailable on Intel or Apple Silicon, read the console message to determine whether it is a native helper and build the supported components locally. Do not assume every warning prevents CodeBrowser from starting. Use support/ghidraDebug for detailed startup output and close debug mode after diagnosis.

macOS symptomLikely causeFirst fix
Java not foundJDK missing from PATH/JAVA_HOMEInstall JDK 21 and reopen Terminal
Operation not permitted / quarantinedGatekeeper attribute propagatedVerify ZIP, remove quarantine before extraction, and extract again
Permission denied on ghidraRunLauncher not executableRun chmod +x ghidraRun
Native helper unavailableNo supplied Mac binaryInstall build tools and run buildNatives
Application exitsHidden startup exceptionRun the launcher in Terminal or use ghidraDebug
MAC FAQ

Download Ghidra for macOS questions

Does Ghidra work on Apple Silicon Macs?

Apple Silicon ARM64 is listed as a supported platform for locally built native components. Use the official multi-platform download and a compatible JDK 21; build native helpers when your workflow requires them.

Is there a Ghidra DMG for macOS?

No official DMG is published. Download Ghidra for macOS from the official multi-platform ZIP, remove quarantine from the verified ZIP before extraction, and run ./ghidraRun.

Which Java should I install for Ghidra on Mac?

The download requires a 64-bit JDK 21. Use an ARM64 JDK on Apple Silicon or an x64 JDK on Intel when available from your chosen vendor.

Why does macOS say Ghidra is quarantined?

Gatekeeper can quarantine unsigned native components extracted from a download archive. The official guide recommends removing com.apple.quarantine from the verified ZIP before extraction or building native components before first launch.

Can I run Ghidra on Mac without building from source?

Use the official pre-built multi-platform download for the main application. You may need to build platform-native helper components for particular features; that is different from building the entire Ghidra application from source.

Download Ghidra for macOS

Get the official ZIP, verify its checksum, remove quarantine before extraction, and launch with ./ghidraRun.