NetCheckPro

Method

How NetCheckPro measures your connection

A speed test is only useful if you know what it measured. This page explains what happens when you press the button, what each number means, how numbers become a verdict, and where a browser test falls short. When you are ready, run the test.

Last updated: 2 October 2026

The short version

  • It runs Cloudflare’s open-source test engine in your browser and measures your connection to the nearest Cloudflare server.
  • It reports download, upload, latency, jitter and bufferbloat. It does not measure packet loss.
  • A run takes about 20 seconds, never longer than 45 seconds, and uses up to about 186 MB of data.
  • Your results stay in your browser. They are not sent back to Cloudflare, or to us.

What happens when you run the test

  1. Your browser connects to a Cloudflare speed-test server near you. Nothing is installed.
  2. It sends 26 quick round trips carrying no data, to time how long each reply takes. That gives your idle latency, and how much those times vary is your jitter.
  3. It downloads files that start small and get bigger, and stops as soon as it has a reliable reading. No single transfer is larger than 25 MB.
  4. It does the same for upload.
  5. While the connection is busy with those transfers, it keeps timing round trips. The extra delay compared with idle is your bufferbloat.
  6. NetCheckPro compares the numbers with targets for each use, such as Zoom, Teams and gaming, and shows a verdict.

A typical run takes about 20 seconds. If your connection is slow or congested it can take longer, and at 45 seconds it stops and reports what it has measured, as long as latency, download and upload were all captured. Data use is up to about 186 MB in the worst case, which only happens on very fast connections where every planned transfer runs.

What each number means

What each result means and how it is measured
ResultWhat it tells youHow NetCheckPro measures it
DownloadHow fast data arrives. It matters for streaming, downloads and the video you receive.Files of increasing size are downloaded. The reading comes from the faster requests, so one slow request does not drag it down.
UploadHow fast data leaves your device. It matters for your own video, screen sharing and backups.The same method, in the other direction.
LatencyThe delay of a round trip to the server, in milliseconds. Often called ping.The median of 26 round trips with nothing else running. The server’s own processing time is subtracted using its timing header, so the figure reflects the network, not Cloudflare’s computer.
JitterHow much latency changes from one reply to the next. It matters for calls and games.The average difference between consecutive idle latency samples.
BufferbloatExtra delay when your connection is busy. A router queue that fills up makes calls and games lag while someone uploads or streams.Latency measured during the download and upload steps, compared with idle. We use the worse of the two directions.
Packet lossData that never arrives.Not measured. A browser cannot send the raw packets this needs. The packet loss test page shows how to measure it with ping.

Jitter and bufferbloat are the two numbers a normal speed test leaves out, and they are the usual reason a call sounds robotic or a game lags while the speed test looks fine. The jitter guide explains what good jitter looks like.

Bufferbloat grades

The grade is the extra delay measured while your connection is busy. The bands follow the widely used scale from Waveform’s bufferbloat test. You can try it on the bufferbloat test page.

Bufferbloat grades and what they mean
GradeExtra delay when busyWhat it feels like
A+under 5 msDelay stays flat under load. Nothing to fix.
A5 to 30 msBarely noticeable. Calls and games stay smooth.
B30 to 60 msOccasional lag spikes when the line is busy. Usually fine.
C60 to 200 msNoticeable lag in calls and games while someone uploads or streams.
D200 to 400 msCalls and games struggle whenever the connection is busy.
F400 ms or moreSevere. Anything real-time breaks when the line is busy.

If the test cannot load your connection enough to measure this, which can happen on very fast lines, bufferbloat is left out rather than guessed.

How numbers become a verdict

Each use case has its own targets. Starting from 100, points come off for every measurement that misses its target, and more for a poor result than for a borderline one. A score of 80 or more is Good, 55 to 79 is Weak, and below 55 is Poor. The overall verdict is the worst of the five.

Verdict targets for each use case
Use caseDownloadUploadLatency good / poorJitter good / poorBufferbloat good / poor
Zoom readiness5 Mbps3 Mbps50 / 120 ms10 / 20 ms30 / 100 ms
Teams readiness5 Mbps3 Mbps60 / 130 ms15 / 25 ms30 / 100 ms
Gaming readiness15 Mbps3 Mbps40 / 70 ms5 / 15 ms15 / 50 ms
Streaming readiness25 Mbps1 Mbps100 / 250 ms30 / 60 ms100 / 300 ms
VPN suitability20 Mbps5 Mbps80 / 180 ms20 / 40 ms50 / 150 ms

Download and upload are minimums. For latency, jitter and bufferbloat the first figure is the good limit and the second is the poor limit; between them is borderline.

