Free Download Speed Test
Measure your real download speed by fetching test data directly from our global CDN. The test uses a timed measurement window, reports Mbps and MB/s, and compares your result to 4G, 5G, and fiber benchmarks.
How the speed test works
1. You select a CDN chunk size from 1MB to 100MB. The test may repeat that chunk until the timed measurement window is complete.
2. The browser downloads directly from cdn.truefilesize.com using XMLHttpRequest with progress tracking. CDN CORS headers allow the browser to read download progress without routing the measurement through localhost or an app proxy.
3. We ignore the first 500ms as warm-up, then measure throughput over an 8 second window.
4. Final speed is the weighted average of bytes downloaded during that measured window, converted to Mbps. Max throughput mode uses parallel CDN downloads for a closer Speedtest-style estimate.
A cache-busting query parameter ensures each test downloads fresh data with no browser cache interference.
Internet speed benchmarks
| Connection | Typical speed | Download 100MB in |
|---|---|---|
| 3G Mobile | 5 Mbps | ~160 sec |
| 4G LTE | 20 Mbps | ~40 sec |
| 5G | 100 Mbps | ~8 sec |
| Cable/DSL | 50-200 Mbps | 4-16 sec |
| Fiber | 500-1000 Mbps | <2 sec |
Frequently Asked Questions
How accurate is this speed test?
Why is my speed lower than my ISP advertises?
What is the difference between Mbps and MB/s?
Does this test measure upload speed?
Can I test download speed programmatically?
Need larger files for manual testing?
Visit our Download Tests page for files from 1MB to 10GB - perfect for manual speed testing, upload API stress tests, and bandwidth benchmarking.
Related reading
5 Browser File API Gotchas: Memory, Slicing & Metadata
Five reproducible Browser File API pitfalls involving data URLs, Blob slicing, lastModified metadata, file input events, and whole-file buffering.
Generate Sample Files in the Browser (No Upload Needed)
How to generate sample files locally with Blob, TextEncoder, Uint8Array, object URLs, and a custom file size up to 1GB. No upload or backend required.
MIME Type Detection in Production — A Practical Validation Pipeline
Build a defensible MIME detection pipeline with client hints, magic bytes, text sniffing, parser validation, and explicit confidence levels.