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.

  • 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

  • Safari 6.1 or later
  • OS X 10.7.5 or later

Once downloaded, open the file to install it.

About Safari's New Content Blocker API

Safari has a new 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.


Unlike NoScript, this tool only blocks scripts when they are loaded from an external file or a data URI. What this means is that any scripts that are within the page itself can still run. Usually this is enough to remain safe on the web and block trackers, advertisers, etc. Unfortunately this is a limitation of the Safari extension design, not mine. Scripts on the page can be prevented from executing by enabling the appropriate feature from the Other settings page tab.