Free · No account · No configuration

Ads, trackers, and popups.
Intercepted before they load.

Jas Adblock strips ad and tracker requests out of every page, stops popup and popunder windows the instant a script tries to open them, and removes YouTube's video ads at the source — not just skips past them.

Free. Live on the Chrome Web Store.

What it stops

Five things running quietly, all the time.

Nothing to turn on. Each of these is active from the moment you install it.

Blocked

Ad & tracker requests

A curated network-level blocklist stops known ad and tracker domains on every site — not just the ones a page owner discloses.

Blocked

Popup & popunder windows

Any window.open() call not tied to a real click or key press is refused — the same rule real browsers use, so a genuine sign-in popup still opens fine.

Blocked

YouTube video ads

Ad placements are removed from YouTube's own player data before the page ever schedules them — most ads never load, rather than loading and getting skipped.

Blocked

Anti-adblock nag dialogs

The "are you using an ad blocker?" interruptions are detected by their wording and dismissed automatically, along with the playback pause that comes with them.

Your call

Per-site allow list

One tap in the toolbar turns blocking off for whichever site you're on, no settings menu required — and back on again just as easily.

How it actually works

The actual mechanism, not the marketing version.

There's nothing to hide here — the source is open, downloadable from this page, and every technique below is one you could read yourself in about ten minutes. Here's exactly what runs.

01

Network-level filtering

A bundled list of 213 known ad and tracker domain rules is handed to Chrome's own declarativeNetRequest engine, which matches and blocks requests before they leave the browser. The extension supplies the list; Chrome does the actual matching, so it never sees or logs the URLs involved.

02

A gesture check for popups

window.open() is wrapped so it only forwards the call if it's fired shortly after a pointerdown, mousedown, click, keydown, or touchstart event with isTrusted set — a flag the browser itself sets on real input and that no page script can forge. A popup ad calling window.open() from a timer or immediately on page load has no trusted event to point to, so the call returns null instead. A real "open in new tab" triggered by an actual click still goes through untouched.

03

Rewriting YouTube's own ad data

YouTube's player loads its ad schedule from a handful of JSON keys — adPlacements, playerAds, adSlots, adBreakHeartbeatParams — inside both the page's initial ytInitialPlayerResponse object and its internal /youtubei/v1/player and /get_watch API responses. Instead of parsing that JSON, editing it, and re-serializing it (which sounds safer but is slow enough on YouTube's multi-megabyte responses to visibly freeze the tab — confirmed the hard way, twice), the extension does a single plain-text find-and-rename on the raw response body: those four keys become harmless names before the player ever reads them. No ad keys, no ad schedule, nothing scheduled. It's the same rename-not-parse technique behind uBlock Origin's own public YouTube filters — not a secret technique, just a fast and safe one.

For the one case that data rewrite can't reach — ads stitched directly into the video stream itself on some livestreams, where there's no separate ad data to remove — a fallback watches the player's own ad-state signal, mutes the video, fast-forwards it (up to 64x, however fast Chrome allows), covers it with a black overlay so the ad frame is never actually visible, and clicks Skip the moment a skip button exists.

The toolbar popup

Three switches. That's the whole interface.

Jas Adblock toolbar popup showing the blocking, per-site, and popup-blocker toggles, and a count of popups blocked on the current tab.

Permissions

Every permission, in plain English.

This is the exact justification submitted with the Chrome Web Store listing — nothing paraphrased for this page.

PermissionWhy it's requested
declarativeNetRequestLets Chrome block ad/tracker requests using the bundled rule list, without the extension reading or logging what you request.
host_permissions
<all_urls>
Ad and tracker domains appear on virtually any site, so the blocklist and the popup blocker both need to be able to run anywhere — scoped strictly to ad/tracker patterns and ungestured popup calls.
storageSaves your on/off preferences and allow list locally (and via your own Chrome sync) so they persist between sessions.
tabsReads the active tab's hostname only, so the toolbar popup can show the right "allow this site" toggle.

Privacy

Nothing is collected, because nothing is sent anywhere.

  • No analytics, telemetry, or crash reporting of any kind.
  • No network requests originate from the extension itself — only from pages you already chose to visit.
  • No browsing history, page content, or personal information is read or stored remotely.
  • Nothing is sold or shared with third parties, because nothing is collected.
Settings (on/off, allow list, popup blocker, YouTube options) are saved with Chrome's own chrome.storage.sync — the same mechanism your bookmarks use. It stays inside your own Google account's Chrome sync and is never routed through a server we operate, because this extension doesn't operate one.

Install

Getting it running.

Live on the Chrome Web Store

One click, no configuration needed afterward — it's on by default the moment it's installed.

Add to Chrome →

Contact

Questions, bugs, feedback — send them over.

Sends straight to adblock@jasperissac.com — no email app required on your end.