AnonymFlow
privacy-best-practicesINFO

DNS over HTTPS: Browser Setup Guide for 2026 (Chrome, Firefox, Edge, Safari)

DoH encrypts your DNS queries inside HTTPS so your ISP can't read your browsing history. Step-by-step setup for Chrome, Firefox, Edge, Safari + comparison of NextDNS, Cloudflare, Quad9 + how it interacts with your VPN tunnel.

By Eric Gerard · Éditeur · NordLink Intel13 min readPhoto via Unsplash

DNS over HTTPS (DoH) encrypts your DNS queries inside generic HTTPS tunnel (port 443) instead of letting them travel plaintext on UDP/53 to your ISP's resolver. Concretely: your ISP no longer sees the list of domains you visit, your public Wi-Fi hotspot can no longer silently redirect your queries to a compromised resolver, and your corporate network operator loses fine-grained visibility into your activity. It's a significant privacy improvement — but configuring it correctly in 2026 requires understanding interactions with VPN, parental control, and the new ECH standard. Here's the step-by-step setup for Chrome, Firefox, Edge, Safari, plus comparison of the three main DoH resolvers (Cloudflare, NextDNS, Quad9) and known pitfalls.

Why configure DoH in 2026?

Classic DNS (RFC 1035, 1987) sends each domain resolution over UDP on port 53, in plaintext. When you type nordvpn.com in Chrome, your browser asks your DNS resolver (typically the ISP's: Comcast, Verizon, Spectrum, BT, Deutsche Telekom) to translate that name into an IP address. This query is readable by:

  • Your ISP (US ISPs sell anonymized browsing data since 2017; UK ISPs retain DNS logs 12 months under Investigatory Powers Act 2016).
  • Public Wi-Fi operator (café, hotel, airport — trivial passive capture).
  • Your router (consumer models log queries for built-in parental controls).
  • Your employer on corporate networks (Cisco Umbrella, Zscaler intercept UDP/53).
  • Any intermediary on the network path (trivial MITM on unencrypted UDP).

DoH (RFC 8484, 2018) solves this: the DNS query is encapsulated in HTTP/2 or HTTP/3 on port 443 (standard HTTPS), so end-to-end encrypted between your browser and the DoH resolver. To an observer on the path, it's generic HTTPS traffic indistinguishable from a Gmail or Wikipedia visit. No way to extract the list of visited domains without breaking TLS — economically and technically unrealistic at scale.

DoH does not solve all privacy problems. The destination IP remains visible (the subsequent TLS connection to nordvpn.com shows you connecting to nordvpn.com's IP — Cloudflare in this case — visible network-side). And the SNI (Server Name Indication) in the TLS handshake reveals the destination hostname plaintext by default. That's where ECH (Encrypted Client Hello) comes in — detailed below. Winning combo 2026: DoH + ECH + no-log VPN = web traffic practically anonymous against passive surveillance.

DoH setup by browser

Chrome / Edge / Brave / Opera (Chromium engine)

All Chromium-based browsers share the same DoH implementation since 2020. Setup is identical.

  1. Open chrome://settings/security (or edge://settings/privacy under Edge).
  2. Security section → find "Use secure DNS".
  3. Enable the toggle. Two options appear:
    • With your current service provider: Chrome uses DoH if system DNS supports it (rare — most consumer ISPs don't expose DoH).
    • With: manual provider selection from dropdown (Cloudflare 1.1.1.1, Google 8.8.8.8, NextDNS, Quad9, OpenDNS) or custom DoH URL entry.
  4. Choose Custom → paste DoH URL by resolver:
    • Cloudflare: https://1.1.1.1/dns-query
    • NextDNS: https://dns.nextdns.io/[your-personal-id] (ID available in your NextDNS dashboard)
    • Quad9: https://dns.quad9.net/dns-query
  5. Save. Page reloads automatically with DoH active.

Verification: go to 1.1.1.1/help. If "Using DNS over HTTPS (DoH)" shows Yes, validated. If No, check local firewall (Windows Defender, Little Snitch) that may block port 443 to Cloudflare IPs in restrictive mode.

Firefox

Firefox deployed DoH by default in the US since 2020, manually in Europe.

  1. Open about:preferences#privacy.
  2. Scroll to bottom → DNS over HTTPS Settings section.
  3. Click Enable secure DNS using → three modes:
    • Max Protection: DoH forced, fails if unavailable (recommended for privacy).
    • Increased Protection: DoH active, fallback to classic DNS if DoH fails (compromise).
    • Off: System DNS (ISP).
  4. Choose the resolver: Cloudflare (default), NextDNS, or "Custom" (enter DoH URL).
  5. Save.

Firefox has a major advantage: ECH (Encrypted Client Hello) is active by default since version 118 (October 2023). Nothing to configure — Firefox automatically negotiates ECH with Cloudflare and other compatible CDNs. To verify: about:config → search network.dns.echconfig.enabled → must be true.

Safari (macOS / iOS)

Safari doesn't support native DoH like Chrome or Firefox. Configuration happens at the system level.

macOS Sonoma/Sequoia: Install a signed DoH configuration profile.

  1. NextDNS provides a signed profile on nextdns.io after account creation. Download the .mobileconfig profile.
  2. Open the profile → System Preferences → Profiles → Install.
  3. Enter admin password. DoH profile is active system-wide, so Safari (and all apps) use it automatically.

iOS 14+: Settings → Wi-Fi → tap active network → Configure DNS → Manual → add DoH URL. Simpler: install NextDNS profile from Safari mobile, accept installation. All iOS apps then use DoH (except those forcing their own resolver — TikTok, some Chinese apps).

For Cloudflare DoH iOS: install the free "1.1.1.1" app that configures system DoH and optionally proposes WARP (Cloudflare's free VPN, not to confuse with a strict privacy VPN).

Comparison of the three dominant DoH resolvers

ResolverLocationLog policyBuilt-in filteringMedian latency EUPrice
Cloudflare 1.1.1.1US (global PoP, EU included)No-log audited KPMG 2024None (1.1.1.2 adds malware)8 msFree
NextDNSFrance/Ireland/globalNo-log default, opt-in logAds, trackers, malware, parental, custom lists12 msFree <300k req/month, $1.99/month unlimited
Quad9 9.9.9.9Switzerland (PCH consortium)Strict no-log, non-profit orgAutomatic malware18 msFree
Google 8.8.8.8US24-48h anonymized logNone25 msFree
OpenDNS FamilyUS (Cisco)Enterprise logParental, malware30 msFree personal / paid pro

Practical recommendation 2026:

  • Privacy maximalist, simplicity: Cloudflare 1.1.1.1 (fastest, KPMG audit, zero configuration).
  • Custom filtering (block ads, trackers, parental): NextDNS, free plan sufficient for personal use <300k queries/month (a normal household consumes ~50-150k queries/month).
  • Organizational trust, Swiss jurisdiction: Quad9, non-profit, no ties to US Big Tech.

To avoid for strict privacy: Google 8.8.8.8 (US jurisdiction, 24-48h log, obvious advertising commercial interest) and DoH resolvers offered by ISPs (Comcast, Verizon — log policy = ISP policy, so no privacy gain).

DoH ↔ VPN conflict: the most frequent leak in 2026

This is the #1 problem identified in DNS leak audits post-2022. When Chrome/Firefox/Edge enable DoH by default at the browser level, DNS queries exit the browser directly to Cloudflare via HTTPS, bypassing system DNS. But the VPN manages DNS at the system level (routes UDP/53 queries through the tunnel). Consequence: your HTTP/HTTPS traffic travels through the VPN, but your DNS queries travel through HTTPS direct outside the VPN — the list of domains you visit remains visible to Cloudflare (potentially logged) and to the ISP network (which sees HTTPS connections to Cloudflare alongside the VPN).

Test your situation: open dnsleaktest.com in Extended mode → if you see Cloudflare responding (not your VPN IP), browser DoH is active and bypassing the VPN. That's technically a residual DNS leak.

Three solutions by preference order:

  1. Disable browser DoH when VPN is active (Chrome settings → secure DNS → off). VPN manages DNS at OS level and tunnels all queries. Standard approach. Drawback: requires reconfiguring at each VPN/non-VPN switch.
  2. Use a VPN with native integrated DoH. NordVPN Threat Protection includes its own DoH resolver since 2024, which tunnels DoH queries inside the WireGuard tunnel — no leaks, consistent navigation. ExpressVPN and Mullvad adopted the same approach.
  3. Configure the browser on the VPN's DoH resolver (advanced). NordVPN exposes its internal resolvers on 103.86.96.X (confirm with support — IP varies by server). Not the recommended solution — too much friction.

DoH on mobile: iOS and Android

iOS 14+

Three approaches depending on the desired configuration level:

  • Per-Wi-Fi: Settings → Wi-Fi → active network → Configure DNS → Manual → add DoH URL. Drawback: per-network configuration, doesn't apply on cellular.
  • System profile (recommended): install a .mobileconfig profile from Safari mobile. Cloudflare provides 1.1.1.1 that preconfigures system-wide DoH. NextDNS generates a personalized profile from the user dashboard, including account ID and filtering rules.
  • Third-party app: 1.1.1.1, AdGuard, NextDNS app. Configure DoH at local VPN level — all iOS apps automatically use DoH.

Android 9+

Android officially uses DoT (DNS over TLS) under the "Private DNS" label in Settings → Network & Internet → Private DNS. Setup:

  1. Select Private DNS provider hostname.
  2. Enter hostname (not full URL):
    • Cloudflare: 1dot1dot1dot1.cloudflare-dns.com
    • NextDNS: [your-id].dns.nextdns.io
    • Quad9: dns.quad9.net
  3. Save. DoT active system-wide.

For strict DoH on Android (instead of DoT), install a dedicated app: AdGuard Android, NextDNS app, 1.1.1.1 by Cloudflare. They create a local VPN that intercepts DNS and sends it via DoH. Compatible with external VPN (NordVPN) via VPN chaining if the app supports it.

ECH: the complementary layer in 2026

DoH encrypts the DNS query. But once resolved, your browser establishes a TLS connection to the site's IP — and sends the SNI (Server Name Indication) in plaintext in the TLS ClientHello to indicate to the server which specific site is requested (useful for servers hosting multiple HTTPS sites). This SNI is visible to your ISP and any network intermediary, even if everything else is encrypted. Consequence: despite DoH, your ISP can reconstruct the visited site list via SNI.

ECH (Encrypted Client Hello, RFC draft 2023) fixes this flaw by encrypting the SNI itself. The ClientHello is split into two parts: an "outer" sent in plaintext (with a generic fake SNI like cloudflare.com) and an "inner" encrypted with the resolver's public key. For an observer: impossible to know which specific site is requested.

Deployment state in May 2026:

  • Firefox 118+: ECH active by default since October 2023. No configuration needed.
  • Chrome / Edge / Brave: ECH available behind flag since Chrome 117, enabled by default in Chrome 124 (April 2026). Check chrome://flags/#encrypted-client-hello → Default or Enabled.
  • Safari: ECH in preview since macOS Sequoia, progressive rollout in 2026.

Server side, Cloudflare deploys ECH across its entire CDN since 2023 (covers ~20% of the global web). Fastly and Akamai in progressive deployment. Self-hosted sites: requires Nginx 1.27+ with ECH module or experimental Caddy.

Verify ECH active: cloudflare.com/ssl/encrypted-sni. Result "Encrypted SNI" must be green. If red, check that you're using Firefox 118+ or Chrome 124+ with DoH enabled (ECH depends on DoH to retrieve the server's public key via HTTPS DNS record).

Performance and real impact

Field measurements on 1 Gbps Comcast fiber Boston, May 2026, median over 100 queries per configuration:

Average overhead is 5-13 ms per query, imperceptible to the user (DNS represents <1% of total page load time). Browser DoH cache (Chrome keeps 1000 entries 5 minutes) speeds up repeated queries beyond classic UDP DNS.

On degraded networks (cellular while mobile, saturated public Wi-Fi hotspot), DoH can paradoxically perform better than UDP DNS — UDP packets are sometimes lost without aggressive retry on saturated networks, while HTTPS benefits from native TCP retry. Saturated T-Mobile 5G measurements at peak hours: UDP DNS median 110 ms vs DoH Cloudflare 65 ms (TCP retry compensates for packet loss).

Known pitfalls in 2026

Pitfall #1 — Broken parental control. If your children enable DoH in their browser (Chrome, Firefox), DNS-based parental control (OpenDNS Family, Cleanbrowsing at router, carrier-side) is completely bypassed. 2026 solution: block DoH at router via firewall rule (Asus AiProtection, Pi-hole + dnsmasq forcing local DNS), or install family NextDNS supporting DoH with parental filtering.

Pitfall #2 — Enterprise filtering bypassed. Corporate DLP (Data Loss Prevention) and URL filtering policies rely on DNS interception. DoH enabled on employee workstations bypasses IT policy. Solution: deploy Cloudflare Gateway or Zscaler with DoH-compatible policy (corporate agent intercepts DoH instead of DNS).

Pitfall #3 — DoH blocked in certain countries. Russia, Iran, China intermittently block Cloudflare 1.1.1.1 and other public DoH resolvers. Solution: NextDNS rotating IPs, or DoH via VPN (VPN tunnels DoH, becomes invisible to country filtering).

Pitfall #4 — Conflict with Pi-hole. If you use Pi-hole to block ads at network level, browser DoH bypasses Pi-hole. Solution: configure Pi-hole with cloudflared as DoH upstream (Pi-hole becomes local DoH resolver), block browser DoH via firewall rules, and force browser to use system DNS (Pi-hole).

Pitfall #5 — Apps forcing their DNS. TikTok, certain Chinese OEM apps (Xiaomi, Huawei), banking apps with anti-MITM force their own resolver regardless of system DoH config. No clean solution — intrinsic mobile ecosystem limitation.

Recap: DoH setup in 2026

LevelToolDifficultyCoverage
Browser onlyChrome / Firefox DoH1 minuteBrowser traffic only
Mobile app1.1.1.1, NextDNS app2 minutesAll mobile apps
macOS system.mobileconfig profile3 minutesAll macOS apps
Android systemNative private DNS1 minuteAll Android apps
Local networkPi-hole + cloudflared30 minutesAll household devices
Integrated VPNNordVPN Threat Protection0 minutesAll VPN traffic

2026 recommendation: for personal use, enable browser DoH (Cloudflare or NextDNS) + combine with no-log VPN that handles DoH at tunnel level. NordVPN Threat Protection resolves DoH/VPN conflict without manual configuration. Verify ECH active on Firefox 118+ or Chrome 124+. For households with children, add family NextDNS that filters inappropriate domains while respecting DoH encryption.

★ Audit Deloitte 2024 · ✓ Garantie 30 jours · 14M+ utilisateurs (source : NordVPN press)

NordVPN with native DoH — DNS privacy without setupThreat Protection included · Deloitte 2024 audit · 30-day money back guarantee

Key takeaways

DoH isn't magical protection, it's a foundational brick of 2026 web privacy — just as HTTPS became after 2018. Encrypting DNS resolution prevents trivial passive surveillance (ISP, hotspot, employer) but masks neither IP nor SNI without ECH. Winning combo: DoH (Cloudflare or NextDNS) + ECH (Firefox 118+ or Chrome 124+) + audited no-log VPN = triple layer making personal-use surveillance practically impossible without direct device access.

Configuring DoH takes 5 minutes per browser, 0 minutes with a VPN that includes it natively. Verify parental control and enterprise filtering still work after activation. For strict privacy, disable browser DoH when a VPN already manages DNS at system level — otherwise redundant double layer that can create leaks.

Deepen DNS and browser privacy

★ Audit Deloitte 2024 · ✓ Garantie 30 jours · 14M+ utilisateurs (source : NordVPN press)

Get NordVPN30 jours satisfait ou remboursé