Skip to content

Ping Test

Ping sends ICMP echo request packets to a host and times the replies. This tool runs four probes from our server and reports the packet loss and min/avg/max round-trip times exactly as the ping binary prints them — no synthesized numbers, and an explicit answer when ICMP is filtered.

What ping measures

An ICMP echo request (type 8) goes out; the host answers with an echo reply (type 0); ping records the elapsed time. That round-trip time is the sum of the propagation delay in the fibre, the queuing and forwarding delay at every router in between, and however long the target's kernel takes to answer. What it is not is a measure of application performance — a server can answer ICMP in 12 ms while its web application takes four seconds to render a page.

Four numbers come out of a run, and each answers a different question:

  • min — the best case, closest to pure propagation delay. Over long distances it is bounded by physics: light in fibre travels roughly 200,000 km/s, so a 5,000 km path cannot round-trip faster than about 50 ms no matter what you buy.
  • avg — the number to quote and to track over time.
  • max — the worst probe. A max far above avg means something in the path buffers or deprioritises traffic in bursts.
  • mdev / stddev (jitter) — how much the times vary. For real-time traffic (VoIP, gaming, video calls) jitter matters more than average latency; a stable 80 ms is more usable than a 40 ms average that swings between 10 and 300.

When 100% packet loss does not mean "down"

This is the single most misread result in networking. A great many hosts are configured to ignore ICMP echo requests entirely — cloud security groups routinely omit ICMP from their default rules, corporate firewalls drop it as policy, and some CDNs rate-limit it aggressively. A host can serve millions of HTTPS requests a second while answering no pings at all.

Read the full explanation of ping test results ↓
Never conclude a host is offline from ping alone. Confirm with a TCP probe on a port the service actually uses — the port checker will tell you whether 443 completes a handshake even when ICMP is silent.

The reverse mistake is just as common: a host that answers ping is not necessarily healthy. ICMP is handled by the kernel and keeps working long after the application layer has fallen over. "It pings, so it is up" has misled a lot of on-call engineers.

Reading partial loss

Loss between 1% and 99% is more interesting than either extreme, and its meaning depends on where it appears:

PatternLikely causeNext step
Steady low loss (1–5%) with normal latencyICMP rate limiting on the target or an intermediate router.Usually harmless. Confirm with TCP — real traffic is often unaffected.
Loss that rises with latencyCongestion: a queue is filling and then dropping.Traceroute to find where the latency jumps.
Loss only at intermediate hops, none at the destinationRouters deprioritising ICMP directed at themselves.Ignore it. Only end-to-end loss counts.
Bursty loss with high jitterA saturated link, a flapping wireless segment, or a duplex mismatch.Check interface error counters at both ends.
100% loss but TCP worksICMP is filtered.Nothing to fix — use TCP checks for this host from now on.

Latency you should expect

Rough figures for a wired connection, useful as a sanity check rather than a target: same city, 1–10 ms; same country, 10–40 ms; cross-continent, 60–120 ms; intercontinental, 120–300 ms. Satellite is a category of its own — geostationary links start around 550 ms because of the altitude, while low-earth-orbit services land in the 25–60 ms range. Mobile networks add 20–60 ms over the equivalent fixed path.

Because this tool pings from our server, the absolute numbers describe our path to the host, not yours. Use them comparatively: ping the host in question and a known-good reference such as 1.1.1.1 from the same place, and compare. A big gap between the two is a signal; the raw value on its own is not.

The command-line equivalent

Ping is on every operating system, and the flags differ enough to be worth writing down:

# Linux: -c count, -w overall deadline in seconds
ping -c 4 -w 10 example.com

# macOS/BSD: -t is the overall timeout; IPv6 uses a separate binary
ping -c 4 -t 10 example.com
ping6 -c 4 2606:4700:4700::1111

# Windows: -n count
ping -n 4 example.com

# A long run to catch intermittent loss, with a timestamp on every line:
ping -c 600 -i 1 example.com | ts

# Continuous latency + loss per hop, the best single tool for this job:
mtr -rw -c 100 example.com
Ping from your own machine

mtr is worth installing. It combines ping and traceroute, running continuously and showing loss and latency for every hop at once, which is how you find the specific link responsible for intermittent trouble. A four-packet ping cannot see a problem that happens twice an hour; a 600-packet run can.

Where ping fits in a diagnosis

Ping answers "is there a path, and how long is it?" — nothing more. Start with DNS to confirm the name resolves to the address you expect, ping to test the path, traceroute to find where a bad path goes wrong, and the port checker to confirm the service itself is accepting connections. Skipping straight to ping and stopping there is how "the server is down" tickets get filed against servers that are fine.

Traceroute
Network path from our server to a host

Frequently asked questions

Why does ping fail for a website that loads perfectly in my browser?
The host or a firewall in front of it is dropping ICMP echo requests, which is an extremely common configuration. HTTP and HTTPS ride on TCP and are unaffected. Use the port checker on 443 to confirm the service is reachable; a successful TCP handshake is far better evidence of availability than a ping reply.
What is a good ping time?
It depends entirely on distance. Under 20 ms is excellent for a regional service, 50–100 ms is normal for a different continent, and anything under 150 ms is fine for web browsing. For gaming and voice, consistency matters more than the average — low jitter at 60 ms beats a 30 ms average that spikes to 200.
Is this measuring my connection or the server's?
Neither, strictly — it measures the path between our server and the target. To measure your own connection, run ping from your machine using the commands above. This page is useful for checking whether a host is reachable and responsive from a well-connected vantage point independent of your network.
What does the jitter number mean?
It is the mean deviation of the round-trip times: how much the individual probes differ from the average. Low jitter means a stable path. High jitter with a normal average usually indicates queuing somewhere in the path — traffic is getting through but is being buffered in bursts, which is what makes voice calls choppy.
Why do some traceroute hops show loss but the destination does not?
Routers treat ICMP addressed to themselves as low priority and often rate-limit it, so they under-report replies while forwarding your actual traffic perfectly. Loss at an intermediate hop only matters if it also appears at every hop after it, all the way to the destination.
Can I ping a hostname that only has an IPv6 address?
Yes — this tool resolves the name and uses the IPv6 stack when the address is IPv6. From a shell on Linux use ping -6, and on macOS use the separate ping6 binary, since macOS ping has no -6 flag.
Why does the tool sometimes return an error instead of numbers?
Because it will not invent them. If the ping binary is unavailable, the command times out before printing statistics, or every packet is lost, you get an explicit explanation rather than a plausible-looking latency figure. A tool that always returns numbers is not measuring anything you can trust.