NetDetectHubGet the app

Home / Tools

Internet speed test

Measure your download, upload, latency and jitter against Cloudflare's network, then see what the numbers are enough for. Nothing runs until you press the button.

Takes about 30 seconds. On a fast connection it can use up to about 270 MB of data.

How to use it

  1. Pause other downloads, streams and video calls on your network. Use a cable if you want to test the line rather than the Wi-Fi.
  2. Press Start the test and keep the tab open while it shows Measuring… keep this tab open.
  3. When Test finished appears, read the four big numbers and the Is it enough for… table.
  4. Press Run it again two or three times, then Copy as text to keep a dated record.

How the test measures

The page runs Cloudflare's open-source engine, @cloudflare/speedtest, in your browser. It downloads from and uploads to speed.cloudflare.com, starting with 100 kB requests and stepping up through 1 MB and 10 MB to 25 MB. In each direction it stops stepping up once single requests take about a second, so slower lines never get the big files. Timings come from the browser's own resource-timing data.

Download and Upload are the 90th percentile of all transfers, so a few slow requests during ramp-up don't drag the figure down. Latency (idle) is the median of a series of tiny requests with nothing else running. Jitter is the average difference between one latency measurement and the next.

How much data it uses

On a fast line the full sequence moves about 170 MB down and 97 MB up, most of it in the 25 MB steps. On slower lines the test stops before the largest files and uses far less. On a metered mobile plan, keep that in mind before you press Run it again.

Speeds are shown in megabits per second (Mbps); data plans count megabytes. One byte is 8 bits, so a 100 Mbps line moves at most 12.5 MB per second.

Is it enough?

Recommended speeds from the services' own help pages
UseDownloadUploadSource
HD (720p) streaming3 Mbps–Netflix
Full HD (1080p) streaming5 Mbps–Netflix
4K (UHD) streaming15 Mbps–Netflix
Zoom one-to-one call, 1080p3.0 Mbps3.8 MbpsZoom
Zoom group call, 720p1.8 Mbps2.6 MbpsZoom
Zoom audio only60–80 kbps60–80 kbpsZoom

The figures are per stream or per person, so add them up for a household. Two 4K TVs plus a 1080p call need about 33 Mbps down (15 + 15 + 3.0) and 3.8 Mbps up. The table on your result marks each use Enough or Too slow.

Latency under load and bufferbloat

The engine also measures latency while it downloads and uploads. If Latency while downloading is more than 100 ms above the idle figure, the page warns Latency rises a lot under load (bufferbloat). Bufferbloat means the router or modem queues too much data, so one big download delays everything else: calls break up and games lag while raw speed looks fine. Queue-management algorithms such as FQ-CoDel (RFC 8290) were built to fight it, and many routers offer one as an SQM or Smart Queue setting.

Why results differ from other tests

  • Different servers: this test measures to the nearest Cloudflare data centre; other tests measure to their own servers, sometimes inside your ISP's network.
  • Wi-Fi: distance, walls and interference often limit speed before the line does. A cabled test separates the two.
  • Other devices: a phone uploading photos competes for the same upload capacity.
  • Timing: evening peaks on shared networks can lower results. Test at different times before drawing conclusions.

Questions

Why is my result lower than my plan?
A plan states the most the line can carry. Wi-Fi, an older router, other devices and the test server all reduce what one browser tab measures. Test on a cable with nothing else running before you contact your ISP.
Why is upload so much lower than download?
Many cable, DSL and mobile plans are asymmetric by design, giving most capacity to downloads. Upload matters for video calls, cloud backups and sending large files.
Does the test measure packet loss?
No. The engine can measure packet loss through a TURN relay, but that's optional and not set up here.
The page says it couldn't reach Cloudflare's speed servers. What now?
An ad or privacy blocker may be blocking speed.cloudflare.com. Allow it for this page, check your connection, and press Run it again.
Who sees my results?
This site doesn't store them. Cloudflare's engine documentation states that results are collected by Cloudflare when a test finishes, to calculate aggregated statistics about internet quality.

Sources ·

Results come from public DNS, registry and certificate data and from checks run from Cloudflare's network at the moment you ask. They can differ from what another network sees. How our tools work · Terms of use.