How to Enable JavaScript on Brave

Brave is a privacy-first browser built on Chromium that ships with JavaScript enabled by default. It also ships with Brave Shields turned on, which can selectively block scripts on a per-site basis depending on your global Shields settings. If a site is blank in Brave but works in Chrome, the cause is usually one of two switches: the global JavaScript permission, or Shields blocking scripts for that specific site.

This guide covers every place Brave can disable JavaScript: the global Site and Shields setting, the per-site Shields panel, the brave://settings/content/javascript shortcut, and the mobile flow on Android and iOS. All steps reflect Brave's current interface as of 2026.

How JavaScript works in Brave (read this first)

Brave has two layers of JavaScript control, and both must allow scripts for a page to run JS:

  1. Site and Shields settings → JavaScript - the global Chromium-style permission. By default: "Sites can use JavaScript".
  2. Brave Shields per-site panel - the lion icon in the address bar. Shields can block scripts on individual sites even when the global permission is on. By default: Shields up but JS allowed unless aggressive blocking is enabled.

If a page is broken in Brave, check both. The fastest verification: click the lion (Shields) icon in the address bar - if "Block scripts" or "Aggressive" is selected, that is your culprit. The walkthroughs below cover both layers.

Enable JavaScript globally in Brave on Windows 11

Step 1: Open Brave

Launch Brave from the Start menu, taskbar, or by pressing the Windows key and typing Brave. Any tab can be open while you change the setting.

Step 2: Open the Brave menu

Click the three-line (hamburger) menu in the top-right of the Brave window. On Windows you can also press Alt + E to open the same menu from the keyboard.

Step 3: Open Settings

Choose Settings from the menu. Brave opens a new tab at brave://settings.

Step 4: Site and Shields settings

In the left-hand sidebar click Privacy and security, then Site and Shields settings. Scroll down to the Content section.

Step 5: Open the JavaScript permission

Click JavaScript. Brave opens the JavaScript permission detail page with the global default and the allow/block lists.

Step 6: Set "Sites can use JavaScript"

Under Default behavior, select Sites can use JavaScript. The change is instant. Reload any open tab to see it take effect.

Enable JavaScript globally in Brave on macOS Sequoia

Step 1: Open Brave

Launch Brave from Launchpad, Spotlight, or the Dock. You can press Cmd + , at any point to jump straight to Settings.

Step 2: Open Settings

Press Cmd + , or click Brave → Settings in the macOS menu bar.

Step 3: Site and Shields settings

Click Privacy and security in the left sidebar, then Site and Shields settings.

Step 4: Open the JavaScript permission

Scroll to the Content section and click JavaScript.

Step 5: Set the default to "Sites can use JavaScript"

Under Default behavior, select Sites can use JavaScript. No save button needed - the change applies immediately.

The fast path: brave://settings/content/javascript

If you flip the toggle often, skip the menu entirely. Type or paste this into the Brave address bar:

brave://settings/content/javascript

Press Enter and Brave takes you straight to the JavaScript permission page. Same toggle, same allow-list, no clicking through Privacy menus. Bookmark it if you change the setting often.

Brave accepts a few related shortcuts too:

  • brave://settings/shields - the global Shields configuration page.
  • brave://settings/content - the full Site settings page (all permissions).

Check Brave Shields per-site (the second layer)

Even with the global permission set to allow, Brave Shields can block scripts on individual sites. To check and adjust Shields for the current page:

  1. Click the lion icon in the address bar of the affected page.
  2. Look for Block scripts. If the toggle is on, JavaScript is blocked specifically for this site.
  3. Switch Block scripts off. The page reloads automatically with scripts allowed.

If you have set the global Shields default to Aggressive, scripts are blocked more broadly. Open brave://settings/shields and switch Trackers and ads blocking to Standard if you need scripts to run on more sites by default.

Enable JavaScript on Brave for Android

Step 1: Open Brave on your phone

Tap the Brave Lion icon to launch the app.

Step 2: Open the menu

Tap the three-dot menu (top-right or bottom-right depending on your toolbar position).

Step 3: Tap Settings

Scroll down and tap Settings.

Step 4: Open Site settings

