ungoogled-chromium-macos: a notarized Chromium build for the Mac
macOS packaging for ungoogled-chromium
At a glance
- What is it?
- ungoogled-chromium-macos packages the ungoogled-chromium project for macOS, and what makes it more than a repackage is that the binaries are signed and notarized with an Apple Developer ID, which is only possible while someone keeps paying the annual membership fee.
- Who is it for?
- ungoogled-chromium-macos fits a macOS user who wants a Chromium without the Google integration and who also wants the binary to open without a Gatekeeper warning, which the notarized Developer ID build solves.
- Can I use it commercially?
- Yes. BSD-3-Clause is a permissive licence: you can use, modify and sell software built on it, as long as you keep its copyright and licence notices.
- Is it still maintained?
- Yes. The repository last received commits 3 days ago.
- What is it written in?
- Mainly Python, according to GitHub's language statistics.
Answers come from the project's GitHub data, last synced on October 24, 2026, and from our analysis. They are not legal advice.
Editorial analysis
The problem with self-built Chromium on a Mac
ungoogled-chromium-macos is the macOS packaging for the ungoogled-chromium project, so the work it does is not the browser itself but the part that upstream does not do: producing a signed, installable macOS artifact. That part is harder than it sounds on macOS. A browser that you built yourself is an unsigned application, and macOS treats that as a prompt to warn you or refuse to open it. Every user then has to know about right-click to open, or the xattr command, or Gatekeeper settings, and a project trying to reach people who are not command line users cannot rely on that. The alternative is to do the signing properly, which needs a paid Apple Developer Program membership and the notarization workflow on top of it. This project does that, and the cost of doing it is the story the announcements keep coming back to.
How to check the signature yourself before installing
The notarized binaries are signed with the Apple Developer ID certificate Developer ID Application: Qian Qian (B9A88FL5XJ), and the project asks you to verify that yourself rather than take its word. The procedure is to download the .dmg, extract the .app, and run a check in Terminal.
spctl -a -vvv -t install path/to/Chromium.appA correctly notarized binary produces output of this shape.
path/to/Chromium.app: accepted
source=Notarized Developer ID
origin=Developer ID Application: Qian Qian (B9A88FL5XJ)The accepted line and the Notarized Developer ID source are the parts that matter. This check is worth doing once you have installed it, because it is the only step in the process where a third party is telling you something about the binary rather than the other way round, and a supply chain that asks you to trust a download is worth auditing while the download is still in your hands.
Two ways to install, and a warning about master
There are two distribution paths. The first is the GitHub Releases page, where the binaries are published directly. The second is Homebrew, where the project is available as a cask under the name ungoogled-chromium, installed with a single command, brew install --cask ungoogled-chromium. After that Chromium appears in your /Applications directory, which is the point of a cask: no disk image to mount, no application to drag, and the install is reversible through brew. The project is also explicit about the source of truth for building. It recommends using a tag via git checkout, and notes that master may be used but is for development and may not be stable. That distinction matters for anyone reproducing a release, since the tags correspond to the published artifacts and master is where the next release is being assembled.
Building from source needs a specific and long toolchain
The software requirements are macOS 10.15 or newer, Xcode 12, Homebrew, Perl for creating the .dmg package, and Node.js. The setup steps are more specific than that list suggests, and several of them exist because of the ungoogled-chromium build system rather than the packaging layer. Python 3 is installed via Homebrew, with Python 3.13 or earlier required for the depot_tools, and PySocks and httplib2 are installed with pip3. The Metal toolchain is fetched with xcodebuild -downloadComponent MetalToolchain, Ninja, GNU coreutils and readline come from Homebrew, and binutils is unlinked so the copy bundled with Xcode is used instead. Node.js, esbuild and typescript are installed through Homebrew as well, and the instructions end with a reminder to restart the terminal so the new tools are on the path. Nine steps before a build starts is the honest cost of assembling a browser from source on macOS.
The build script and its architecture flags
Getting the source is a clone that pulls the submodules, followed by a checkout of the tag or branch you want.
git clone --recurse-submodules https://github.com/ungoogled-software/ungoogled-chromium-macos.git
cd ungoogled-chromium-macos
# Replace TAG_OR_BRANCH_HERE with a tag or branch name
git checkout --recurse-submodules TAG_OR_BRANCH_HEREThe submodules matter, because the packaging repository carries the ungoogled-chromium source as a submodule along with its own patches and build configuration. The build itself is a single script.
./build.shIt builds for the architecture of the machine you are on, x86_64 for Intel Macs or arm64 for Apple Silicon, and you can cross-build for x86_64 from an Apple Silicon Mac by passing the architecture as an argument.
./build.sh x86_64When the build completes a .dmg appears in build/.
Ad-hoc signing is the fallback when you have no Developer ID
Notarization requires an Apple Developer ID and a valid Apple Developer Program membership, and the project lists the four environment variables that has to have. MACOS_CERTIFICATE_NAME holds the full name of your Developer ID certificate, PROD_MACOS_NOTARIZATION_APPLE_ID the email tied to the account, PROD_MACOS_NOTARIZATION_TEAM_ID the team identifier, and PROD_MACOS_NOTARIZATION_PWD an app-specific password generated in the account settings. If you have none of that, there is a fallback. Setting MACOS_AD_HOC_SIGNING to 1 produces an ad-hoc signed build.
MACOS_AD_HOC_SIGNING=1 ./build.shThe project is careful to say what this means: the resulting build is not notarized, and the same variable can be combined with the x86_64 argument. An ad-hoc signed build will still trip a Gatekeeper warning on another machine, since there is no notarisation ticket attached to vouch for it. It is fine for your own use and not fine for distributing.
The sponsorship that pays for the signing
The announcements section is unusually candid about the economics. The project states that notarized builds will be provided at least until the end of the 2026-2027 Apple Developer Program membership year, which ends on October 14th 2027, and that the sponsorship contributions made it possible for the maintainer to cover the cost of that membership and provide notarized builds. Depot is credited with sponsoring the project and providing GitHub Action runners for building and packaging releases, which the project says dramatically accelerated the release cycle, and the sponsor section adds that their infrastructure reduced build times from days to hours. There is a note that the prioritised use of sponsorship will always be covering the membership fee for the current and following year, with anything beyond that possibly reallocated. The release history shows what that buys: 155.0.8059.84-1.1 on 2026-10-19, 155.0.8059.39-1.1 on 2026-10-15 and 154.0.8037.97-1.1 on 2026-10-08, so the Chromium version moves fast and the packaging follows it within days.
What the repository actually contains
Beyond build.sh there is a sign_and_package_app.sh for the signing and packaging step, retrieve_and_unpack_resource.py for fetching resources, a flags.macos.gn for the build configuration, a patches/ directory, entitlements/ for the code signing entitlements, and devutils/. The per-architecture download lists are separate files, downloads-x86-64.ini, downloads-arm64.ini, and matching rustlib variants, so the set of resources differs per architecture and is checked in rather than assembled at runtime. A revision.txt records the Chromium revision being packaged, and a .gitmodules file points at the upstream ungoogled-chromium source that the packaging layer configures. The licence is BSD-3-Clause with the text in the LICENSE file. The last push to the repository was on 2026-10-19, the same day as the newest release, so the tree and the published artifact move together.
Editorial conclusion
ungoogled-chromium-macos fits a macOS user who wants a Chromium without the Google integration and who also wants the binary to open without a Gatekeeper warning, which the notarized Developer ID build solves. It does not fit someone who will not accept a build that depends on one maintainer paying an annual Apple Developer Program fee, since the notarized binaries are only promised until that membership year ends on October 14th 2027 and the project says the priority for sponsorship is always covering that fee. It also does not fit a developer on a non-Apple platform, because the build requires macOS 10.15 or newer, Xcode 12, Homebrew, Perl, Node.js and a Metal toolchain. Before you install, verify the signature yourself with spctl after extracting the .app from the .dmg, and check the Homebrew cask rather than the release page if you want the simplest path, since the cask and the release artifacts are separate distribution channels.
Frequently asked questions
How do I install ungoogled-chromium on macOS?
Through Homebrew as a cask, with brew install --cask ungoogled-chromium, after which Chromium appears in your /Applications directory. Binaries are also published directly on the GitHub Releases page as a .dmg.
How can I verify the ungoogled-chromium macOS build is properly signed?
Download the .dmg, extract the .app and run spctl -a -vvv -t install path/to/Chromium.app in Terminal. Correctly notarized binaries report accepted with source=Notarized Developer ID, signed with the Developer ID Application: Qian Qian (B9A88FL5XJ) certificate.
Can I build ungoogled-chromium-macos without an Apple Developer ID?
Yes, by setting MACOS_AD_HOC_SIGNING=1 before running ./build.sh, optionally with the x86_64 argument. The project states the resulting build is not notarized, so it will still trigger a Gatekeeper warning on another machine.
How long will notarized ungoogled-chromium macOS builds be provided?
The project states that notarized builds will be provided at least until the end of its 2026-2027 Apple Developer Program membership year, which ends on October 14th 2027, with sponsorship going first toward covering that membership fee.
Official sources
Add this badge to your README
If you maintain this project, the badge below links readers to this analysis and shows its maintenance status from the daily GitHub snapshot. Paste the markdown into your README; add ?metric=license or ?metric=stars to the image URL for a different field.
[](https://hysenlabs.com/projects/ungoogled-software-ungoogled-chromium-macos)Was this useful?