AdGuard Home vs. Pi-hole (2020)—Two ad and internet tracker blockers compared
Disclosure: This post contains affiliate links. If you click through and make a purchase, I will earn a commission, at no additional cost to you. Read my full disclosure here.
AdGuard Home and Pi-hole are two popular options for blocking ads and trackers while browsing the web. Both offer basic features such as the ability to add blocklists and a built-in DHCP server, all without requiring a resource-hogging browser extension or background application to monitor your network traffic. Plus, as open-source software, they can be self-hosted and run on virtually any hardware.
Pi-hole has been around for over seven years, first released on June 15, 2015. On the other hand, AdGuard Home is a relative newcomer, having been announced on October 16, 2018, and turning just two years old. Despite its youth, AdGuard Home has been gaining traction among users, slowly but surely drawing them away from Pi-hole. So, should you stick with Pi-hole, or make the switch to AdGuard Home? Read on to find out how the two compare against each other.
How AdGuard Home and Pi-hole differ from other ad blockers
As mentioned in the introduction, AdGuard Home and Pi-hole can both be hosted locally, for example on a Raspberry Pi, and don't require any additional software on your devices. These ad blockers act as a DNS sinkhole (Pi-hole calls itself a black hole for internet ads) and cover any device connected to your local network. Your smart televisions, smartphones, tablets, and PCs are all included. That is why AdGuard Home and Pi-hole are described as network-level advertisement and internet tracker blocking applications.
Product
CanaKit Raspberry Pi 4 Extreme Kit - Aluminum Edition
GeeekPi Raspberry Pi 4 8GB Starter Kit
CanaKit Raspberry Pi 4 4GB Starter PRO Kit
CanaKit Raspberry Pi 4 Basic Kit
Model
Raspberry Pi 4 Model B (8 GB)
Raspberry Pi 4 Model B (8 GB)
Raspberry Pi 4 Model B (4 GB)
Raspberry Pi 4 Model B (8 GB)
PSU
Power supply with noise filter
USB-C power supply (5V/3.6A)
Power supply with noise filter
Power supply with noise filter
Accessories
Premium Aluminum Case with Built-In Passive Heat Sink Cooling
Case; cooling fan wit four aluminium heatsinks, 64 GB microSD card, two HDMI cables
Premium High-Gloss Case with Integrated Fan Mount, Low Noise Bearing System Fan
On a basic level, the inner workings of these applications are easy to understand. Every time you open a page containing ads, they will be downloaded from a certain server, which likely isn't the same as the one hosting the website in question. Just like any embedded object, those ads will be pulled from another domain. Your browser will request your DNS to translate the URL hosting the ads into an IP address. That is where AdGuard Home and Pi-hole act as the middleman. Instead of returning the correct address to your browser, they will block it.
How to use AdGuard Home and Pi-hole
Once you've set up either AdGuard Home or Pi-hole on a Raspberry Pi or server, you will need to replace the DNS configured in your router to the IP of the host. This guide will not be covering the installation of either, as their dedicated websites document the steps.
About AdGuard and AdGuard Home
In contrast to Pi-hole, AdGuard Home isn’t the only application made by AdGuard Software Limited. AdGuard is a whole line of ad blocking and privacy-protection software which comprises the open-source AdGuard Home and other products. AdGuard has apps for Windows, macOS, Android, and iOS as well as a browser extension.
In this comparison, I will be only comparing AdGuard Home to Pi-hole. Other AdGuard products aren’t comparable to Pi-hole and are aimed at less tech-savvy users. You should be warned that setting up either application isn’t as easy as just installing an application or a Chrome extension.
AdGuard Home vs. Pi-hole
With the background information out of the way, we can finally take a look at how these two network-level ad and tracker blockers compare. For this comparison, I had installed and used both AdGuard Home and Pi-hole for extended periods.
AdGuard Home vs. Pi-hole: The web interface
Let’s start this comparison with the basics. Both applications have a similar-looking main dashboard which is accessed via a web browser. You get to see a few nice graphs and statistics on how well the blockers are performing. All in all, I prefer the cleaner look of the AdGuard Home Dashboard.
One thing I prefer on AdGuard Home is the way the menu is structured. Everything is found where I’d expect it to be. Pi-hole takes some getting used to. For example, the button to update your blocklist is located under Update Gravity. I know that this is a script that gets executed automatically daily, but it is a good example of how confusing Pi-hole can be. For me, AdGuard Home wins this round.
AdGuard Home vs. Pi-hole: Features
If blocking ads and trackers are the basics, then both AdGuard Home and Pi-hole have them covered. You can add your own blocklists to either, and both can be used as a DHCP server for an easier configuration (why you might want to do that is detailed in my AdGuard Home review). However, there are some major differences to be seen once you dig deeper into the applications.
Product
CanaKit Raspberry Pi 4 Extreme Kit - Aluminum Edition
GeeekPi Raspberry Pi 4 8GB Starter Kit
CanaKit Raspberry Pi 4 4GB Starter PRO Kit
CanaKit Raspberry Pi 4 Basic Kit
Model
Raspberry Pi 4 Model B (8 GB)
Raspberry Pi 4 Model B (8 GB)
Raspberry Pi 4 Model B (4 GB)
Raspberry Pi 4 Model B (8 GB)
PSU
Power supply with noise filter
USB-C power supply (5V/3.6A)
Power supply with noise filter
Power supply with noise filter
Accessories
Premium Aluminum Case with Built-In Passive Heat Sink Cooling
Case; cooling fan wit four aluminium heatsinks, 64 GB microSD card, two HDMI cables
Premium High-Gloss Case with Integrated Fan Mount, Low Noise Bearing System Fan
This is an option that isn’t relevant to my use case because I run AdGuard locally on my server. But it deserves a mention in this review: AdGuard Home supports DNS-over-HTTPS and DNS-over-TLS out of the box. Pi-hole does not have this feature.
Encryption is needed if you are running AdGuard Home on a VPS (Virtual Private Server) to make connection secure and data safe. On Pi-hole, this function requires extra software to be installed and configured. AdGuard Home offers better options for those wanting to run it on a VPS out of the box.
AdGuard Home vs. Pi-hole: Parental controls
Parental controls are a big win for AdGuard Home. Parental controls can be enabled on individual devices or globally for all devices. Pi-hole currently supports no form of parental controls, which will push many in the direction of AdGuard Home.
AdGuard Home vs. Pi-hole: Supported platforms
Pi-hole and AdGuard Home can both be set up in a Docker container and are thus cross-platform compatible. Natively, Pi-hole can only be installed on Linux. AdGuard Home on the other hand can be installed on Linux, Windows, macOS, and FreeBSD. AdGuard Home supports more platforms without the use of Docker and thus wins this round.
Product
CanaKit Raspberry Pi 4 Extreme Kit - Aluminum Edition
GeeekPi Raspberry Pi 4 8GB Starter Kit
CanaKit Raspberry Pi 4 4GB Starter PRO Kit
CanaKit Raspberry Pi 4 Basic Kit
Model
Raspberry Pi 4 Model B (8 GB)
Raspberry Pi 4 Model B (8 GB)
Raspberry Pi 4 Model B (4 GB)
Raspberry Pi 4 Model B (8 GB)
PSU
Power supply with noise filter
USB-C power supply (5V/3.6A)
Power supply with noise filter
Power supply with noise filter
Accessories
Premium Aluminum Case with Built-In Passive Heat Sink Cooling
Case; cooling fan wit four aluminium heatsinks, 64 GB microSD card, two HDMI cables
Premium High-Gloss Case with Integrated Fan Mount, Low Noise Bearing System Fan
AdGuard Home can do anything Pi-hole does and more. On the whole, AdGuard Home wins in terms of features offered. Other advantages AdGuard Home has over Pi-hole are:
You can force Safe Search on search engines.
HTTPS can be configured for the Admin interface.
Access settings can be adjusted.
AdGuard Home vs. Pi-hole: Development
AdGuard Home is adding new features and fixes at an impressively rapid pace. The development of Pi-hole, on the other hand, can sometimes seem a bit stagnant. If you’re looking to integrate AdGuard Home into other products (for example Home Assistant), there’s an impressive API available. Controlling Pi-hole is slightly more limited.
AdGuard Home vs. Pi-hole: Home Assistant
Both AdGuard Home and Pi-hole can be integrated into Home Assistant. The AdGuard Home integration offers more sensors and switches in comparison to the Pi-hole integration. AdGuard Home is also available as a community add-on, whereas the Pi-hole add-on has been deprecated. It’s another win for AdGuard Home over Pi-hole.
Which is better? AdGuard Home or Pi-hole?
Ever since spinning up my first AdGuard Home container, I’ve been convinced that it is the better application. It didn’t take long for me to reach the decision to switch from Pi-hole. While comparing the Pi-hole and AdGuard Home for this article, it became all the more obvious that AdGuard Home is better in every way.
About Liam Alexander Colman
Liam Alexander Colmanis an experienced Home Assistant user who has been utilizing the platform for a variety of projects over an extended period. His journey began with a Raspberry Pi, which quickly grew to three Raspberry Pis and eventually a full-fledged server. Liam's current operating system of choice is Unraid, with Home Assistant comfortably running in a Docker container. With a deep understanding of the intricacies of Home Assistant, Liam has an impressive setup, consisting of various Zigbee devices, and seamless integrations with existing products such as his Android TV box. For those interested in learning more about Liam's experience with Home Assistant, he shares his insights on how he first started using the platform and his subsequent journey.
Comments
I’ve found that adguard gets slow and you need to reboot the raspberry pi or whatever machine you’re using it on as dns resolution becomes very slow. It goes back to being fast after restarting the device it’s installed on. Haven’t had that issue with Pi-Hole.
Thanks for the feedback! I’ll have to research the issue further. As I’m not running it on a Raspberry Pi I can’t replicate what you’re describing but I’ll see if I can find other reports.
Hi
Also running AdGuardHome in a Docker container on a RPi 4 and after running properly during several months, it suddenly filled my disk with 530GB of logs (querylog.json file)! I removed the log file and restarted it and a few hours later, I had again 6GB of logs 🙁
So I had to stop the container
You might also want to check out eBlockerOS from eBlocker.org as pi-hole alternative.
Free and open source for Raspi too.
Adds VPN, Tor and advanced pattern (not just domain) blocker and more privacy features.
I’m quite happy and the UI even works for my wife.
I use Adguard home in docker. Adguard is missing in terms of per-client blocking. I cannot create individual blacklists per client, which can be done in pihole by assigning clients to groups.
Unless I am missing something, and someone knows a way to blacklist some domains for some clients and leave them unblock for others?
Regards
Hey there. From what I’ve read, you are right. This seams to be an option recently added to Pi-hole and hasn’t been implemented yet in AdGuard Home. Broader adjustments are available on a client level (e.g. turning blocking on or off) but allowing individual lists not. Though it is being worked on.
Just realized I can implement some sort of per client filtering by assigning them different tags (ctag) and using these tags in custom filtering syntax to block certain websites for only some clients with certain tags. Like explained here https://github.com/AdguardTeam/AdGuardHome/wiki/Hosts-Blocklists#ctag
My 10 cents worth, I used pihole for a few years then about 8 months ago moved over to Ad Guard Home (within Home Assistant), which ment I could get rid of another Virtual machine which was running pihole. I have an internal home network where all my devices have a domain name (eg .local Domain)…most of my internal network is https hence the need for local domain names… within my setup of AdGuard Home I have all my internal domain machines local IPs within DNS rewrites, this works great UNTIL you “disable protection” within AdGuard…this disables everyting including the Local DNS rewrites and my entire local network grinds to a halt. I disable protection from time to time to get updates for all my Samsung smart TVs, as I am not prepared to add the 20 or so trackers to the whitelist. I also have to disable protection to use google podcast player as they too have about 30 or so trackers. I have logged a request (along with about 100 others) with the AdGuard developers and they say they plan to “fix” the DNS rewrite in a future version: “ameshkov added the feature request label on 8 May 2020” so no idea when they plan to implement
I can guarantee that I have no affiliation with either product. At the end of the day they both do a very similar job. If you’re happy with Pi-hole, keep on using it. Since I wrote this comparison V5 has dropped, and I haven’t had the time to test it, but I’ve heard good things about it.
One disadvantage of AdGuard Home is that there are no extensions for Chrome etc. with which you can deactivate/activate AdGauard or whitelist or blacklist the current page.
For Pihole this is available (“PiHole Browser Extension”) and very practical.
I’ve found that adguard gets slow and you need to reboot the raspberry pi or whatever machine you’re using it on as dns resolution becomes very slow. It goes back to being fast after restarting the device it’s installed on. Haven’t had that issue with Pi-Hole.
Thanks for the feedback! I’ll have to research the issue further. As I’m not running it on a Raspberry Pi I can’t replicate what you’re describing but I’ll see if I can find other reports.
Hi
Also running AdGuardHome in a Docker container on a RPi 4 and after running properly during several months, it suddenly filled my disk with 530GB of logs (querylog.json file)! I removed the log file and restarted it and a few hours later, I had again 6GB of logs 🙁
So I had to stop the container
About the log file ( querylog.json ) growing out of hand:
You can disable logging,
0r you can configure log retention
Both settings are found under https://youradguardserver.url/#settings
You might also want to check out eBlockerOS from eBlocker.org as pi-hole alternative.
Free and open source for Raspi too.
Adds VPN, Tor and advanced pattern (not just domain) blocker and more privacy features.
I’m quite happy and the UI even works for my wife.
Never heard of to be honest. I’ll definitely have to give it a try.
I use Adguard home in docker. Adguard is missing in terms of per-client blocking. I cannot create individual blacklists per client, which can be done in pihole by assigning clients to groups.
Unless I am missing something, and someone knows a way to blacklist some domains for some clients and leave them unblock for others?
Regards
Hey there. From what I’ve read, you are right. This seams to be an option recently added to Pi-hole and hasn’t been implemented yet in AdGuard Home. Broader adjustments are available on a client level (e.g. turning blocking on or off) but allowing individual lists not. Though it is being worked on.
Thank you for your reply. Didn’t know it is being worked on. Great news.
Just realized I can implement some sort of per client filtering by assigning them different tags (ctag) and using these tags in custom filtering syntax to block certain websites for only some clients with certain tags. Like explained here https://github.com/AdguardTeam/AdGuardHome/wiki/Hosts-Blocklists#ctag
My 10 cents worth, I used pihole for a few years then about 8 months ago moved over to Ad Guard Home (within Home Assistant), which ment I could get rid of another Virtual machine which was running pihole. I have an internal home network where all my devices have a domain name (eg .local Domain)…most of my internal network is https hence the need for local domain names… within my setup of AdGuard Home I have all my internal domain machines local IPs within DNS rewrites, this works great UNTIL you “disable protection” within AdGuard…this disables everyting including the Local DNS rewrites and my entire local network grinds to a halt. I disable protection from time to time to get updates for all my Samsung smart TVs, as I am not prepared to add the 20 or so trackers to the whitelist. I also have to disable protection to use google podcast player as they too have about 30 or so trackers. I have logged a request (along with about 100 others) with the AdGuard developers and they say they plan to “fix” the DNS rewrite in a future version: “ameshkov added the feature request label on 8 May 2020” so no idea when they plan to implement
So which version of AdGuard and PiHole did you actually compare?
Hi there. It would have been an early build of Pi-hole 5.0 and AdGuard Home v0.103.3.
I get worried when I see comparison lists where all of the points are awarded to the same side. even for ties. can’t help but questioning the agenda.
Can you think of a reason why I should stay in pihole?
I can guarantee that I have no affiliation with either product. At the end of the day they both do a very similar job. If you’re happy with Pi-hole, keep on using it. Since I wrote this comparison V5 has dropped, and I haven’t had the time to test it, but I’ve heard good things about it.
Thank you for this guide. This guide and another one https://www.smarthomebeginner.com/pi-hole-vs-adguard-home/ – really helped me settle on AdGuard Home.
I appreciate it very much!
One disadvantage of AdGuard Home is that there are no extensions for Chrome etc. with which you can deactivate/activate AdGauard or whitelist or blacklist the current page.
For Pihole this is available (“PiHole Browser Extension”) and very practical.
Regards, Eckart