package icon

SparkleDNS

Encrypt DNS requests without routing all your traffic through a VPN.
New in version 1.0.10
• DNS keeps working when an unexpected packet arrives; if the tunnel fails, the VPN turns off instead of silently blocking DNS
• Lookups recover faster after switching between Wi-Fi and mobile data and on slow networks
• Less work in the background: hidden screens are no longer refreshed
• Blocklists are downloaded again only when they changed
• Sharper app icons, smaller app
• A double tap on Connect no longer connects twice; a full storage no longer crashes the app
Protect your DNS requests with encrypted DNS-over-HTTPS, while your other internet traffic stays on its normal connection. SparkleDNS gives you control over DNS without routing your whole device through a VPN server.


  • Send DNS queries to your chosen DoH server using RFC 8484.

  • Check server protocol and latency before you connect.

  • See live queries and stats, filter activity, and block domains with a tap.

  • Add custom domain rules or blocklists by URL, including HaGeZi Pro++ and TIF presets.

  • Let selected apps bypass the DNS tunnel.

  • Connect or disconnect in one tap, or use the Quick Settings tile.



SparkleDNS creates a local VPN tunnel to capture DNS traffic only. DNS requests go to your selected DoH server; everything else uses your regular connection. Switch servers while connected and the tunnel restarts automatically. No analytics or Google Play Services are included.

Choose SparkleDNS for a lightweight Android DNS client with clear controls over encrypted DNS and domain blocking. Install SparkleDNS and take control of your DNS requests.

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 1.0.10 (10010) suggested Added on Oct 29, 2026

    arm64-v8a armeabi-v7a x86 x86_64

    This version requires Android 8.0 or newer.

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

    Permissions
    • view network connections
      Allows the app to view information about network connections such as which networks exist and are connected.
    • 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.
    • show notifications
      Allows the app to show notifications
    • cc.skysparkle.sparkledns.DYNAMIC_RECEIVER_NOT_EXPORTED_PERMISSION

    Download APK 1.6 MiB PGP Signature | Build Log

  • New in version 1.0.9
    • Donation links next to the privacy policy for servers that accept donations
    • Simpler server list
    • New privacy policy icon on servers
    • HTTP/3 badge removed from the server list
    • Shorter About description
  • Version 1.0.9 (10009) - Added on Oct 25, 2026

    arm64-v8a armeabi-v7a x86 x86_64

    This version requires Android 8.0 or newer.

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

    Permissions
    • view network connections
      Allows the app to view information about network connections such as which networks exist and are connected.
    • 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.
    • show notifications
      Allows the app to show notifications
    • cc.skysparkle.sparkledns.DYNAMIC_RECEIVER_NOT_EXPORTED_PERMISSION

    Download APK 1.9 MiB PGP Signature | Build Log

  • New in version 1.0.6
    • Fixed: IPv6 of all apps was blocked while connected
    • Switching servers no longer leaks DNS for a moment
    • Blocklist downloads run in the background and never block adding domains
    • dnsmasq and unbound blocklist formats
    • Private DNS warning shows only when it really interferes
    • Back returns to Home, text fields stay above the keyboard
    • Quick Settings tile updates instantly
    • Monitor filters fit narrow screens
  • Version 1.0.6 (10006) - Added on Oct 15, 2026

    arm64-v8a armeabi-v7a x86 x86_64

    This version requires Android 8.0 or newer.

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

    Permissions
    • view network connections
      Allows the app to view information about network connections such as which networks exist and are connected.
    • 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.
    • show notifications
      Allows the app to show notifications
    • cc.skysparkle.sparkledns.DYNAMIC_RECEIVER_NOT_EXPORTED_PERMISSION

    Download APK 1.8 MiB PGP Signature | Build Log