[Published: 18 June 2026 | Last updated: 18 June 2026]
TL;DR
- There’s no single switch that removes every ad. The real fix is a layered approach: stop ad personalization, block ad-serving domains with Private DNS, and pay for ad-free versions of the apps you use most.
- Private DNS, built into Android 9 and later, blocks most banner and pop-up ads system-wide by pointing your phone at a filtering DNS server like AdGuard DNS or NextDNS, no root required (AndroidExperto, 2026).
- Private DNS can’t touch video ads that load from the same servers as the app’s actual content, YouTube being the clearest example (Cloudorian, 2026).
- An estimated 29.5% of internet users worldwide now use some form of ad blocker, and mobile devices account for the larger share of that usage (GWI via Backlinko, 2026).
- For any app you use daily, the one-time in-app purchase to remove ads is still the most reliable, app-specific fix available.
What You Need Before You Start
- A phone running Android 9 or later for Private DNS to work (most phones sold since 2018 qualify)
- About 10 minutes
- No root access required for any method in this guide
- A Google account signed in, for the ad personalization steps
This is harder than it sounds for one reason: ads on Android come from several different sources, not one. A banner ad, a YouTube pre-roll, and a full-screen interstitial in a game all get served differently, so no single setting kills all three. Worth saying upfront.
Step 1: Turn Off Ad Personalization
Opting out of ad personalization stops Google and apps from tailoring ads to your behavior, but it does not reduce how many ads you see. It’s still worth doing first, since it’s quick and improves privacy even if the ad count stays the same (BGR, 2026).
Open Settings, then go to Google, then Ads (on some phones this sits under Settings > Privacy > Advanced > Ads instead, depending on your manufacturer’s skin). Turn on “Opt out of Ads Personalization.” On Android 12 and later, this also zeroes out your advertising ID, so apps that read it get a string of zeros instead of a real identifier (Adjust, 2026). You can also tap “Reset advertising ID” first if you want a clean break before opting out.
Don’t expect fewer ads after this step. You’re cutting the targeting, not the supply. The next steps handle that part.
Step 2: Block Ads System-Wide With Private DNS
Private DNS, sometimes called DNS-over-TLS, lets you route every app’s network request through a filtering DNS server, and Android has supported it natively since version 9 with no extra app install required (AndroidExperto, 2026). This is the single most effective free method covered here, and it works across nearly every app on your phone at once.
Open Settings, then Network & Internet, then Private DNS (sometimes labeled “Private DNS mode”). Select Private DNS provider hostname, then type one of the following:
dns.adguard.comfor AdGuard’s standard ad and tracker blocking, no account needed- A custom hostname from a free NextDNS account, if you want to pick specific blocklists yourself
Tap Save. That’s it. No reboot required, and you can verify it’s active by visiting adguard.com/test.html in your browser.
NextDNS takes five extra minutes to set up but gives you real control. Create a free account at nextdns.io, copy your unique hostname from the dashboard, and paste it into the same Private DNS field. From the dashboard you can then stack multiple blocklists, including the AdGuard DNS filter, OISD Full, and similar lists, all from one profile (Ordoh, 2026).
This won’t catch everything, and that’s worth saying plainly. YouTube’s in-app ads are delivered from the same infrastructure as YouTube’s videos, so a DNS filter genuinely can’t tell the two apart (Cloudorian, 2026). The same goes for ads baked directly into a game’s own ad SDK rather than loaded from a separate ad network domain.
Step 3: Add Browser-Level Blocking for Web Ads
Chrome’s built-in filter only removes ads it classifies as “abusive,” not ordinary ones, so it won’t get you very far on its own. If most of your ad exposure happens while browsing rather than inside apps, switch to a browser that supports real ad-blocking extensions.
Firefox for Android supports extensions, including uBlock Origin, the same blocker widely used on desktop. Install Firefox from the Play Store, then add uBlock Origin from the in-app extensions menu. Brave is the other common option and ships with ad blocking built in by default, no extension setup needed.
This step layers on top of Private DNS rather than replacing it. DNS blocking stops a request before it leaves your phone; a browser extension can also hide leftover ad space and scripts that DNS alone misses.
Step 4: Buy the Ad-Free Version of Apps You Use Daily
For any app you open every day, the cleanest fix is still the one built by the developer: a one-time purchase or subscription that removes ads entirely. Look inside the app for “Remove Ads,” “Go Premium,” or a similar option, usually under Settings or a small “X” button on the ad banner itself.
This matters more than it might seem. DNS and browser blocking handle the bulk of casual ad exposure for free, but a developer-built ad-free tier guarantees the ad slot disappears completely, rather than just failing to load, which means no broken layout where the ad used to sit.
A boring but accurate way to put it: paying removes the ad, blocking just stops it from loading. Most people end up doing both, free methods for everything, paid removal for the two or three apps they live in.
Step 5: Reset and Maintain Your Setup
Worth a quick mention since it trips people up. If an app suddenly breaks after you enable Private DNS, that’s almost always the filter blocking a domain the app actually needs to function, not just ads. Switch Private DNS back to “Automatic” temporarily to confirm DNS is the cause, then either whitelist the specific domain in your NextDNS dashboard or switch providers if you’re on the no-account AdGuard hostname, which doesn’t offer that level of control on its free tier (Ordoh, 2026).
Which Method Actually Works Best?
Each method covered here targets a different layer of where ads come from, so picking one isn’t really the right framing. Stacking two or three is what gets you closest to an ad-free phone.
| Method | Cost | Removes ads in | Setup time |
|---|---|---|---|
| Ad personalization opt-out | Free | Nothing directly; improves privacy only | 1 minute |
| Private DNS (AdGuard DNS) | Free | Most banner, pop-up, and interstitial ads, system-wide | 2 minutes |
| Private DNS (NextDNS) | Free | Same as above, plus customizable whitelisting | 5 minutes |
| Firefox + uBlock Origin | Free | In-browser ads specifically | 5 minutes |
| App-specific ad-free purchase | Usually $1-10, one-time or subscription | All ads in that one app, guaranteed | 1 minute per app |
Private DNS is the best starting point for most people, since it’s free, fast to set up, and works across nearly every app at once without touching individual settings inside each one. The app-specific purchase is the only method on this list that guarantees a clean result with zero risk of breaking app functionality, which is exactly why it’s worth the few dollars for whatever app you open most.
Common Problems and How to Fix Them
| Problem | Likely Cause | Solution |
|---|---|---|
| App crashes or won’t load content after enabling Private DNS | A required domain got blocked along with the ads | Switch to NextDNS, whitelist the specific domain in your dashboard |
| Still seeing video ads in YouTube or similar apps | Video ads share infrastructure with the video content itself | Use YouTube Premium, or accept this as a DNS-blocking limit |
| VPN app and Private DNS conflict | Most VPNs override your phone’s DNS settings entirely | Check if your VPN has its own built-in ad or tracker blocking instead |
| Ads still feel “targeted” after opting out | Opting out stops personalization, not all ad delivery | This is expected; personalization and ad volume are separate settings |
| Private DNS setting won’t save | Phone is running Android 8 or earlier | Private DNS requires Android 9 or later; check Settings > About Phone |
Frequently Asked Questions About Disabling Ads on Android
Does turning off ad personalization stop ads from showing?
No. It stops apps from tailoring ads to your behavior and interests, but ads still load at the same frequency. Use Private DNS or pay for an ad-free version to actually reduce the number of ads.
Do I need root access to block ads on Android?
No. Private DNS is built into Android 9 and later and works without root, as does using an alternative browser with ad-blocking extensions.
Will blocking ads with DNS break any apps?
Occasionally, yes, if the filter blocks a domain an app needs for something other than ads. NextDNS lets you whitelist specific domains when this happens; the no-account AdGuard hostname doesn’t offer that same control.
Can I block ads inside YouTube using Private DNS?
Not reliably. YouTube serves ads from the same servers it uses for video playback, so DNS filtering generally can’t separate the two. YouTube Premium is the practical fix for that specific app.
Is it legal to block ads on my own phone?
Yes. Blocking ads on a device you own is legal. It may violate the terms of service of specific free apps that rely on ad revenue, though enforcement against individual users for ad blocking is uncommon.
What’s the difference between AdGuard DNS and NextDNS?
AdGuard DNS works immediately with no account and blocks a fixed list of ad and tracker domains. NextDNS requires a free account but lets you choose and stack specific blocklists, view what’s being blocked, and whitelist individual domains.
Summary
- Opt out of ad personalization first; it improves privacy but won’t reduce ad volume on its own.
- Set up Private DNS with AdGuard DNS or NextDNS for the biggest, free, system-wide reduction in ads.
- Switch to Firefox with uBlock Origin or Brave for ads that show up specifically in your browser.
- Pay for the ad-free version of the handful of apps you actually use every day.