You set up Pi-hole, the ads vanished from news sites and apps, and YouTube still plays its pre-rolls, on the laptop and on the TV. You didn’t miss a setting. No DNS blocker can do it, and the people who build them say so themselves.
What a DNS blocker actually sees
Before a device connects to a server, it asks for the server’s address by name: “where is ads.example.com?” That question goes to a DNS server. A DNS blocker is a DNS server that answers “nowhere” when the name is on a list of ad and tracking domains, so the connection never happens. Pi-hole calls itself a “DNS sinkhole” for that reason.
That’s all it sees: a name. Not the page, not the video, not what travels inside the connection, which is encrypted anyway.
YouTube ads come from the video servers
YouTube serves its video ads from the same servers as the videos. There is no separate ad domain to refuse. A moderator of the Pi-hole forum put it in one line: “Pi-hole cannot reliably block YT ads, since the ads are served from the same domains as the content.” Another reply in the same thread spells out the choice: “Pi-hole can completely block the domain, or allow the domain. There is no third option.” The AdGuard Home FAQ says the same of any ad that shares a domain with the content.
Block the video servers and YouTube stops working. Allow them and the ads come through. Forum blocklists that promise otherwise don’t change this: at best they break some videos, at worst all of them.
AdHole’s DNS filter is no exception. It cuts ad and tracking domains for every device that uses it, and lets YouTube’s ads through, for exactly this reason.
Where the ads are really decided
The YouTube player doesn’t choose its ads. When you open a video, it asks YouTube’s servers what to play and gets back a structured answer (JSON) listing the video streams and, separately, the ads, in fields named adPlacements, playerAds or adSlots. The player does what that list says.
Remove those fields before the player reads them, and it concludes there are no ads. That is what blockers inside the browser do: uBlock Origin’s public filter list contains rules that rename or strip exactly those fields in YouTube’s responses.
The whole difficulty is standing in the right place: inside the app, or somewhere that can read the decrypted traffic. A DNS server is in neither. Hence a different answer for each device.
On a computer: the browser
On a computer, the browser is yours. This is the easy case, with two ways to do it.
- A blocker inside the browser. An extension such as uBlock Origin edits the player’s instructions from within the page. It has to be installed in each browser you use, and how well it works depends on the browser and the extension.
- A filter in front of every browser. This is what AdHole does on the computer where it’s installed. Alongside its DNS filter, it runs a local HTTPS filter: it rewrites the player’s request so that YouTube returns an ad-free response, and removes the ads from video lists, and passes the rest through untouched. On Windows it covers Chrome, Edge, Brave and Firefox (version 120 and later) directly. It relies on a certificate created on your computer, whose private key never leaves the machine.
YouTube fights back. It has shown people who use blockers a banner saying that ad blockers violate its Terms of Service, and in 2025 users reported deliberate delays before videos start. When YouTube can’t play an ad, it can make the player wait instead. AdHole also usually avoids that waiting screen, without being able to promise it every time.
Two things to know before you pick either route. YouTube’s help page states that blocking its ads violates its Terms of Service and that it may block playback for people who keep doing it; the only ad-free options it offers are its own plans, which you pay for. And no blocker stops every ad: some will get through, and a site may occasionally look broken.
On Windows, AdHole’s page and YouTube filtering applies to the Windows account it was installed from. Its DNS filter covers the whole computer.
Smart TVs: what exists, and what doesn’t
On a TV there is no extension to install and no way to put a filter in front of the YouTube app. What’s left:
- A DNS blocker still helps with the other ads. Pointed at a DNS blocker, a TV loses the ads that come from ad servers, part of the home-screen promotions and part of the tracking. The YouTube app keeps its ads.
- Replacement YouTube apps. Volunteers have rebuilt or patched YouTube apps that strip the ad list the same way: SmartTube for Android TV and Google TV devices, TizenTube for Samsung TVs running Tizen 3 or later (2017 models onwards), youtube-webos for LG TVs, through the Homebrew Channel or LG’s Developer Mode. They install outside the TV’s app store, some need the TV’s developer mode, and they are not YouTube’s apps: in 2024 YouTube said it was strengthening enforcement against third-party apps that block ads. SmartTube’s own page also warns that a few builds may have been affected after unknown malware infected its developer’s environment. If you go that way, read the project’s page first.
The Samsung and LG case, settings and DNS included, is covered in our smart TV article.
Consoles: no fix we know of
PlayStation and Xbox accept neither browser extensions nor replacement apps, and their YouTube app can’t be cleaned from the network, for the reasons above. We know of no way to remove YouTube ads there. A DNS blocker still cuts the other ad and tracking domains on a console, and that’s it.
What is starting to change all of this
Everything above rests on one fact: the ads arrive as a separate list that the player reads. Since 2024, YouTube has been trying server-side ad insertion, where the ad is stitched into the video stream itself (BleepingComputer reported it the same week). AdGuard described it at the time as “a limited test for now”; in August 2026 it wrote that YouTube now uses it “frequently”. On those videos there is no list left to remove: the ad is part of the stream. uBlock Origin skips it automatically once it starts, according to a member of its team; AdHole can’t skip an ad that has already started. If the technique becomes the norm, the methods described here, browser extensions, TV apps and AdHole alike, may stop being enough.
The short version
| Device | DNS blocker (Pi-hole, AdGuard Home…) | What can remove YouTube ads |
|---|---|---|
| Computer, in a browser | No | A blocker in the browser, or a local HTTPS filter such as AdHole |
| Android TV, Google TV | No | A replacement app such as SmartTube, installed outside the store |
| Samsung TV (Tizen 3 or later) | No | A patched app such as TizenTube, in developer mode |
| LG TV (webOS) | No | youtube-webos, through the Homebrew Channel or Developer Mode |
| PS5, Xbox | No | Nothing we know of |
A DNS blocker is still worth having: it cuts ad and tracking domains for every device that uses it. Just don’t expect it to touch YouTube. To set one up without a Raspberry Pi, here’s how to do it with the PC you already have. And if yours seems to block nothing at all, your router may be going around it.
Sources checked on 5 October 2026 and linked in the text.