Simple DoH Latency Tester
Measure network latency and DNS resolution performance of public DoH resolvers — directly in your browser.
A fully client-side, privacy-respecting tool for benchmarking DNS-over-HTTPS (DoH) and JSON-based DNS services. No data leaves your browser. No tracking. No backend required.
- Dual-layer testing
- ✅ Network latency:
HEAD/GETround-trip time to each resolver - ✅ DNS resolution: Validates correctness using your domain(s)
- ✅ Network latency:
- Smart batching
Automatically processes servers in batches of 5 to avoid browser throttling and respect public resolver resources. - Real-time UI
Live-updating results with color-coded, proportional progress bars:- 🟢 Green (≤ 50 ms): Excellent
- 🟡 Yellow (51–150 ms): Acceptable
- 🔴 Red (> 150 ms): Poor
- Flexible input
- Test a single domain (default:
example.com) - Or upload a
domains.txtfile for extended validation
- Test a single domain (default:
- Zero dependencies
Pure HTML/CSS/JS — deploy anywhere: GitHub Pages, Netlify, local filesystem. - Privacy by design
All logic runs in-browser. No telemetry. No analytics.
git clone https://github.com/viktor45/race.git
cd raceSimply open index.html in any modern browser (Chrome, Firefox, Safari, Edge).
💡 Project structure: Code is organized in
src/(JS/CSS),data/(txt files),images/(icons), withindex.htmlin root.
💡 Hosting tip: Deploy to GitHub Pages in seconds:
- Go to Settings → Pages
- Set source to Deploy from a branch
- Select
mainand/root
-
(Optional) Prepare a
servers.txtfile with DoH URLs (one per line):https://1.1.1.1/dns-query https://8.8.8.8/resolve https://dns.google/dns-query
-
Choose a domain to test:
- Enter manually (e.g.,
example.com) - Or upload
domains.txt(one domain per line)
- Enter manually (e.g.,
-
Click Start Test
-
Interpret results:
- Left: Resolver URL
- Right: Network latency (ms)
- Progress bar: Visual performance indicator
- Tooltip: Hover over latency to see DNS status (
✅ DNS OK/⚠️ DNS failed)
-
Export: Click Export CSV to save results
If no servers.txt is provided, the tool uses a curated list of 200+ public DoH servers from the curl DoH wiki, including:
- Cloudflare (
1.1.1.1) - Google (
8.8.8.8) - Quad9 (
9.9.9.9) - AdGuard, NextDNS, ControlD, Mullvad, and 150+ others
✅ All entries support the standard
/dns-queryor/resolveendpoints.
| Component | Technology |
|---|---|
| Frontend | Vanilla JavaScript (ES6+) |
| Styling | CSS with native dark/light mode |
| DNS Query | RFC 8484-compliant (POST with application/dns-message) |
| JSON API | Google/Alibaba-style /resolve |
| Concurrency | Batched execution (max 5 concurrent requests) |
| Output | CSV export |
This project is licensed under the GPL-3.0 license — see LICENSE for details.
- Public DoH server list: curl/curl Wiki — DNS-over-HTTPS
- Icons: Material Symbols
- Inspiration: dnsleaktest.com, browserleaks.com
🔒 Your privacy matters. This tool never sends your data anywhere.
🚀 Test fast. Test fair. Test privately.