Internet Speed Test: Download, Upload and Latency
Measure your download and upload speed, latency and jitter in 10 to 20 seconds over Cloudflare's network, with the data used shown and no result sent anywhere.
Related tools
All Web & network tools →Your broadband deal promises 500 Mbps, video calls freeze every evening, and you can't tell whether to blame the provider, the Wi-Fi or the laptop. A speed test won't settle that on its own, but it gives you figures to compare. This one goes further than a single big number: it flags when a speed is only a floor, turns the result into practical answers (Netflix in HD or 4K, Zoom at 1080p) and works out how long a 1 GB or 5 GB file would take to download. Run one test over Wi-Fi from the room where things stall, then another with a cable plugged into the router: the gap between the two often says more than either figure on its own.
How to use it
- Pause whatever is using the connection (downloads, backups, videos on other devices), then click “Start the test”.
- Keep the tab visible until the end: the title shows the current phase, “Latency”, “Download speed” or “Upload speed”, and the step counter (21 steps in the standard test) may jump past the steps of a direction that has already settled. If the tab goes to the background, the test stops.
- Read the four cards under “Result”: “stabilized” under a speed means its largest requests lasted more than a second; “at least”, with the ≥ sign, means your connection may be faster than the figure shown.
- If a speed reads “at least”, click “Extended test”: it starts again from the beginning and adds 50 MB requests, up to 380 MB in total.
- Check “Fast enough for…” and “Download time”, then open “Measurement details”: latency under load, number of requests and pings, test duration and data used.
- Click “Copy” to keep the dated result, then “Run again” to compare, for example over a cable instead of Wi-Fi.
What the test really measures, and how
When you click, your browser loads Cloudflare's open-source measurement engine, then swaps blocks of data with its measurement servers, in whichever data centre Cloudflare's network routes your connection to, usually one of the closest to you. Requests go out one after another in steps of growing size, from 100 kB to 25 MB, alternating download and upload with pings in between. Each direction stops as soon as every request in a step has taken more than a second, so a slow line never gets the big blocks and uses far less data.
Each speed is the 90th percentile of the measurement requests that lasted 10 ms or more: a high value, barely dragged down by small requests slowed by latency, yet not simply the fastest one. The arithmetic leans cautious: on download, the time counted includes latency; on upload, it includes the server's processing time. Latency is the median of 15 pings, empty requests with the processing time reported by the server taken off; jitter is the average gap between one ping and the next. During steps whose requests last at least 250 ms, extra pings sent alongside give the latency under load.
That leaves the question of whether the line was pushed to its limit. If a direction's largest requests lasted more than a second, its speed is marked “stabilized”. If not, even the 25 MB blocks went through too fast, and the figure, shown after a ≥ sign, reads “at least”. That happens above roughly 200 Mbps; the extended test, with its 50 MB blocks, pushes the threshold to around 400 Mbps. Nothing appears before the end: stopping, hiding the tab, an error or 30 seconds without a finished request leave the cards without a value.
When measuring your connection really helps
- Holding your line up against your deal: plug the computer into the router with a cable, leave other devices idle and test at several times of day; a speed that only drops in the evening points to a congested network rather than faulty equipment.
- Working out why video calls freeze: look at upload speed and jitter, then at the “Zoom 1080p video” row, which asks for 3.8 Mbit/s up; what runs short is often sending, not receiving.
- Finding out whether Wi-Fi is the culprit: test a couple of metres from the router, then in the room where the connection fades; if only the second figure collapses, it's the wireless coverage that needs work, not the broadband plan.
- Choosing, before an important call, between your phone's 4G or 5G hotspot and a hotel or train Wi-Fi, bearing in mind that one test can use around 15 MB on 4G at 30 Mbit/s and up to about 170 MB on very fast 5G.
- Planning a big download, whether a game, a system update or a backup, with the “1 GB file” and “5 GB file” cards, worked out from the measured download speed.
- Keeping a record before calling your provider's support line: “Copy” puts the date of the test, both speeds, latency and jitter on your clipboard, ready to paste into a message.
Worked examples, computed with the tool's own functions
The speeds below are picked for illustration; they are not measurements. The times, verdicts and volumes are what the screen would show, computed with the tool's own code.
- Download at 50 Mbit/s, marked “stabilized”: the “1 GB file” card shows 2 min 40 s and the “5 GB file” card 13 min 20 s. With 10 Mbit/s up, all three rows of “Fast enough for…” say yes.
- Download shown as ≥ 200 Mbit/s, with “at least”: the times become upper limits, marked ≤, so 40 s for 1 GB and 3 min 20 s for 5 GB. If the extended test then settles the speed at 300 Mbit/s, the two cards change to 27 s and 2 min 13 s.
- 12 Mbit/s down and 1 Mbit/s up, both marked “stabilized”, as on many ADSL lines: Netflix in HD 720p gets a yes, Netflix in 4K a no, short of 15 Mbit/s, and Zoom 1080p video a no because of the upload, far below 3.8 Mbit/s. A 1 GB file takes 11 min 7 s.
- Data: on a very fast connection, all 21 steps run and exchange 161.2 MB of blocks, announced as about 170 MB once protocol headers are counted; the extended test goes up to 361.2 MB, announced as 380 MB. On 4G at 30 Mbit/s down and 8 Mbit/s up, download stops after the 5 MB step and upload after the 1 MB step: 13.7 MB, announced as around 15 MB.
What this test cannot tell you
- The figure is not the speed written in your contract: the measurement runs through your Wi-Fi, your device, whatever else the household is doing and the route to Cloudflare's data centre. A low figure points to a slow link somewhere, without saying which.
- Above roughly 200 Mbps in the standard test, and roughly 400 Mbps in the extended one, the speed stays a floor. After the extended test, the tool has no bigger requests to send, and it says so: your connection is faster than this test can saturate.
- Packet loss is not measured, even though it is enough to make a video call or an online game stutter. That is also why the tool leaves out the streaming, gaming and video-call quality ratings that Cloudflare's library computes: all three depend on packet loss.
- Latency is that of small web requests to the Cloudflare data centre answering you, not an ICMP ping or the round trip to a game server: a game hosted in another country can show a higher figure.
- “Data used” adds up the size of the blocks exchanged, HTTP headers included when the browser reports them (not before Safari 16.4); TLS and TCP/IP overhead is not in it, so your provider counts a little more.
- A VPN, a company proxy or a content blocker changes what gets measured, or stops the browser from reaching Cloudflare at all: with a VPN on, you are measuring the tunnel and its server, not your line.
Privacy
Browser, and a server for one featureNothing goes to Cloudflare until you click “Start the test”. From then on, your browser and Cloudflare (speed.cloudflare.com) swap blocks of data with no content in them, in both directions, so Cloudflare sees your IP address, your browser and the address of the site the test runs from. The result is sent neither to Cloudflare nor to this site, and nothing is stored in your browser. Chromium-based browsers such as Chrome or Edge may, however, send Cloudflare network error reports about some of those requests. The site's usage statistics only record that a test was started, finished, failed or had its result copied, never a speed or a latency.
Frequently asked questions
Why is my speed lower than the one in my broadband deal?
Because the deal describes what the line can deliver, while the test measures the whole path: Wi-Fi, your device's network card and browser, everything else in the household, then the network to Cloudflare. An Ethernet port limited to 100 Mbps caps everything else. The screen shows Mbit/s, the same unit as the Mbps in your contract. Start with a wired test, other devices idle, at several times of day. If the gap stays, keep the results with “Copy” for your provider.
Should I test over Wi-Fi or with a cable?
Both, one after the other. Plugged into the router over Ethernet, you get close to what the line delivers; over Wi-Fi, you measure what is left of it in the room where you actually use the connection. If the cable gives 300 Mbit/s and Wi-Fi 40 in the living room, the line is not the problem: move closer to the router, switch to the 5 GHz band or add an access point, then test again from the same spot.
How much data does one test use?
It depends on your speed, because each direction stops as soon as its requests take more than a second. On a very fast connection the whole sequence runs: up to about 170 MB, and up to 380 MB with the extended test. On 4G at 30 Mbit/s, expect around 15 MB; on a slow line, a few megabytes. The actual amount for your test then appears under “Measurement details”, on the “Data used” line.
Why does upload speed say “at least”?
Because even its largest requests, 25 MB each, went through in under a second: your connection was not saturated, and your real upload speed is at least the figure shown. This is common on fibre, where upload can exceed 200 Mbps. Click “Extended test”: its 50 MB requests settle the value up to about 400 Mbps. Beyond that the ≥ sign stays, with a message saying your connection is faster than this test can saturate.
What speed do Netflix and Zoom video calls need?
Netflix recommends 3 Mbit/s for HD 720p and 15 Mbit/s for 4K; Zoom asks for 3.8 Mbit/s up and 3 Mbit/s down for 1080p video. Those are the thresholds in “Fast enough for…”, each for a single stream: two screens in 4K plus a video call at the same time need the total. And when a speed is only a floor below the threshold, the tool answers “can't tell” rather than no.
Why isn't the latency shown the same as my game's ping?
Because neither the target nor the method is the same. The tool times small, empty web requests to the Cloudflare data centre answering you, takes off the processing time the server reports and keeps the median of 15 tries. A game measures the round trip to its own server, sometimes in another country. Low latency here shows that your line responds quickly; it says nothing about a distant server.
Why does the test stop without a result?
Several causes are possible, and the message on screen says which. If you switch tabs or minimise the window, the browser slows requests down, so the test stops rather than skew the figure. If no request completes for 30 seconds, it gives up. A content blocker or firewall can also stop the browser reaching Cloudflare, and too many tests from your connection mean waiting a few minutes. Either way, “Try again” or “Start over” runs a complete new measurement.
Why do two tests in a row give different figures?
Because a connection has no fixed speed. Between two runs, another device in the household may have started an update, the Wi-Fi may have picked up interference from a neighbour, and the route to Cloudflare can cross busier links. On a slow line, each direction also counts only a handful of requests, listed under “Measurement details”, which makes the figure more sensitive. Take three measurements and keep the order of magnitude rather than the decimal.