# SponsorBlock: crowdsourced sponsor skipping for YouTube, and what it takes to run it yourself

> SponsorBlock is a GPL-3.0 browser extension that skips sponsor segments using timestamps submitted by other viewers. This covers how the crowdsourced segment model works, how to install the extension on Chrome, Firefox, Edge, Safari or Android, and where the approach breaks down.

**ajayyy/SponsorBlock** — Skip YouTube video sponsors (browser extension)

- Repository: https://github.com/ajayyy/SponsorBlock
- Website: https://sponsor.ajay.app
- Stars: 13,875 · Forks: 478
- Language: TypeScript
- License: GPL-3.0
- Published: 2026-09-21 · Updated: 2026-09-21 · Language: en
- Canonical page: https://hysenlabs.com/projects/ajayyy-sponsorblock

## The problem SponsorBlock solves that an ad blocker does not

Ad blockers remove advertising that YouTube serves through its own ad systems. They do not touch the part of a video where the creator reads a sponsor message in their own voice. That segment is ordinary video content, so a blocklist has nothing to match against. SponsorBlock takes a different route: it stores time ranges inside the video and seeks past them during playback. The README describes it as an "open-source crowdsourced browser extension to skip sponsor segments in YouTube videos", where users submit when a sponsor happens and the extension skips segments it knows about. The same mechanism covers other categories the project lists, including intros, outros and reminders to subscribe. The audience is anyone who watches YouTube in a browser and finds mid-roll sponsor reads more annoying than the ads themselves. Because the segments are just timestamps, the extension also works on Invidious, and the README points to third-party ports for MPV, Kodi, Chromecast and iOS.

## How crowdsourced segments move from a viewer to your player

The architecture is a client-server split. The extension is TypeScript built with webpack, with React for its interface, and it runs as a WebExtension across Chromium and Firefox. The backend is a separate repository, SponsorBlockServer, and the README states the server now uses NewLeaf to get video info from YouTube, replacing the Invidious API it used previously. When you watch a video, the extension asks the API for known segments for that video ID and seeks past them locally. When you mark a sponsor yourself, that submission goes to the server and becomes available to other users. The README also notes the database is publicly downloadable at sponsor.ajay.app/database, with a separate licence page, and that the dataset and API are already used by third-party ports and by a neural network called NeuralBlock. That public database is the part worth understanding: the value of the extension is entirely a function of how many segments other people have submitted for the video you are watching. A popular video will have them. A video published an hour ago will not, and the extension has nothing to skip until someone submits.

## Installing SponsorBlock on Chrome, Firefox, Edge, Safari or Android

The README lists the supported install paths directly: the Chrome Web Store for Chrome and Chromium, addons.mozilla.org for Firefox, and wiki pages for Android, Edge, and Safari on macOS and iOS. For a desktop browser, install from the store link and the extension appears in your toolbar; there is no separate build step for normal use. If you are working from the repository instead, the build instructions live in CONTRIBUTING.md, and the package.json shows the toolchain: webpack, TypeScript 4.9, jest and web-ext. The scripts include web-run, which aliases web-run:chrome, and web-run:firefox, which runs web-ext against the built dist directory. A local build therefore looks like this:

```bash
npm install
npm run web-run:chrome
```

The first command installs the dependencies listed in package.json, including webpack, web-ext and chromedriver. The second loads the unpacked extension from dist into a browser session. The repository also carries config.json.example at the top level, which is the template for local configuration; copy it to config.json before a development run if the build expects it. In day-to-day use there is no configuration at all: install it, open a video with known segments, and the skip happens automatically.

## Coverage is the failure mode, not the code

The single real limitation is coverage. SponsorBlock does not detect sponsors; it replays timestamps that people submitted. A video with no submissions plays exactly as it would without the extension, and the README does not claim otherwise. This makes it a poor fit for anyone who needs deterministic results, such as someone archiving videos or building a product that depends on every sponsor being removed. It is also a poor fit for live streams, where there is no fixed timeline to mark in advance. There is a second, quieter constraint: the data is centralised. The README addresses longevity by making the database publicly downloadable, which is a deliberate hedge against the project disappearing, but the default experience still depends on the project's API being reachable. The README does not document what the extension does when that API is unreachable, so treat offline behaviour as unverified rather than assume it degrades gracefully. Finally, the extension modifies playback inside YouTube's player, which means it is exposed to every player change YouTube ships; the release history (6.1.5 in April 2026, 6.1.6 in June, 6.1.7 in July) suggests a steady cadence of fixes rather than a finished product.

