Skip to content

Detecting Brave (for Websites)

Shivan edited this page Nov 10, 2025 · 8 revisions

In general, it is not a privacy goal for the Brave browser to hide from websites that the user is using Brave. There are important caveats to this, see below.

Via User Agent string

Brave uses the same User Agent request header as Chrome for Web compatibility reasons on desktop and Android. On iOS, as of version 1.78, Brave uses same User Agent as Safari except we also add Brave/1. In testing, we found that some websites broke on encountering an uncommon User Agent. We hide Brave/1 on iOS in cases where there is website breakage or Brave is blocked or discriminated against.

See https://github.com/brave/brave-browser/wiki/User-Agents.

Via Client Hints

We also expose Brave in the Sec-Ch-Ua header (except on iOS where client hints are not enabled). We disable sending Sec-Ch-Ua header in cases where there is website breakage or Brave is blocked or discriminated against.

Via JavaScript

If you want to detect Brave, please use the navigator.brave.isBrave() JavaScript API. We make this API unavailable in cases where there is website breakage or Brave is blocked or discriminated against.

For users

Please let us know (on GitHub) if you see websites discriminating against Brave users. You can add example.com##+js(brave-fix) to your custom filters to prevent example.com (for example) from reading this JavaScript property.

Clone this wiki locally