Tap Site settings, then tap JavaScript.

Step 5: Switch JavaScript on

Toggle JavaScript to the on position. Reload any open tab to apply.

Enable JavaScript on Brave for iPhone and iPad

On iOS and iPadOS, Apple requires every browser to use the system WebKit engine. That means there is no JavaScript toggle inside the Brave iOS app. The setting that controls JavaScript for Brave on iOS lives in the system Settings app, and it applies to every browser on the device at the same time.

Step 1: Open the iOS Settings app

Tap the gray gear icon on your home screen or App Library.

Step 2: Tap Apps

Scroll down and tap Apps. iOS 26 groups every per-app system setting under this single entry.

Step 3: Tap Safari

Inside Apps, tap Safari. This controls the WebKit engine that Brave iOS uses behind the scenes.

Step 4: Open Advanced

Scroll to the bottom of Safari's settings and tap Advanced.

Step 5: Enable JavaScript

Toggle JavaScript on (green). The change applies immediately to Brave, Safari, Chrome, and every other browser on the device.

How to verify JavaScript is now on in Brave

The clearest test:

  1. Open a new tab and visit any JavaScript-detection page (this site has one).
  2. If the page reports JavaScript is enabled, you are done.
  3. If it still reports disabled, check Brave Shields on that specific site (lion icon → Block scripts is off).

You can also confirm via DevTools:

  1. Press Cmd + Option + I (Mac) or Ctrl + Shift + I (Windows, Linux) to open DevTools.
  2. Click the Console tab.
  3. Type 1+1 and press Enter. If the console returns 2, JavaScript is running.

If a specific site is still broken

If the global setting is on but one site is broken in Brave, the cause is almost always Shields. Three quick fixes:

  1. Click the lion icon on the broken page and disable Block scripts.
  2. Lower Shields strength for that site - in the lion panel, switch Trackers and ads from Aggressive to Standard.
  3. Disable Shields entirely for that site (toggle off the big shield) if you trust it. The site appears in your Shields exceptions list.

How to disable JavaScript on Brave

If you need the opposite, see our guide: How to Disable JavaScript on Brave. It covers global block, per-site allow-list, and the privacy and performance reasons people choose to turn it off.

Instructions for Web Developers

You may want to consider linking to this site, to educate any script-disabled users on how to enable JavaScript in six most commonly used browsers. You are free to use the code below and modify it according to your needs.

<noscript>
For full functionality of this site it is necessary to enable JavaScript.
Here are the <a href="https://www.enablejavascript.io/">
instructions how to enable JavaScript in your web browser</a>.
</noscript>

On enablejavascript.io we optimize the script-disabled user experience as much as we can:

  • The instructions for your browser are put at the top of the page
  • All the images are inlined, full-size, for easy perusing

We want your visitors to have JavaScript enabled just as much as you do!

F.A.Q

Why is a page broken in Brave but works in Chrome?

Brave Shields. Brave ships with the lion-icon Shields blocker on by default, and on a small number of sites it can mistake a real script for a tracker and block it. Click the lion icon in the address bar of the broken page, switch Block scripts off, and reload. If that fixes it, you can leave Shields on for everything else and just keep this site as an exception. The global JavaScript permission at brave://settings/content/javascript is the second place to check - it should be set to Sites can use JavaScript.

Does Brave on iPhone use the same JavaScript setting as Safari?

Yes. Apple requires every iOS browser to use the system WebKit engine, so the JavaScript switch in iOS Settings -> Apps -> Safari -> Advanced controls Brave, Chrome, Edge, Firefox, and Safari at the same time. If JavaScript is off for one iOS browser, it is off for all of them. There is no Brave-specific JavaScript toggle inside the iOS app.

What is the difference between Shields blocking scripts and the JavaScript permission?

The JavaScript permission at brave://settings/content/javascript is the global Chromium-style on/off switch. Brave Shields is a separate, per-site blocker that can also stop scripts even when the global permission is on - typically because it has identified a script as a known tracker. The result: a site can be blank in Brave even when JavaScript is technically allowed, because Shields decided to block the specific JS files it loads. The lion icon in the address bar is the per-site Shields control.