How NetHealthLab works
One check measures five things about your connection, turns them into a single score, and picks the one finding that matters most. Here’s what happens during those 10 to 15 seconds.
The short version
When you tap CHECK MY INTERNET, your browser exchanges test data with the nearest NetHealthLab server on Cloudflare’s global network. It times small requests to measure latency and jitter, downloads and uploads test data to measure speed, and checks how much latency rises while the connection is busy. Your browser then calculates the score and the finding itself. Nothing needs installing and you don’t need an account.
Step 1: Connecting
The check starts by opening a secure connection to our server and sending a couple of small warm-up requests. Cloudflare’s network routes you automatically to one of its nearby data centres, so the server you measure against is usually close to you in network terms. Setting up the connection is kept out of the measurements that follow.
Step 2: Latency and jitter
Next, your browser sends 20 tiny requests, one after another, while nothing else is happening on the connection. For each one it measures the round trip: how long the request takes to reach the server and the reply to come back. The time the server spends handling the request is subtracted, so the number reflects the network rather than our server.
- Latency is the median of those round trips, so a single slow request doesn’t distort it.
- Jitter is how much the round-trip times vary from one request to the next. Steady is better.
Step 3: Download
Your browser then downloads test files of increasing size, starting at 100 KB and stepping up to as much as 100 MB. On slower connections the check stops at smaller files once each transfer takes longer than about a second, so it doesn’t drag on. Each transfer is timed, and the download speed we report is the 90th percentile of those measurements: a figure that reflects what the connection can sustain rather than its slowest moments.
The files are random filler text generated by our server. They contain nothing meaningful and aren’t saved anywhere.
Step 4: Latency under load
While the larger downloads are running, the check keeps sending small latency requests in the background. Comparing those round trips with the quiet-connection latency from step 2 shows how responsive your connection stays when it’s busy. The result screen shows this as loaded latency, together with how much it rose compared with idle.
This is often the most revealing number. A connection can be fast and still feel sluggish if latency shoots up whenever someone starts a large download or upload, an effect sometimes called bufferbloat. If there weren’t enough suitable samples to measure it reliably, the result screen says so and the score is calculated without it.
Step 5: Upload
Upload works differently, because browsers don’t report upload progress reliably. Your browser runs four upload streams side by side. Each stream sends blocks of test data one after another, starting at 64 KB and doubling the block size (up to 16 MB) whenever a block goes through in under 0.3 seconds. That lets fast connections reach full speed quickly while slow connections still complete plenty of blocks.
The first second is a warm-up. Upload speed is then measured over the next four seconds, counting only data the server has confirmed it received. Blocks that started before or finished after that window count in proportion to the time they spent inside it. The uploaded data is blank filler generated by your browser; it isn’t your content, and the server discards it as soon as it arrives.
Step 6: Score and finding
Once the measurements are in, your browser turns each one into a sub-score, combines them into the Internet Health Score from 0 to 100, and chooses a single finding with one suggestion about what to try. The calculation happens on your device, and the results aren’t sent to us or stored on our servers. Understanding your results explains the scoring and every finding in detail.
How long it takes and how much data it uses
On a typical fast connection a check takes about 10 to 15 seconds. Slow or unstable connections can take longer, up to about a minute. If a check can’t finish, you’ll see a message instead of a score.
Because the check moves real data, it uses more on faster connections: several hundred megabytes on a very fast line, and much less on slower ones. The result screen shows roughly how much your check used. If you pay for mobile data, keep this in mind before running checks repeatedly.
Why results differ from other speed tests
It’s normal for different speed tests to disagree, sometimes by a lot. They measure to different servers in different places, run for different lengths of time, and summarise their measurements in different ways: some report a peak, others an average. Our upload figure is deliberately conservative because it only counts data the server has confirmed. Mobile networks add another layer, since their speed can change within minutes. To compare tools fairly, run each a few times, one straight after the other.
Getting a reliable result
- Keep the page open and in front. Browsers slow down pages in background tabs, so the check stops if you switch away, rather than show a misleading result.
- Pause other heavy use on your network, such as large downloads, cloud backups or game updates, unless you want to see their effect.
- Check more than once. One result is a snapshot. Two or three in a row show whether it’s consistent.
- Compare locations. A check next to your router and another where you normally sit shows how much your Wi-Fi coverage matters.
What a browser can’t measure
A web page can only see how data moves between your device and our server. It can’t read your Wi-Fi signal strength, inspect your router’s hardware or settings, see other devices on your network, or tell exactly where along the path a slowdown happens. Our findings are therefore careful: they describe what the measurements suggest and offer something practical to try, rather than claiming a definite cause.
The technology
The latency and download measurements use an open-source speed test engine published by Cloudflare, running in your browser and pointed at our own servers; its option to report results to Cloudflare is switched off. The upload method, the scoring and the findings are our own. The site runs on Cloudflare’s network. It’s built for current browsers on phones, tablets and computers, and we test it with Chrome and Safari.
Ready to see how your connection is doing?
CHECK MY INTERNET