These are our own readiness settings, informed by vendor guidance, not vendor requirements. Where Microsoft, Cisco and others publish figures, we cite them in the Teams guide and the jitter guide.

Why results differ from other tests

  • Different servers. A test measures the path to its own server. Ours measures the path to the nearest Cloudflare server.
  • Different methods. Tests differ in how many connections they open, how long they run and how they pick the final number.
  • Your connection moves. Wi-Fi conditions, other devices and the time of day all change from minute to minute.
  • Browser overhead. A page in a browser tab is not a dedicated measuring tool.

Expect the same ballpark, not identical numbers. A big gap usually means something on your side changed between the two tests.

What a browser test cannot do

  • Measure packet loss. The results say “not measured” instead of guessing. Use the ping commands on the packet loss test page.
  • Measure the whole path. It tests your connection to Cloudflare. A fault inside one app’s own servers will not show.
  • Separate Wi-Fi from your provider. Over Wi-Fi, the result includes Wi-Fi. Test again with an Ethernet cable to isolate it.
  • Reach full gigabit speeds. To limit data use, no transfer is larger than 25 MB, so on very fast connections the result may read lower than the true speed.
  • Catch an intermittent problem. It is one moment in time. Run it when the problem is happening.

How to get a more accurate result

  1. Use an Ethernet cable, or stand near the router if you are on Wi-Fi.
  2. Pause downloads, updates, cloud backups and streams on every device.
  3. Turn off your VPN, unless the VPN is what you want to test.
  4. Run the test three times and compare the results.
  5. Test at the time of day the problem happens.

What happens to your results

The test talks to Cloudflare’s speed-test servers only. Your results are calculated in your browser and are not sent back to Cloudflare or to our servers. If you accept analytics, we record only the overall verdict, a score, the bufferbloat grade and the page you were on. The details are in the privacy policy.

The engine is Cloudflare’s: see its project page. The interpretation, meaning the targets and verdicts above, is ours.

Sources

Figures attributed to a vendor come from the pages below. Thresholds marked as NetCheckPro guidelines are our own rules of thumb, not an industry standard.

  1. Cloudflare speed test engine (@cloudflare/speedtest) – The open-source (MIT) measurement engine this test runs in your browser.
  2. RFC 3550: RTP, a transport protocol for real-time applications – IETF. The formal definition of jitter for real-time media. Our idle jitter is a simpler measure: the average change between consecutive latency samples.

How we measure: quick answers

The short version of everything above, plus the questions people ask most.

What it measures

  • Download and upload speed.
  • Idle latency and jitter.
  • Bufferbloat: extra delay when the line is busy.

What it does not

  • Packet loss: a browser cannot measure it.
  • Your path to anything other than Cloudflare.

Frequently asked questions

How accurate is NetCheckPro’s speed test?

Close to other browser tests. In our own checks against command-line downloads on the same connection, download speed and idle latency agreed to within about 20%. It measures your path to the nearest Cloudflare server, so treat it as a good estimate, not a certified measurement.

Why is my result different from Ookla or fast.com?

Each test measures the path to its own servers, with its own method for choosing the final number. Expect the same ballpark, not identical figures. A big gap usually means something on your side changed between tests, such as Wi-Fi conditions or another device using the line.

Does the test measure packet loss?

No. A browser cannot send the raw packets that measuring loss needs, and the results say “not measured” rather than guess. To count lost packets, run ping -n 100 1.1.1.1 on Windows or ping -c 100 1.1.1.1 on macOS and Linux and read the loss figure.

How much data does the test use?

Up to about 186 MB, reached only on very fast connections where every planned transfer runs. No single transfer is larger than 25 MB. Use Wi-Fi rather than a metered mobile plan if you are unsure.

Does NetCheckPro see or store my results?

No. The numbers are worked out in your browser and are not sent back to Cloudflare or to our servers. If you accept analytics, we record only the overall verdict, a score, the bufferbloat grade and the page you were on.

How long does the test take?

About 20 seconds. On a slow or congested connection it can take longer, and at 45 seconds it stops and reports what it has measured, as long as latency, download and upload were all captured.

What is bufferbloat and why grade it?

Bufferbloat is the extra delay that appears when your connection is busy, caused by a router queue that fills up. It makes calls and games lag while someone uploads or streams, even when your speed looks fine. The grade shows how much delay was added.

Can I trust the Teams and Zoom verdicts?

Treat them as a readiness check. The targets are our own settings, informed by vendor guidance, not vendor requirements. During a real problem, the call-quality screens inside Teams and Zoom are better evidence than any browser test.