Ads during web browsing are easy to get rid of. Just pick one of the ad blockers from our top 5 best ad blockers of 2025 picks, and you’ll be fine. But we are not spending more time on the internet through apps on our phones. And ads have made their way to these apps, too. These ads have become increasingly intrusive over the years.
These ads interrupt your games, videos, and news. Most of the time, they’re unskippable, or have a 15-30 second long wait time before you can skip, and the close button is so tiny sometimes that you end up on the ad site instead.
And because of the way Android and iOS systems are made, apps can’t just easily filter out network requests of other apps. This is why regular ad blockers cannot help. But all hope isn’t lost.
Can you block in-app ads on Android?
Yes, you can block in-app ads on Android.
However, it’s not as easy as installing a browser extension. Android does not officially allow system-wide filtering. But there are essentially three ways to do it.
- Using a VPN
- Using a custom DNS
- Editing host files
VPNs with ad blockers (such as Surfshark CleanWeb and NordVPN Threat Protection Pro) route your traffic through a VPN filter that blocks ads before they appear. AdGuard app also uses a similar method, but it uses a local, on-device VPN.
Custom DNS providers (such as AdGuard DNS or NextDNS) block known ad domains at the network level, cutting them off before they load inside apps.
For advanced users, editing host files allows you to manually blacklist ad servers. Although this approach is less user-friendly and often requires root access.
How to block ads in Android apps with AdGuard?
AdGuard is the simplest way to get rid of in-app ads on Android without rooting your phone. Unlike a browser extension, it works at the system level by creating a local VPN on your device. That VPN doesn’t send your data to a server; it just filters traffic locally and removes ads and trackers before they load.
Here’s how to do it:
- Download the app from the official AdGuard website (it’s not on Google Play).
- Install the APK and grant the necessary permissions.
- Open AdGuard and turn Protection On.
- When prompted, allow it to set up a local VPN.
Once it’s running, AdGuard will quietly block banners, pop-ups, and even video ads inside some apps.
How to block ads in Android apps with a custom DNS?
Android 9 and above have a feature called Private DNS, which allows you to route all your traffic through a DNS provider of your choice. By switching to an ad-blocking DNS like AdGuard DNS or NextDNS, you can block most in-app ads before they even load.
Here’s how to do it:
- Open Settings > Network & Internet > Private DNS.
- Select Private DNS provider hostname.
- Enter dns.adguard-dns.com (or your chosen provider).
- Save and reconnect to the internet.
dns.adguard-dns.com is AdGuard’s public DNS. However, you can get a private DNS by signing up for AdGuard DNS or NextDNS. Both will let you add blocklists of your choice, refine your filtering, and see detailed stats.
Can you block in-app ads on iPhone?
Yes, you can block in-app ads on iPhone. However, your options are much more limited than on Android. And it’s kind of a hit or miss.
Apple doesn’t allow apps to filter traffic from other apps, so traditional ad blockers only work in Safari. And as sideloading is very difficult on iPhones, there are no sideloadable ad blockers either. So the only option is to go with DNS-based filtering like AdGuard DNS, NextDNS, or a VPN with built-in ad blocking.
These methods can block many ad and tracking domains system-wide, but won’t catch every ad. So if you’re thinking of blocking ads on YouTube and Facebook, that’s not happening.
How to block in-app ads on iPhone?
On iOS, the only proper way to block ads across apps is to switch to an ad-blocking DNS. Tools like AdGuard DNS or NextDNS work at the network level, filtering out requests to ad and tracker domains before they ever hit your phone.
Here’s how to do it:
- Open Settings > Wi-Fi.
- Tap the i icon next to your connected Wi-Fi network.
- Select Configure DNS > Manual.
- Delete the existing entries (if any) and add:
94.140.14.14
94.140.15.15 - These are AdGuard’s public DNS entries. You can add custom DNS by signing up for AdGuard DNS or NextDNS.
- Save and reconnect to Wi-Fi.
From now on, ads and trackers blocked at the DNS level won’t load in Safari, games, or other apps. However, keep in mind that on iOS, DNS-based ad blocking is implemented on a per-network basis. Therefore, you will need to set it up for each of the Wi-Fi connections you frequently use.
How to Block In-App Ads on Your Phone with a VPN?
Another way to block in-app ads is to use a VPN that has built-in ad blocking. Instead of just hiding your IP, these VPNs scan your traffic and filter out ad and tracker domains before they even reach your phone. This results in fewer ads, not only in your browser but also in many of your apps.
- Surfshark CleanWeb: Included with every Surfshark subscription. Once enabled, it blocks ads, trackers, and even phishing domains across your entire device. Works on both Android and iOS, and you don’t need to manually configure DNS.
- NordVPN Threat Protection Pro: Available in NordVPN’s mobile apps. Along with blocking ads and trackers, it also scans downloads for malware. Like Surfshark, it runs system-wide, so apps and games benefit as much as Safari or Chrome.
The upside of using a VPN is simplicity. Install the app, toggle ad blocking on, and you’re done. The downside is that these are paid subscriptions, so unlike AdGuard DNS or NextDNS, you can’t use them for free indefinitely.
Wrapping Up
Blocking in-app ads requires some extra steps. But it’s absolutely worth it. In-app ads have gotten way more intrusive lately. And both Google and Apple have made it more difficult by banning most proper ad blockers from their stores.
However, with custom DNS and VPNs, it is still quite possible to get rid of ads on most apps.