← Back to about

How we measure your speed

No cherry-picked servers. No thumb on the scale. Here's exactly what happens when you click “Run a speed test.”

The infrastructure

Transfer tests run through a Cloudflare Worker, not our server. The Worker runs at the Cloudflare location geographically closest to you — typically within 50 miles. This matters because the test measures the connection between you and the internet, not between you and a machine we happen to rent.

Ookla's model lets ISPs host their own test servers. A well-placed ISP server can make a throttled connection look faster than it is. We don't give ISPs that option.

Warmup phase

Before timing starts, we open 8 parallel connections and push 1 MB of data through them without recording anything. This saturates TCP slow-start and gives your connection time to ramp to its real capacity.

Without warmup, the first few seconds of a test show artificially low speeds — TCP is still negotiating how fast to go. Most speed tests skip this step. We don't.

Download measurement

We open 8 parallel download streams and sample throughput every 500 ms for up to 10 seconds.

Early exit: if the last 4 samples are within 15% of each other, the result has stabilised and we stop early. Fast connections finish in 3–4 seconds. You don't wait 10 seconds for a result that's already clear.

Sample trimming: we discard the bottom 25% of samples — the ones collected while TCP was still ramping up. The remaining samples are averaged to produce your download speed. This is the same approach Ookla uses, which means our numbers are comparable to theirs while still being honestly measured.

Upload measurement

We send 4 parallel upload streams of 256 KB each, up to 10 seconds. Upload is simpler than download: total bytes sent divided by elapsed time, with no sample-by-sample trimming needed since there's no slow-start equivalent on the upload side.

Latency and jitter

We send 3 ping requests to our server and record the round-trip time for each.

  • Latency is the median of the 3 samples — more stable than a single reading and not skewed by an outlier.
  • Jitter is the difference between the highest and lowest sample. It measures variability, not just speed. A connection with 20 ms latency and 18 ms jitter is far worse for video calls than one with 40 ms latency and 2 ms jitter — jitter is the number most tools don't show you.

What we don't do

  • We don't let ISPs host test servers that make their own networks look faster.
  • We don't adjust or weight results based on your ISP or location.
  • We don't store your raw IP address — it's SHA-256 hashed before it touches our database.
  • We don't sell your results, individually or in aggregate.
Run a speed test →

Questions about the methodology: sloth@internetsloth.com