Managing Private DNS settings on Android can be frustrating. While custom Private DNS hostnames allow you to block unwanted advertisements, stop tracking, and secure your internet traffic, turning them off or switching between providers usually requires navigating deep into Android system settings.
In this comprehensive guide, you will learn everything you need to know about DNS Toggle (package name: com.ericlowry.dnstoggle). We will cover what the application does, its core capabilities, hardware and system requirements, installation methods, usage instructions, troubleshooting tips, and answers to common questions. By the end of this post, you will be able to effortlessly control and automate your phone’s Private DNS right from your Quick Settings panel.

Table of Contents
What is DNS Toggle?
DNS Toggle is a free, open-source Android application created by developer Eric Lowry. It solves a specific problem for Android users: making Private DNS toggling fast, convenient, and automated.
Android introduced native Private DNS (DNS-over-TLS) support in Android 9.0. While useful for applying custom ad-blocking DNS services like NextDNS or AdGuard, Private DNS often interferes with public Wi-Fi login pages at hotels or coffee shops, or conflicts with certain VPN setups. DNS Toggle adds a handy tile to your Android notification shade, allowing you to turn Private DNS on or off with a single tap, swap between saved hostnames, or set up automated rules so your network connection never drops unexpectedly.
Features of DNS Toggle
DNS Toggle combines simple quick-access controls with smart automation features designed to streamline your daily network experience.
- Quick Settings Tile: Toggle your preferred Private DNS host on and off directly from your phone’s Quick Settings notification shade with a single tap.
- Multiple Saved DNS Hosts: Save and label multiple custom Private DNS hostnames (such as AdGuard, NextDNS, or Cloudflare) and swap between them easily.
- Wi-Fi Network Blacklisting: Automatically turn off Private DNS when connected to specific Wi-Fi networks. This prevents connection breaks on public Wi-Fi portals at hotels, airports, and cafes.
- Connectivity Watchdog: Automatically add a Wi-Fi network to your blacklist if Private DNS causes an internet connection failure.
- VPN Override and Toggling: Automatically change your Private DNS host or disable Private DNS entirely whenever an active VPN connection is detected.
- Shizuku Support: Grant necessary system permissions directly on your device without needing a computer or full root access.
- Backup and Import: Export and import your custom configurations using password-encrypted backup files to transfer your settings safely.
- Clean and Minimal Interface: Customize the label of your Quick Settings tile and optionally hide the app icon from your launcher drawer to keep your app grid clean.
- Privacy Focused: Completely free of advertisements, tracking, and analytics. All permissions and data remain strictly on your local device.
Requirements
Before installing and configuring DNS Toggle, make sure your device meets the following requirements:
- Android Version: Android 9.0 (Pie) or higher is required, as earlier Android versions do not feature built-in Private DNS settings.
- System Permission: Android protects system network settings under the WRITE_SECURE_SETTINGS permission. Because this is a guarded permission, you must authorize DNS Toggle using one of three methods:
- Shizuku: No computer required after a simple one-time setup.
- ADB Command: A one-time command run from a computer using USB Debugging.
- Root Access: Granted automatically if your phone is rooted.
- Optional Permissions:
- Location Access: Only required if you intend to use the Wi-Fi Blacklist feature. Android requires location permission solely to detect local Wi-Fi network names (SSIDs).
- Internet Access: Used optionally to test whether a custom DNS provider is reachable before applying it.
Download
DNS Toggle is published as open-source software under the MIT license. You can obtain the official application file through open-source Android app repositories:
- F-Droid Repositories: Available via F-Droid third-party repositories such as IzzyOnDroid, which host verified APK builds.
- GitHub Releases: Directly available from the developer’s official open-source GitHub repository.
Always download the APK file from trusted open-source platforms to ensure you are receiving an authentic, untampered build.
Install
Installing DNS Toggle on your Android device involves a standard APK installation procedure:
- Download the latest version of the DNS Toggle APK to your Android phone.
- Open your device’s File Manager or Web Browser downloads folder and tap the downloaded APK file.
- If prompted by Android, grant permission to allow installation from unknown sources for your file browser.
- Tap Install and wait for the installation process to complete.
- Launch the app from your home screen or app drawer to begin initial permission setup.
Check this also: How to Use Auto-Uninstaller KernelSU Module on Android
How to Use
Setting up DNS Toggle takes just a few simple steps. Follow this walk-through to get the app fully operational:
Step 1: Grant Secure Settings Permission
Open DNS Toggle. The app will notify you that the WRITE_SECURE_SETTINGS permission is needed. Choose your preferred method:
- Using Shizuku: If Shizuku is running on your phone, authorize DNS Toggle directly inside the app with a single prompt.
- Using ADB: Connect your phone to a computer with USB Debugging enabled, open a terminal or command window, and run:
adb shell pm grant com.ericlowry.dnstoggle android.permission.WRITE_SECURE_SETTINGS - Using Root: Grant superuser permissions when prompted by your root manager.
Step 2: Add the Quick Settings Tile
- Swipe down twice from the top of your screen to fully open the Quick Settings panel.
- Tap the pencil or Edit icon.
- Scroll down to find the DNS Toggle tile, then drag it up into your active tiles area.
Step 3: Configure Your DNS Hostnames
- Long-press the newly added DNS Toggle tile to open the app settings.
- Enter your primary custom DNS hostname (for example, dns.adguard.com or dns.nextdns.io).
- Add additional hostnames if you wish to switch between different providers.
Step 4: Set Up Automation Rules
- Public Wi-Fi Handling: Turn on Wi-Fi filtering so Private DNS turns off automatically whenever you connect to networks that require a splash screen or login page.
- VPN Adjustments: Set rules to modify or disable Private DNS whenever a VPN connects.
- Backup Settings: Go to settings and choose Export Configuration to save an encrypted copy of your setup for future restoration.
Credits
DNS Toggle is created and actively maintained by Eric Lowry. The project is released under the open-source MIT License, allowing the community to inspect, contribute to, and verify the codebase. Development, issue reporting, and releases are maintained through open-source repository channels.
Troubleshooting
If you run into issues while using DNS Toggle, check these common solutions:
- The Quick Settings Tile is Grayed Out: This indicates that the secure settings permission was not granted successfully. Re-check Shizuku authorization or run the ADB command again to ensure your phone recognized it.
- Public Wi-Fi Login Page Won’t Load: Many hotel and airport Wi-Fi networks rely on local DNS redirects to serve their login screen. Enable the Wi-Fi Blacklist setting or tap the tile once to temporarily disable Private DNS until you log in.
- Custom DNS Marked as Unreachable: Certain privacy-focused DNS hosts block automated ping or reachability tests. In the app settings, turn on the option to Disable DNS Test to apply your custom hostname regardless.
- Automation Stops Working When App is Closed: Some Android manufacturers aggressively restrict background tasks. Open your phone’s battery settings and set DNS Toggle to Unrestricted or disable battery optimization for the app.
- Saved Data Disappeared After Lock Screen Change: Android stores encrypted security keys in the system Keystore. Changing your screen lock PIN, pattern, or biometric settings can clear this keystore. Restore your settings using your saved configuration backup file.
FAQs
Yes. The app is entirely free, open-source, and contains no advertisements, paid upgrades, or subscription fees.
No. The app does not collect, store, or transmit any personal data or browsing history. All processing happens locally on your device.
No. Root access is not required. You can grant the necessary system permission using Shizuku or a simple one-time ADB command from a computer.
Location permission is strictly optional. Android requires location authorization whenever an app reads local Wi-Fi network names (SSIDs). This is used only on-device to auto-disable Private DNS on specific blacklisted Wi-Fi networks.
Yes. In fact, DNS Toggle includes specific VPN override settings to prevent DNS conflicts when a VPN connection is established.
Conclusion
DNS Toggle is an essential utility for Android users who rely on custom Private DNS for ad-blocking, privacy, or security. By bringing quick controls directly to your notification shade and automating network exceptions for public Wi-Fi and VPNs, it eliminates the hassle of navigating device menus every time your connection changes.
Have you tried using DNS Toggle on your Android phone, or do you have a favorite Private DNS provider? Leave a comment below and share your thoughts or questions.

