package icon

DNS Toggle

Easily toggle and automate Private DNS through the Quick Settings panel.
New in version 2.1.2
- Updated Spanish translation (thanks Allyson Simón).
DNS Toggle is a small Android app that allows you to easily toggle and automate your phone's Private DNS through the Quick Settings panel.
IMPORTANT:
To modify Private DNS system settings, this app requires the WRITE_SECURE_SETTINGS permission. You must either have a rooted device, use Shizuku, or manually grant it via ADB:
adb shell pm grant com.ericlowry.dnstoggle android.permission.WRITE_SECURE_SETTINGS
Features
  • Quick Settings Tile: Toggle Private DNS on/off directly from the Quick Settings panel.
  • Custom DNS Providers: Define one or more preferred hostnames (e.g., dns.nextdns.io) and seamlessly switch between them.
  • Wi-Fi Filtering: Automatically disable Private DNS when connected to specific Wi-Fi networks.
  • Automatic Blocking: Automatically blacklists the current Wi-Fi SSID when Private DNS causes connectivity issues.
  • VPN Override: Automatically enforce a specific DNS hostname or disable Private DNS entirely whenever a VPN is active on your device.
  • Backup & Restore: Export and import your configuration via password-encrypted files.
  • Dynamic Tile Labeling: Rename the Quick Settings tile.
  • Hide App Icon: Keep your home screen clean while maintaining access via the Quick Settings tile.
Privacy & Permissions
  • No tracking, no ads, and no data collection.
  • Location permissions are optional, and only used to identify Wi-Fi network names for the SSID Filter feature. They are never used to track your physical location.

Versions

Although APK downloads are available below to give you the choice, you should be aware that by installing that way you will not receive update notifications and it's a less secure way to download. We recommend that you install the F-Droid client and use that.

Download F-Droid
  • Version 2.1.2 (25) suggested Added on Aug 21, 2026

    This version requires Android 9.0 or newer.

    It is built and signed by the original developer, and guaranteed to correspond to this source tarball.

    Permissions
    • access location in the background
      This app can access location at any time, even while the app is not in use.
    • access approximate location only in the foreground
      This app can get your approximate location from location services while the app is in use. Location services for your device must be turned on for the app to get location.
    • access precise location only in the foreground
      This app can get your precise location from location services while the app is in use. Location services for your device must be turned on for the app to get location. This may increase battery usage.
    • view network connections
      Allows the app to view information about network connections such as which networks exist and are connected.
    • view Wi-Fi connections
      Allows the app to view information about Wi-Fi networking, such as whether Wi-Fi is enabled and name of connected Wi-Fi devices.
    • run foreground service
      Allows the app to make use of foreground services.
    • run foreground service with the type "specialUse"
      Allows the app to make use of foreground services with the type "specialUse"
    • have full network access
      Allows the app to create network sockets and use custom network protocols. The browser and other applications provide means to send data to the internet, so this permission is not required to send data to the internet.
    • interact with nearby Wi-Fi devices
      Allows the app to advertise, connect, and determine the relative position of nearby Wi-Fi devices
    • show notifications
      Allows the app to show notifications
    • run at startup
      Allows the app to have itself started as soon as the system has finished booting. This can make it take longer to start the phone and allow the app to slow down the overall phone by always running.
    • ask to ignore battery optimizations
      Allows an app to ask for permission to ignore battery optimizations for that app.
    • android.permission.WRITE_SECURE_SETTINGS
    • com.ericlowry.dnstoggle.DYNAMIC_RECEIVER_NOT_EXPORTED_PERMISSION
    • moe.shizuku.manager.permission.API_V23

    Download APK 1.9 MiB PGP Signature | Build Log

  • New in version 2.1.1
    - Fixed an issue where Wi-Fi profiles sometimes failed to apply.
    - Improved incompatible network detection reliability.
    - Fixed minor UI issues.
  • Version 2.1.1 (24) - Added on Aug 19, 2026

    This version requires Android 9.0 or newer.

    It is built and signed by the original developer, and guaranteed to correspond to this source tarball.

    Permissions
    • access location in the background
      This app can access location at any time, even while the app is not in use.
    • access approximate location only in the foreground
      This app can get your approximate location from location services while the app is in use. Location services for your device must be turned on for the app to get location.
    • access precise location only in the foreground
      This app can get your precise location from location services while the app is in use. Location services for your device must be turned on for the app to get location. This may increase battery usage.
    • view network connections
      Allows the app to view information about network connections such as which networks exist and are connected.
    • view Wi-Fi connections
      Allows the app to view information about Wi-Fi networking, such as whether Wi-Fi is enabled and name of connected Wi-Fi devices.
    • run foreground service
      Allows the app to make use of foreground services.
    • run foreground service with the type "specialUse"
      Allows the app to make use of foreground services with the type "specialUse"
    • have full network access
      Allows the app to create network sockets and use custom network protocols. The browser and other applications provide means to send data to the internet, so this permission is not required to send data to the internet.
    • interact with nearby Wi-Fi devices
      Allows the app to advertise, connect, and determine the relative position of nearby Wi-Fi devices
    • show notifications
      Allows the app to show notifications
    • run at startup
      Allows the app to have itself started as soon as the system has finished booting. This can make it take longer to start the phone and allow the app to slow down the overall phone by always running.
    • ask to ignore battery optimizations
      Allows an app to ask for permission to ignore battery optimizations for that app.
    • android.permission.WRITE_SECURE_SETTINGS
    • com.ericlowry.dnstoggle.DYNAMIC_RECEIVER_NOT_EXPORTED_PERMISSION
    • moe.shizuku.manager.permission.API_V23

    Download APK 1.9 MiB PGP Signature | Build Log

  • New in version 2.1.0
    - Added the option to fully disable private DNS
    - Cleaned up some UI elements
  • Version 2.1.0 (23) - Added on Aug 11, 2026

    This version requires Android 9.0 or newer.

    It is built and signed by the original developer, and guaranteed to correspond to this source tarball.

    Permissions
    • access location in the background
      This app can access location at any time, even while the app is not in use.
    • access approximate location only in the foreground
      This app can get your approximate location from location services while the app is in use. Location services for your device must be turned on for the app to get location.
    • access precise location only in the foreground
      This app can get your precise location from location services while the app is in use. Location services for your device must be turned on for the app to get location. This may increase battery usage.
    • view network connections
      Allows the app to view information about network connections such as which networks exist and are connected.
    • view Wi-Fi connections
      Allows the app to view information about Wi-Fi networking, such as whether Wi-Fi is enabled and name of connected Wi-Fi devices.
    • run foreground service
      Allows the app to make use of foreground services.
    • run foreground service with the type "specialUse"
      Allows the app to make use of foreground services with the type "specialUse"
    • have full network access
      Allows the app to create network sockets and use custom network protocols. The browser and other applications provide means to send data to the internet, so this permission is not required to send data to the internet.
    • interact with nearby Wi-Fi devices
      Allows the app to advertise, connect, and determine the relative position of nearby Wi-Fi devices
    • show notifications
      Allows the app to show notifications
    • run at startup
      Allows the app to have itself started as soon as the system has finished booting. This can make it take longer to start the phone and allow the app to slow down the overall phone by always running.
    • ask to ignore battery optimizations
      Allows an app to ask for permission to ignore battery optimizations for that app.
    • android.permission.WRITE_SECURE_SETTINGS
    • com.ericlowry.dnstoggle.DYNAMIC_RECEIVER_NOT_EXPORTED_PERMISSION
    • moe.shizuku.manager.permission.API_V23

    Download APK 1.9 MiB PGP Signature | Build Log