Speed Test
Free web tool: Speed Test
Press start to measure speed
Info
- Measures speed by downloading files from Cloudflare CDN servers.
- Downloads files of 100KB, 1MB, 10MB, and 25MB sequentially.
- Results may vary depending on network conditions and server distance.
- For accurate results, stop other downloads before testing.
About Speed Test
This Internet Speed Test measures your download bandwidth by fetching files of increasing sizes — 100KB, 1MB, 10MB, and 25MB — from Cloudflare's global CDN network (speed.cloudflare.com). For each file, it records the exact download duration using the high-resolution Performance API (`performance.now()`), then calculates the throughput in bits per second. The average of all four tests is displayed as your overall download speed alongside a rating from Very Slow to Very Fast.
Network engineers, IT support staff, developers debugging connectivity issues, and everyday users who want to verify their ISP's advertised speeds use this tool as a quick first-pass check. Because the download source is Cloudflare CDN — one of the most widely distributed networks in the world — the results reflect your actual connection to a nearby, high-capacity server rather than a single test server that might be geographically distant or under load.
The test runs sequentially through four file sizes so you can see how throughput behaves across different payload sizes. Small files (100KB) can be disproportionately fast due to TCP slow start and connection setup overhead showing less impact; large files (10MB, 25MB) reveal the stable, sustained throughput of your connection. An AbortController lets you cancel the test at any point. All fetches are done with `cache: no-store` to prevent cached results from inflating measurements.
Key Features
- Tests download speed with four file sizes: 100KB, 1MB, 10MB, and 25MB for comprehensive measurement
- Uses Cloudflare CDN (speed.cloudflare.com) as the download source for globally consistent results
- Displays per-file speed (Mbps/Kbps/Gbps), download duration (ms/s), and a proportional bar chart
- Shows average download speed with a speed grade: Very Fast (100+ Mbps), Fast (50+), Average (10+), Slow (1+), Very Slow
- Progress bar and live status messages during the test so you know exactly which file is being downloaded
- Cancel button using AbortController to stop the test at any point without leaving zombie fetches
- Cache-busted requests (`cache: no-store` + timestamp parameter) to ensure fresh measurements every time
- Dark mode support and responsive layout for accurate testing on mobile and desktop
Frequently Asked Questions
How does this speed test measure download speed?
The test fetches files from speed.cloudflare.com and measures how long each download takes using the browser's `performance.now()` API for millisecond precision. It then divides the file size in bits by the duration in seconds to get bits per second (bps), which is converted to Kbps, Mbps, or Gbps for display.
Why does the test use Cloudflare CDN?
Cloudflare operates one of the largest and most distributed CDN networks globally, with servers in hundreds of cities. This means the download source is typically very close to you geographically, minimizing latency overhead and ensuring the test reflects your actual internet bandwidth rather than geographic distance to a server.
Why are four different file sizes tested?
Different file sizes reveal different characteristics of your connection. Small files (100KB) are heavily influenced by connection setup latency and TCP slow start, so their speed may not reflect maximum throughput. Larger files (10MB and 25MB) allow TCP congestion control to reach its steady state, producing speeds that better represent your connection's actual sustained bandwidth.
What do the speed grades mean?
Very Fast means 100 Mbps or more — suitable for 4K streaming, large file transfers, and multiple simultaneous users. Fast is 50–100 Mbps, adequate for HD streaming and most home uses. Average is 10–50 Mbps. Slow is 1–10 Mbps — usable but may struggle with HD video. Very Slow is below 1 Mbps.
Why might my result differ from other speed tests?
Speed test results vary based on the server location, server load at test time, your distance from the server, your ISP's routing decisions, and network congestion on your local network. Different tools use different servers. This test measures download from Cloudflare CDN, while other tools might use different infrastructure. For best accuracy, close other applications that use bandwidth before testing.
Does this test measure upload speed?
No, this tool measures download speed only. Upload testing requires sending data to a server, which involves server-side infrastructure to receive and measure the upload. This tool is designed as a lightweight, client-side download speed check using public CDN files.
Can I run the test multiple times to get an average?
Yes. After a test completes, a "Test Again" button appears. Running the test several times and comparing results is good practice, especially if you see unusually high or low numbers. Network conditions can vary between tests due to background traffic, CDN server selection, and ISP routing.
Why does 100KB sometimes show a different speed than 25MB?
TCP slow start means a connection begins sending data conservatively and gradually increases speed as it confirms packets are received successfully. Short downloads (100KB) may complete before TCP reaches full speed. Longer downloads (25MB) give TCP time to ramp up and sustain maximum throughput, producing a more accurate measurement of your line's capacity.