Our method

How our speed test works

A speed test sends real data between your device and a server and times it. Here is exactly what TestSpeed.app does, which servers it uses, and what it can and can't tell you.

Under 30 seconds

The steps of a test

  1. Find a server

    We ask M-Lab for the nearest available test server. If M-Lab can't be reached, we use our own server in Singapore and mark the result "fallback".

  2. Ping and jitter

    About ten small requests measure how long a round trip takes and how much that time varies.

  3. Download

    The server sends data as fast as your connection allows. The first second is left out, because every connection starts slowly before reaching full speed.

  4. Upload

    Your browser sends data back the same way.

  5. Latency under load

    During the download and upload we keep sending small pings. The difference from the idle ping is your bufferbloat grade.

Every result names its server

Our two test servers

M-Lab

Default

An open measurement platform with servers in many countries, run by a consortium of research and industry partners. It uses one connection per direction, which reflects what a single download sees.

Used
By default, nearest available server
Connections
One per direction
Results
Published by M-Lab as open data

TestSpeed Singapore

Fallback

Our own server. It uses four to six parallel connections and is used when M-Lab is unavailable, or when you choose it in the test settings. Every result shows which server measured it.

Used
When M-Lab is unavailable, or chosen in settings (⚙)
Connections
Four to six in parallel
Limit
Measures up to about 1 Gbps

Ping, jitter and latency under load are measured to the nearest Cloudflare location for both servers, so the bufferbloat grade compares like with like.

Please read

M-Lab and open data

When a test runs on M-Lab, M-Lab receives the test data and your IP address, and publishes the results as open data for research — that is part of how M-Lab works. Read M-Lab's privacy policy for details. If you prefer that your test is not published, choose TestSpeed Singapore in the test settings (⚙).

Lag under load, A to F

Bufferbloat grades

The grade compares your idle ping with the higher of the two "loaded" pings (during download or upload):

GradeExtra latency under loadWhat it means
AUnder 30 msCalls and games stay smooth while others download
B30 – 60 msSmall lag during heavy use
C60 – 200 msVideo calls may stutter when someone downloads
D200 – 400 msGaming and calls suffer under load
F400 ms or moreThe connection jams under load

Want just this number? The bufferbloat test runs the same measurement on its own.

Honest numbers

Accuracy and known limits

  • Every test measures one path

    A different server, city or time of day gives a different number. Run a few tests and look at the typical result.

  • Single connection on M-Lab

    On very fast or very long-distance connections, one connection may not reach the full line speed. If you think the result is low, try TestSpeed Singapore in settings.

  • Our server's limit

    Our own server can measure up to about 1 Gbps. When a result is close to that, we tell you.

  • Wi-Fi and devices

    Wi-Fi, an older device or a busy browser can be slower than your line. A cable gives the most accurate result.

  • We don't measure packet loss

    We only report what we actually measure.

Your data

What we keep

Your recent results are saved in your browser. To make share links work we save the speeds, latency, grade, server and device type, plus the internet provider and approximate city looked up from your IP address — but never the IP address itself. Results are deleted after 24 months. See the privacy policy.

In your browser only

  • Your recent results

On our server, for share links

  • Speeds, latency and grade
  • Server and device type
  • Internet provider and approximate city
  • Deleted after 24 months

Never kept

  • Your IP address

See it for yourself

Free, no sign-up, under 30 seconds.

Run a speed test