Free · No download required · Results in ~30 seconds
Test your real download speed, upload speed, and latency. Compare your results to your ISP's advertised speeds and find out if you're being underserved.
Click Start to test your connection speed.
How fast data travels from the internet to your device. Affects streaming, browsing, and file downloads. The FCC minimum is 100 Mbps (2024 standard). Most households need 200–500 Mbps.
How fast data travels from your device to the internet. Critical for video calls, live streaming, and cloud backups. Cable plans are asymmetrical — a 300 Mbps download plan may only give 15–25 Mbps upload. Fiber gives equal speeds both ways.
Ping is round-trip time in milliseconds — under 30ms is good, under 10ms is excellent. Jitter is how much ping varies between requests. Under 10ms jitter means a stable connection. High jitter causes choppy video calls and inconsistent gaming even if average ping looks fine.
Wi-Fi overhead, router bottlenecks, peak-hour cable congestion, and device limitations all reduce measured speed. Test over ethernet for the most accurate reading. If you consistently get less than 60% of advertised speed on ethernet during off-peak hours, contact your ISP.
Most online speed tests give you a single number after a few seconds. This one tells you more about your actual connection by running 4 parallel download streams, 3 sequential upload bursts, and 10 latency probes — all using your browser’s built-in XMLHttpRequest API. No Flash, no Java, no app download. Results are ready in about 15 seconds.
4 simultaneous XHR requests each download a 10 MB file from speed.cloudflare.com — Cloudflare’s global network with edge servers in 300+ cities. Using 4 parallel streams better reflects how real-world browsing works (browsers open multiple connections simultaneously), so the result is more accurate for fast connections than a single-stream test.
3 sequential POST requests each send a 1.5 MB payload to Cloudflare’s upload endpoint, using onprogress events to track bytes in real time. Upload is measured sequentially (not parallel) to avoid overwhelming asymmetric cable upload channels, giving a more stable reading.
10 sequential zero-byte requests measure round-trip time using performance.now() — the browser’s high-resolution timer. Jitter is calculated as the average deviation between consecutive pings. This captures connection stability, not just average latency.
| Tool | Infrastructure | Streams | Upload | Ping + Jitter |
|---|---|---|---|---|
| This test | Cloudflare (300+ cities) | 4 parallel | ✓ Yes | ✓ 10 probes |
| Speedtest.net (Ookla) | ISP-sponsored servers | Multi | ✓ Yes | ✓ Yes |
| Fast.com (Netflix) | Netflix CDN only | Single | Hidden by default | ✖ No |
| Google Speed Test | M-Lab (throttled by some ISPs) | Single | ✖ No | ✖ No |
Why not use Speedtest.net? Ookla is owned by Ziff Davis, whose revenue comes from ISP advertising partnerships. Cloudflare has no relationship with ISPs — it’s a neutral network that ISPs cannot optimize for. Results here often show lower numbers than Ookla, but they’re a more honest reflection of your real connection speed.
Why not use Fast.com? Fast.com only measures speed to Netflix’s own CDN. If your ISP throttles Netflix traffic (a documented practice before Net Neutrality enforcement), Fast.com results will be lower than your actual speed. This test uses Cloudflare, which no ISP specifically prioritizes or throttles.
Data: Tests use speed.cloudflare.com endpoints. Latency is the median of 10 round-trip requests. Download uses 4 parallel 10MB streams to properly saturate the connection. Upload uses 3 x 1.5MB POSTs. Results vary by time of day, device, and distance to Cloudflare PoP.
📡 Not happy with your speeds? Check what faster providers are available at your address: