Every device on your home or office network makes hundreds of DNS lookups a day without you noticing. DNS (Domain Name System) is the internet's address book: when your laptop tries to load an ad from ads.doubleclick.net, it asks a DNS server to translate that domain name into a numeric IP address (a number like 142.250.80.46 that identifies a specific server on the internet). AdGuard Home sits in front of that lookup and returns a dead-end response for any domain on its block lists. The ad request goes nowhere. No browser extension, no per-device setup, no exceptions for apps that bypass your browser. The project lives at github.com/AdguardTeam/AdGuardHome and has 35,880 stars.
| Fact | Value |
|---|---|
| What it is | Network-wide DNS ad and tracker blocker |
| Built by | AdGuard Software Ltd. (open-source) |
| License | GPL-3.0 -- free to use |
| Platforms | Linux, macOS, Windows, Raspberry Pi, Docker |
| Requires | Any device that can run continuously on your network |
| Install method | Single binary download or Docker |
| Verdict | Install if you want Pi-hole-style blocking with a more approachable setup and built-in parental controls |
What AdGuard Home actually is
AdGuard Home is a DNS server you run yourself, on a device that stays on your network at all times. Once it is set up, you point your router's DNS settings at it, and every other device on your network uses it automatically. Your phone, smart TV, work laptop, and every other connected device gets ad blocking without installing anything on those devices.
The blocking mechanism is a filter list: a file containing thousands of known advertising and tracking domain names. When a device asks "what is the IP address for ad-tracking-service.com?" AdGuard Home checks the request against its list. If the domain is on the list, it returns a "blocked" response instead of a real address, and the request dies there. The filter lists update automatically, so new advertising domains that appear this week get added without you doing anything.
What separates AdGuard Home from a browser extension like uBlock Origin is scope. uBlock Origin only blocks requests that go through your browser. AdGuard Home blocks them at the network level. This covers apps on your phone (which often serve ads through their own ad SDK, a software component embedded in the app that contacts advertising servers directly), smart TVs, streaming devices, and any other networked gadget.
The project also adds DNS-over-HTTPS (DoH) support built in. DoH is a protocol that wraps your DNS queries inside normal encrypted web traffic. Without it, your internet service provider can see every domain name your devices look up, even if the page itself is encrypted. With DoH, that lookup is hidden from your ISP. This is not the default for most routers, and most DNS blockers require extra configuration to enable it. AdGuard Home supports it out of the box.
What you get after installing it
The web dashboard is where you spend most of your time after the initial setup. The main screen shows a live count of DNS queries, the percentage that were blocked, and a graph of activity over the last 24 hours. The numbers update in real time.
Below the overview, the dashboard breaks down the top blocked domains (usually advertising and analytics networks like Google's doubleclick.net, Facebook's pixel tracker, and various adtech intermediaries), the top queried domains across your whole network, and per-client statistics. That last part is useful: you can see which device on your network generates the most queries and which specific domains it is contacting. A smart TV that phones home every few minutes shows up immediately.
Parental controls are a native feature, not a plugin. You can block entire content categories (gambling sites, adult content, social media platforms) and apply different rules to different devices. A child's tablet can block social media and adult content while the parents' phones have no restrictions. The work laptop can bypass all blocking for testing purposes. Each device (called a "client" in AdGuard's terminology) can have its own rule set. You identify devices either by their IP address or by their hostname (the name a device broadcasts on the local network, like "alexas-iphone").
The filter list management is straightforward. AdGuard Home ships with AdGuard's own curated list pre-loaded. You can add community-maintained lists like EasyList (a large community-maintained list of advertising domains), Steven Black's hosts file (a widely used consolidated list combining many block sources), and others with one click. The interface shows which list each blocked request matched, so you can trace why a specific domain is being blocked.
Custom rules let you add your own exceptions in either direction: unblock a domain that a filter list incorrectly flagged, or add a specific domain not covered by any list.
The install experience
AdGuard Home ships as a single binary (a self-contained executable file with no external dependencies to install). No package manager, no database to configure separately. You download the binary for your platform (Linux AMD64, the standard 64-bit architecture for most desktop and server hardware; ARM for Raspberry Pi and similar low-power boards; macOS; or Windows), run it, and a setup wizard opens in your browser.
The wizard walks through five steps: choose the network interfaces AdGuard should listen on, set the admin username and password, and optionally configure DNS-over-HTTPS. The whole process takes under ten minutes.
After setup, you change one setting on your router: the DNS server address in your router's DHCP settings (DHCP is the protocol that automatically assigns IP addresses to devices joining your network; it also tells devices which DNS server to use). Change that address to the IP of the machine running AdGuard Home, and every device on your network starts using it without any per-device changes.
Docker is the alternative install path for people already running Docker on a home server. A standard docker-compose configuration is in the official documentation at adguard.com/en/adguard-home/overview.html. The container approach means AdGuard Home gets its own isolated environment and can be updated without touching the rest of your system.
The main friction point is the router configuration step. The exact location of the DNS setting varies by router manufacturer: it might be under "LAN Setup," "DHCP Server," or "Advanced DNS." Most consumer routers expose it somewhere, but finding it requires navigating your specific router's admin interface. Budget five to ten minutes for that step. If your router does not allow changing the DNS server (some ISP-provided modems lock this setting), you can configure each device individually or look at router firmware alternatives like OpenWrt (an open-source Linux-based firmware that replaces your router's default software and unlocks advanced settings most consumer routers hide).
One important note: the device running AdGuard Home needs to have a stable IP address on your network. If its address changes, your DNS configuration breaks. You can assign it a static IP (a fixed address that never changes, as opposed to a dynamic one your router reassigns periodically) in your router's settings or in the operating system settings on the device itself. This is a one-time configuration step and is covered in AdGuard Home's documentation.
Where it fits and what to compare it to
Pi-hole is the natural comparison and the project that created this category. Pi-hole also works as a network-wide DNS blocker, has been around since 2014, and has a large community. The functional overlap is substantial. The practical differences are in setup complexity and built-in features.
Pi-hole requires a separate database (FTL, its query logging engine) and more dependencies than a single binary. Its interface is functional but less polished. DNS-over-HTTPS on Pi-hole requires installing a separate proxy tool called cloudflared (a command-line daemon that tunnels DNS traffic over HTTPS) and configuring it manually. Parental controls require a third-party add-on. AdGuard Home has all of these built in. For someone setting this up for the first time with limited Linux experience, AdGuard Home is the more approachable starting point. For someone who has run Pi-hole for years and is happy with it, there is no compelling reason to switch.
NextDNS is the cloud version of the same idea. You configure your router to use NextDNS's servers instead of running your own. The advantage is zero maintenance: no device to keep online, no binary to update. The tradeoff is that all your DNS queries go through NextDNS's servers (a US-based company), which is a privacy consideration. NextDNS offers a free tier capped at 300,000 queries per month (a busy household can exceed this), and paid plans start at $1.99 per month. AdGuard Home is free to run with no query limits, but you are responsible for keeping the host device running.
uBlock Origin, the browser extension, is not really a comparable tool. It only blocks within the browser. It does not cover mobile apps, smart TVs, or anything that does not go through a browser. It is complementary to AdGuard Home rather than competitive: many people run both.
The decision is simple if you have a Raspberry Pi or any small device you can dedicate to this. AdGuard Home on a Raspberry Pi 3 or newer is the standard home deployment. The device costs $35 to $55, draws about 2.5 watts of power, and runs quietly. If you do not want to maintain hardware and are comfortable with a small monthly cost, NextDNS is the zero-maintenance alternative.
Verdict
Install AdGuard Home if you want network-wide ad and tracker blocking without configuring every device individually, and especially if built-in parental controls or DNS-over-HTTPS support matter to you. The single-binary install and polished dashboard make the setup more forgiving than Pi-hole for first-time self-hosters. The GPL-3.0 license means it is free to run with no seat fees or query limits.
Hold off if you are not comfortable keeping a small device running continuously on your network. This is not a set-and-forget cloud service. The host device needs to stay online, because if it goes offline every device on your network loses DNS resolution and cannot reach the internet until the issue is fixed. For households with one technically inclined person and no one else to restart things if something breaks, plan for that responsibility before committing.
If you have run Pi-hole and found its setup painful, AdGuard Home is worth trying. The parental controls alone are a meaningful improvement for families. If you just want a quick no-maintenance option and are willing to pay a couple of dollars a month, NextDNS gets you most of the same blocking without any hardware. For anyone in the middle, AdGuard Home is the right call.