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
-
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".
-
Ping and jitter
About ten small requests measure how long a round trip takes and how much that time varies.
-
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.
-
Upload
Your browser sends data back the same way.
-
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
DefaultAn 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
FallbackOur 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):
| Grade | Extra latency under load | What it means |
|---|---|---|
| A | Under 30 ms | Calls and games stay smooth while others download |
| B | 30 – 60 ms | Small lag during heavy use |
| C | 60 – 200 ms | Video calls may stutter when someone downloads |
| D | 200 – 400 ms | Gaming and calls suffer under load |
| F | 400 ms or more | The 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.