## How SponsorBlock differs from uBlock Origin and other ad blockers

uBlock Origin and similar tools work at the network and DOM layer: they block requests and hide elements before they render. SponsorBlock works at the timeline layer, seeking the player past a range of seconds. The two are complementary, and the project's own development scripts make the distinction concrete: web-run:firefox and web-run:chrome both open a browser at the uBlock Origin store page as the start URL, which is a fair hint that the author expects them to be used together. The practical difference is what each can see. A blocker cannot remove a sponsor read spoken into the camera, because there is no request to block. SponsorBlock cannot remove a pre-roll ad served by YouTube, because there is no timestamp for it. If you want one tool and not two, pick based on which of those two annoyances matters more to you.

## Licence, maintenance and the cost of keeping up

The project is licensed under GNU GPL v3 or any later version, and the repository also carries LICENSE-APPSTORE.txt and LICENSE-HISTORY.txt at the top level, which indicates the licence terms have been adjusted for at least one distribution channel. If you fork the extension and ship it, GPL-3.0 obligations attach to the code; the segment database and the API have their own licence, linked from the README and documented on the wiki, and they are not automatically covered by the extension's licence. That distinction matters if you plan to build on the data rather than the client. On maintenance, the last push to the repository was on 2026-09-19, two days before this article, and the most recent release was 6.1.7 on 2026-07-13. The upgrade cost for a user is close to zero: browser extensions update themselves. The upgrade cost for anyone maintaining a port or a fork is real, because the extension tracks a player that changes without notice, and the release notes show point releases arriving every few weeks to keep pace.

## Conclusion

SponsorBlock suits people who watch YouTube in a browser and would rather skip a sponsor read than install a full ad blocker, and it is the only practical option for viewers on Android, Safari or an Invidious instance. It is the wrong tool if you need guaranteed coverage on every video or if you cannot accept that segment data comes from other users and is served by a central API. Before adopting it, verify two things on the project's own pages: the current install path for your browser in the README's download list, and the API and database licence at wiki.sponsor.ajay.app if you intend to consume segments outside the extension.

## FAQ

### What is SponsorBlock on YouTube?

It is a crowdsourced browser extension that skips sponsor segments inside YouTube videos. Users submit when a sponsor happens, and the extension automatically skips segments it knows about, including intros, outros and reminders to subscribe.

### Is SponsorBlock legal?

The repository does not make a legal claim. It ships under GNU GPL v3 or any later version, and the segment database and API carry a separate licence documented on the wiki. The README does not discuss legality of skipping segments.

### Is SponsorBlock better than ad blockers?

They solve different problems. An ad blocker removes advertising served through YouTube's ad systems, while SponsorBlock seeks past creator-read sponsor segments using submitted timestamps. The project's own run scripts open a browser at the uBlock Origin page, suggesting the two are meant to be used together.

### Is SponsorBlock safe to download?

The README points to the Chrome Web Store, addons.mozilla.org and wiki pages for Android, Edge and Safari as the official install paths. Anything outside those listed sources is not referenced by the project.

### How do I install SponsorBlock?

Install it from the Chrome Web Store or addons.mozilla.org link in the README, or follow the wiki page for Android, Edge or Safari. To run a local build, the repository's build instructions are in CONTRIBUTING.md and the npm scripts include web-run:chrome and web-run:firefox.

### What is a SponsorBlock segment?

A segment is a time range inside a video that someone submitted as a sponsor, intro, outro or subscription reminder. The extension fetches known segments for a video and seeks past them during playback.

## Sources

- [ajayyy/SponsorBlock on GitHub](https://github.com/ajayyy/SponsorBlock)
- [License: GPL-3.0](https://github.com/ajayyy/SponsorBlock/blob/master/LICENSE)
- [Project website](https://sponsor.ajay.app)
- [README](https://github.com/ajayyy/SponsorBlock/blob/master/README.md)
- [Releases](https://github.com/ajayyy/SponsorBlock/releases)

---

Hysen Labs editorial analysis, written from the project's own repository and release notes. Cite the canonical page: https://hysenlabs.com/projects/ajayyy-sponsorblock
