Brave adds native ARM64 support for Windows

Brave now offers a fully native version for ARM64 Windows. When you newly install Brave on your ARM64 device, then you get an even faster browser. Read on to learn more, or skip to the end to find out how to get the new version.

What is ARM64, and why is it important?

ARM64 is a newer type of CPU, developed for speed and efficiency. Every computer has a processor (or “CPU”) that acts a little like a brain. Processors can be made in different architectures that essentially govern at a low level how the CPU works. Typical architectures are the 32-bit x86 architecture and the more recent 64-bit x64 architecture.

You can only run programs on your computer that are compatible with your CPU architecture. For example, you cannot run a program made for x64 on an x86 processor.

Software companies get around this by offering multiple versions of their programs. So you can, for example, download an x86 version of Brave if you are on an x86 CPU, and an x64 version if your computer’s processor has the x64 architecture.

Nowadays, most Windows computers have an x64 CPU. But recently, another architecture has entered the mainstream through products such as Microsoft’s Surface laptops. This architecture is called ARM64 and it offers better power efficiency and performance.

ARM64 and Brave

Newer CPU architectures are usually able to run programs with an older architecture. For example, an x64 CPU can run an x86 program. Likewise, ARM64 CPUs can run x64 and x86 programs. But there is a significant performance overhead. In the example of Brave, you could run x64 Brave on an ARM64 computer. But it would be slower than it should be. We therefore spent considerable effort last year to offer an ARM64 version of Brave for Windows.

So what’s necessary to get an ARM64 version of Brave? To create Brave, we write code in programming languages such as C++. The programming language is readable as text by us humans. But CPUs operate in their own machine language. In order for the CPU to be able to run our code, it needs to be translated to machine code with a program called a compiler. We can tell the compiler the architecture of the CPU we want to target. So, mostly, we could take our existing C++ code and tell the compiler to produce machine code for the ARM64 architecture.

On-demand updates and universal installers

Given how complex Brave is, there were of course also parts where this process didn’t work quite so seamlessly. The first problem we encountered was the following: When you type brave://settings/help into Brave’s address bar, you get a page that shows Brave’s version. Crucially, this page also checks for a new version of Brave with a little spinning animation. This feature showed an error in x64 Brave on ARM64 Windows. After extensive research, we realized that this is caused by a fundamental limitation in the Windows operating system itself.

To work around the problem, we introduced a universal installer which ensures that our users do not accidentally install x64 Brave on ARM64 Windows. Instead, they always receive a copy of Brave with the correct architecture for their system. What does this look like? When you go to and download its installer, then you get a 1 MB .exe file. When you run it, it downloads the latest version of Brave for your CPU architecture from our servers. This ensures that you don’t get the error described above.

DRM protected content and Widevine

The second main technical hurdle was caused by an optional and downloadable component of the browser called Widevine. Web sites such as Netflix use this component to protect their content. If you do not have the Widevine component installed, then Netflix (and similar sites) may only serve you low-quality videos, if anything at all.

Widevine is proprietary technology and its licensing terms do not allow us to redistribute it. This means that we can’t just create an ARM64 version of Widevine and include it in Brave. But an ARM64 version of the component can be downloaded from public Google servers. So we do the following: The first time you visit a web site that requires Widevine, we ask you if you agree to downloading and installing the component:

Widevine permission prompt in Brave

If you agree, then Brave downloads and installs Widevine from Google’s public servers. While Brave already worked this way for other architectures, it required a lot of extra work for ARM64. If you are interested in the technical details, you can take a look at pull-request #18695 on the brave/brave-core repo.

This sounds great. How do I get ARM64 Brave?

You need Windows 11 and an ARM64 CPU. To check if your CPU is ARM64, follow the instructions in the How to check if processor is ARM64 or x64 (64-bit) on Windows 11 article on If you have an ARM64 CPU, but installed Brave before December of last year, then you need to first uninstall this old copy of Brave to get the newer ARM64 build. When the uninstaller prompts you for confirmation, be sure not to select the check box that says “Also delete your browsing data?”. Once you’ve uninstalled the x64 build of Brave from your ARM64 CPU, go to, click on the Download button and follow the instructions. When you then type brave://version in Brave’s address bar, you should see “arm64” mentioned on the page.


More and more new Windows computers have ARM64 CPUs. In order for Brave to be as fast as possible, it needs to be optimized for this architecture. We completed this technical work last year. There were some technical challenges on the way, but we were able to overcome them. You can now install ARM64 Brave on Windows 11 by visiting!

About the author

Michael Herrmann is the founder of Omaha Consulting, a software development agency that has been providing services to Brave since 2019. You can find more information about him on his personal website,

Related articles

Ready for a better Internet?

Brave’s easy-to-use browser blocks ads by default, making the Web cleaner, faster, and safer for people all over the world.