SandVPNFree VPN — Google PlayOpen
SandBlockFree

Ads and trackers, blocked before they are ever requested

SandBlock is a Firefox extension that cancels ad and tracker requests before they leave your browser. Nothing is downloaded, so pages arrive lighter — and quieter. No account, no telemetry, nothing collected.

No accountNo data collectedFirefox 91+, desktop and Android
Version
v1.0.0
Requires
Firefox 91+
Data collected
0
The SandBlock popup: protection enabled, 34 requests blocked on the page, 18,402 blocked in total
156,760
filters compiled from public lists
0.17 ms
of filtering, per request
8
reference lists, refreshed every 24 hours

Compiled once at startup, in 573 ms. After that, deciding on a request costs a fraction of a millisecond.

What it blocks

Four kinds of thing, four mechanisms

Blocking is not one trick. A network filter cannot touch a YouTube ad, and hiding an element does not stop it downloading — so each kind gets the mechanism that actually works on it.

Ad and tracker requests

Cancelled at the network layer, before they are sent. The request never leaves the browser, so nothing is downloaded and nothing is recorded at the other end.

The gaps ads leave behind

A blocked ad still leaves a hole in the layout. Cosmetic rules hide the placeholder, so the page reads as though the slot was never there.

YouTube video ads

Video ads arrive through the same pipe as the video, so network blocking is powerless. Scriptlets run before the page's own code and strip the ad metadata out of the player's response.

Tracking parameters in links

fbclid, gclid, utm_* and about 120 others are stripped from URLs as they are requested, so the link you click is not also a beacon.

Why it is fast

The naive way to filter is to test every request against every rule. With 156,760 of them that is hopeless, so each filter is indexed under its most distinctive token — the rarest string in the pattern. When a request arrives, only the buckets for tokens actually present in that URL are visited, which is a handful out of the whole set.

Around that sit the details that keep it out of the way: no regular expression is compiled unless a pattern genuinely needs one, substring and anchor checks run without one, and the matching registers are reused rather than allocated per request. Measured in Firefox, filtering costs 0.17 ms per request — below the noise of a single network round trip.

Built not to break sites

The worst failure a blocker can have is the invisible one. A cosmetic rule with too wide a scope hides parts of pages it was never meant to touch, and because it is applied as a user style the page cannot undo it. So every rule is checked before it is used: any selector able to reach the document root, or to match arbitrary elements, is rejected outright rather than applied and hoped for.

Generic rules are also served on demand instead of wholesale. The page reports which classes and ids it actually contains, and only the matching selectors are injected. On a normal page that takes the injected CSS from around 254 KB down to under 17 KB — the difference between a style recalculation you can feel and one you cannot.

Always current

Eight reference lists, refreshed automatically every 24 hours. You can add your own filters and your own trusted sites, and switch any list off if it causes trouble.

  • EasyList83,735 rules
  • EasyPrivacy54,118 rules
  • uBlock filters — Ads8,902 rules
  • Peter Lowe's list3,412 rules
  • uBlock filters — Quick fixes479 rules
  • SandBlock — fixes71 rules

Filter lists are data, not code: no line from a list is ever executed. Turn any of them off, or add your own, in the settings.

The SandBlock settings panel, listing the active filter lists with their rule counts and last update

SandBlock — frequently asked questions

Is it really free?

Yes, and there is nothing to sign up for. SandBlock has no account, no paid tier and no upsell inside it. It exists because we already build a privacy extension, and a blocker is the other half of the same job.

Why Firefox and not Chrome?

Because Firefox still supports blocking webRequest, which lets an extension cancel a request before it is sent. Chrome replaced it with declarativeNetRequest — a declarative model with a rule cap and no dynamic decisions, which is the change that reduced what every blocker can do there. Shipping a weaker version was not worth doing.

Will it break the sites I use?

That is the failure mode the engine is designed against, and the section above says how. If a page does look wrong, pause protection for that site with one click in the popup — the toggle is per-site and it sticks. Then tell us which page, and we fix the rule rather than ask you to live with it.

Does it slow the browser down?

Filtering costs 0.17 ms per request, and the lists are compiled once at startup in 573 ms. In practice pages get faster rather than slower: the requests that never happen are the expensive part of a page load.

What data does it collect?

None. No account, no analytics, no telemetry. The only requests SandBlock makes are for the public filter lists, from their official URLs, and those carry no identifier and nothing about the pages you visit. Settings and counters live in the browser's local storage and go when you uninstall it.

A quieter web, in one click.

Free, no account, nothing collected. Firefox 91 and up, on desktop and Android.

Add to Firefox — free