Brave browser for Desktop and Laptop computers running Windows, OSX, and Linux
Switch branches/tags
Clone or download
Failed to load latest commit information.
.github Update PR template to bold the sections Feb 8, 2018
.vscode make vscode config for standard respect package.json Nov 24, 2017
app Mitiate horizontal content swipe cancel problem by preventing unlimit… Sep 18, 2018
build/pkg-scripts Merge pull request #13756 from NejcZdovc/fix/#13754-regex Apr 6, 2018
decls Make flow pass on app/index.js Apr 13, 2016
docs Merge pull request #15003 from NejcZdovc/captcha2 Aug 19, 2018
fonts Introduce muli and poppins fonts. Dec 5, 2017
icons Merge pull request #14552 from brave/fix/14551-shield-logo-fill-color Jun 26, 2018
img Merge pull request #15046 from bsclifton/revert-eth-wallet Aug 16, 2018
js Merge pull request #15204 from brave/fix/15134 Sep 18, 2018
less Merge pull request #15046 from bsclifton/revert-eth-wallet Aug 16, 2018
res Update icons for browser-laptop Feb 26, 2018
test Merge pull request #15204 from brave/fix/15134 Sep 18, 2018
tools Latest scripts for Linux deploy from 0.25.x-legacy Sep 19, 2018
.babelrc Use transform-class-properties babel plugin Jan 4, 2018
.editorconfig .editorconfig: override trim_trailing_whitespace for *.properties as … Apr 29, 2016
.flowconfig Make flow pass on app/index.js Apr 13, 2016
.gitignore Merge pull request #15046 from bsclifton/revert-eth-wallet Aug 16, 2018
.npmrc Update to Muon 8.1.6 Sep 18, 2018
.nsprc Remove NSP bypass and fix NSP error Jun 27, 2018
.travis.yml Merge pull request #13781 from RyanJarv/fix/cibuild-draft-upload Jun 14, 2018 release notes for 0.24.0 with C69 Sep 19, 2018
COMMIT_TEMPLATE Add commit template Aug 29, 2016 Update Nov 2, 2017
LICENSE.txt Add license notes for incorporated projects Jun 29, 2017 Merge pull request #15171 from bsclifton/update-readme-brave-core Sep 18, 2018 Tweak changelog for 0.12.0 Sep 4, 2016
codecov.yml CodeCov support Jul 20, 2017
package-lock.json 0.23.207 Sep 18, 2018
package.json Bump to 0.24.0 Sep 18, 2018
webpack.config.js Merge pull request #13783 from brave/single-webview May 11, 2018

Lint Unit Tests JavaScript Style Guide Open Source Helpers

Brave Browser

Please note: this repository is for the older Muon (our fork of Electron) version of Brave.
The newer version of the browser (brave-core) can be found here.
Development is being wound down on this version as issues are migrated to the new code-base

Desktop browser for macOS, Windows, and Linux.

Follow @brave on Twitter for important news and announcements.

For other versions of our browser, please see:


To download the latest release, see our releases page.

You can also visit our website to get the latest stable release (along with a more user-friendly download page).

The Muon version of Brave only has two active release channels: Release and Beta. Developer channel is now using the brave-core code-base.


Join the Q&A community if you'd like to get more involved with Brave. You can ask for help, discuss features you'd like to see, and a lot more. We'd love to have your help so that we can continue improving Brave.

Useful documentation

Running from source

If you're setting up using Windows, please see the Building on Windows wiki entry for a full walkthrough.

For other platforms (macOS, Linux) You'll need certain packages installed before you can build and run Brave locally.


  1. the current LTS version of nodejs

    Install from your package manager, nvm, or download from

  2. npm version 5 or greater (to make use of the package-lock.json)

On Debian / Ubuntu /Mint

apt-get install build-essential rpm ninja-build

On Fedora

dnf install rpm-build
dnf group install "Development Tools" "C Development Tools and Libraries"


After installing the prerequisites:

  1. Clone the git repository from GitHub:

     # For beta testers:
     git clone --depth 1
     # For devs over HTTPS:
     git clone
     # For devs over SSH:
     git clone
  2. Open the working directory:

     cd browser-laptop
  3. Install the Node dependencies:

     npm install

Instead of npm install you may also install with yarn running yarn install.


Additional notes on troubleshooting installation issues are in the Troubleshooting page in the Wiki.

Preconfigured VMs

Some platforms are available as pre-configured VMs. See the readme for details.

Running Brave

To run a development version of the browser requires a few steps. The easiest way is just to use two terminals. One terminal can be used just to watch for changes to the code

npm run watch

Now actually run Brave in another terminal

npm start

Some errors related to brave/electron update can be fixed by doing a clean install:

rm -rf node_modules/
npm install

If this does not work, please clear out your ~/.electron first and try again.

Running webdriver tests

To run the webdriver tests

npm run watch-test  or  npm run watch-all

Now run tests in another terminal

npm test

See docs/ for more information.


Brave uses port 8080 to communicate between its client and server sides by default. If you are using port 8080 for something else (e.g. a web proxy) then you can set the node config to make it use a different one.

e.g. npm config set brave:port 9001

Additional notes on troubleshooting development issues are in the Troubleshooting page in the Wiki.

Running inside of a development version of Muon

By default, we provide pre-built binaries when you npm install with our own fork of electron-prebuilt.

If you want to modify the code to Muon (Brave's Electron fork), then you'll need to build it. An example of why you might do that would be exposing a new event to the webview (from Muon).

To start this process, you'll want to check out our browser-laptop-bootstrap repo. From there, you can follow the steps in our wiki to get up and running.

Packaging for bundles, installers, and updates

Please see our wiki entry for more information about packaging.