uBlock Origin was working fine on Twitch for months and then ads just came back — purple screen, pre-rolls, everything. Tried updating my filter lists, still getting them. Spent some time figuring out what’s actually going on and what fixes it right now.
The short version: Twitch injects ads in two ways. Some go through at the page level and standard filter lists catch those. Others are injected at the stream level — the ad becomes part of the video data itself, not a separate request. That’s why you sometimes get a purple screen instead of a video ad. The blocker catches it but can’t cleanly restore the stream. Stream-level injection is what makes Twitch harder than most sites to block.
Step 1: Update Your Filter Lists First
Sometimes this is all you need. In uBlock Origin:
- Click the extension icon > Dashboard
- Go to the Filter lists tab
- Click Update now
Twitch-specific fixes often get pushed to filter lists within a day or two of Twitch changing something.
Step 2: Add a Twitch-Specific Filter List
Default lists are general-purpose and may not keep pace with Twitch. Community-maintained Twitch-specific lists update faster.
- Go to Filter lists tab in uBlock settings
- Scroll to the bottom > Custom section
- Paste the raw URL of a current Twitch ad filter list
- Click Apply changes
Search for a current Twitch uBlock filter list on a tech forum or the uBlock Origin GitHub issues page to find an up-to-date URL.
Step 3: Try a Twitch-Specific Extension
Some developers maintain dedicated extensions built specifically for Twitch ad blocking that handle stream-level injection differently. The landscape changes fast — check recent reviews and update activity before installing anything.
Step 4: Different Browser or Profile
Twitch sometimes rolls changes out gradually by browser. If ads are getting through on Chrome, try Firefox. A clean browser profile with no other extensions can also help isolate whether something else is interfering.
Step 5: Alternative Twitch Frontend
If nothing works reliably, several open-source frontends pull stream data from Twitch but strip the ad layer. Works because Twitch’s ad injection happens at the website layer, not at the raw stream.
Step 6: DNS-Level Blocking
Combining uBlock with DNS-level blocking adds a second layer that catches requests the extension misses. Pi-hole is the most common self-hosted option. DNS over HTTPS with a filtering resolver is easier if you don’t want the hardware.
Realistically
Twitch has a team dedicated to making ads work and they’ll keep updating. Whatever works today might break in a few weeks. The most sustainable approach is to stay subscribed to a Twitch-specific filter list and spend five minutes updating it when ads come back.