Fixed and maintained by Farzad Doosti
A lightweight Windows Batch script that checks your internet stability by pinging 10 of the most reliable, widely-used public DNS servers and reports color-coded latency and jitter for each one.
Instead of relying on a single checkpoint, this tool gives you a broader look at your network's status.
- Multi-Target Ping: Tests Google, Cloudflare, Quad9, Cisco OpenDNS, AdGuard, Yandex.DNS, DNS.WATCH, CleanBrowsing, Comodo Secure DNS, and Alternate DNS.
- Fast Diagnostics: Uses a short 1200ms per-packet timeout instead of Windows' default 4000ms,
so an unreachable server is reported
OFFLINEmuch faster. - Color-Coded Latency:
- 🟢 Green — average latency under 70 ms (excellent)
- 🟠 Orange — average latency between 70–200 ms (acceptable)
- 🔴 Red — average latency above 200 ms (poor)
- Jitter / Stability Check: measures how much the round-trip time varies between
consecutive pings, not just the average — a connection can have a "good" average
latency and still feel unstable if jitter is high.
- 🟢 Green — jitter under 10 ms (very stable)
- 🟠 Orange — jitter 10–30 ms (noticeable variation)
- 🔴 Red — jitter above 30 ms (unstable)
- Neon "ONLINE" indicator: the online/offline status is always shown in a distinct phosphor-green color, separate from the latency color, so the two never get mixed up.
- No Installation: Pure Windows Batch script, zero dependencies.
| Provider | IP |
|---|---|
| Google DNS | 8.8.8.8 |
| Cloudflare DNS | 1.1.1.1 |
| Quad9 DNS | 9.9.9.9 |
| Cisco OpenDNS | 208.67.222.222 |
| AdGuard DNS | 94.140.14.14 |
| Yandex.DNS (Basic) | 77.88.8.8 |
| DNS.WATCH | 84.200.69.80 |
| CleanBrowsing (Security) | 185.228.168.9 |
| Comodo Secure DNS | 8.26.56.26 |
| Alternate DNS | 76.76.19.19 |
All test behavior is controlled by variables at the top of ping_tool.bat — edit these directly,
no need to touch the rest of the script:
| Variable | Default | Meaning |
|---|---|---|
PING_COUNT |
6 |
Packets sent per server. More packets = more accurate jitter, but slower. |
PING_TIMEOUT |
1200 |
Per-packet timeout in ms before a lost packet is assumed. |
GOOD_MAX |
70 |
Latency (ms) below this is shown green. |
OK_MAX |
200 |
Latency (ms) above this is shown red; between GOOD_MAX and this is orange. |
JITTER_GOOD_MAX |
10 |
Jitter (ms) below this is shown green. |
JITTER_OK_MAX |
30 |
Jitter (ms) above this is shown red; between the two is orange. |
- Download
ping_tool.bat. - Double-click the file to execute (or run it from
cmd.exe). - Review the terminal output: each server shows
ONLINE/OFFLINEplus color-coded average latency and jitter. - At the end, press
Rto run the test again, orQto quit.
- The script matches the English string
Averageandtime=/time<1msinping's output. On a non-English Windows locale (e.g. a Persian-language Windows install),ping's output text is translated and the script will report every server asOFFLINEeven though it's reachable. If this happens, run the script inside an English-localecmd.exe. - Some antivirus/Defender tools may flag
.batfiles for creating temp files or making network calls. This is a common false positive for batch scripts — the full source is open here for review.
- v1.5.0 — Added a repeat-test loop: after the results and credit line, the script
now shows
Press [R] to run the test again, or [Q] to quit. PressingRre-runs the full test without closing and reopening the window; pressingQexits. Implemented with a simple top-level label andchoicecommand (nogotoinside nestedifblocks) to avoid the label-lookup crash from an earlier internal experiment. - v1.4.1 — Reduced ping timeout from the Windows default (4000ms) to 1200ms so offline servers are detected faster. Added a maintainer credit line at the end of the output.
- v1.4.0 — Expanded from 5 to 10 DNS targets (added Yandex.DNS, DNS.WATCH, CleanBrowsing, Comodo Secure DNS, Alternate DNS). Verisign was intentionally excluded — the free service was discontinued in 2025.
- v1.3.0 — Added Jitter measurement (mean absolute difference between consecutive round-trip times), with its own independent color coding. Increased packets per server from 2 to 6 for accurate variance calculation.
- v1.2.0 — Fixed a startup crash caused by an unescaped
&in the window title. Fixed a latency-parsing bug where a trailing comma made Windows'IFfall back to string comparison instead of numeric, causing latency colors to be wrong. Refactored 5 duplicated blocks into a single:TestDNSsubroutine. - v1.1.0 — Added ANSI color coding for latency thresholds and ONLINE/OFFLINE status.
- v1.0.2 — Added average round-trip latency measurement per server.
- v1.0.1 — Expanded from a single Google DNS ping to 5 major public DNS servers.
- v1.0.0 — Initial release.
This project is open-source and available under the MIT License.