An open source, indie developed, Safari extension that protects your privacy on the web.

Stay safe and browse the web faster without being tracked. Use user scripts to make websites work how you want them to. Learn more about how webpages collect data on you for tracking purposes over at, a guide by DuckDuckGo.

Download JS Blocker


  • Quickly and easily block advertisers, tracking agencies, and social media networks from monitoring your online activity.
  • Block pop-ups.
  • Prevent all scripts on the webpage from being allowed to run.
  • Prevent links from sending referrer information.
  • Block frames, XHRs, embeds, objects, videos, and hide images.
  • Block many annoyances such as alert dialogs popping up, forms not autocompleting, windows being resized, and more.
  • Full support for Greasemonkey-style user scripts so you can make webpages work exactly how you want them to.
  • Canvas fingerprinting protection.
  • Read more

Download JS Blocker


JS Blocker downloaded from outside the Safari Extension Gallery will cease to function in Safari 12 and macOS Mojave (10.14). Developer-signed Safari extensions are not supported in Safari 12. Safari extensions distributed in the Safari Extension Gallery are deprecated, and Safari 12 is the last release to support them.

Safari App Extension

I have no experience creating native mac apps; it will therefore be impossible for me to re-create JSB as one. Even so, Safari app extensions do not support the features required for JSB to function the way it does now (i.e. lots of functionality will be lost).


Users who downloaded JS Blocker from the Safari Extension Gallery will not be able to update beyond 5.2.2. Apple is no longer accepting submissions to the gallery.


  • Safari 6.1 to 11.1 (12 if installed from the Safari Extension Gallery)
  • OS X 10.7.5 to macOS 10.13.6

Once downloaded, open the file to install it

About Safari's Content Blocker API

Safari has a feature called "Content Blockers" that allows for extremely efficient resource blocking on both the desktop and iOS version of Safari. As much as I'd like to incorporate this into JS Blocker, it is not feasible to do so. Using a content blocker will prevent JS Blocker from showing you exactly what's going on on a website (i.e. you won't see what's allowed or blocked.) It'll also break all of JS Blocker's "other" features, such as showing alerts within the webpage and canvas fingerprinting protection. Besides the loss of features, content blockers are limited to 50,000 rules. While this seems like a high number, it isn't enough for efficient protection and a lot of rules would need to be cut out to even run a content blocker. Until Apple eases the restrictions (or at least raises the number of rules that can be in a content blocker), JS Blocker will not be using this API.