SwiftCheck
Internet speed in MB/s — the unit your downloads actually use.
The problem
Speed tests report megabits per second. Operating systems, browsers and torrent clients report megabytes per second. The two differ by a factor of eight, so a connection measured at 10 Mbps downloads at 1.25 MB/s — and people reasonably conclude something is broken. Running the test also usually means visiting an ad-heavy site.
The approach
SwiftCheck reports every figure in MB/s, the same unit the file manager uses, and runs from the browser toolbar instead of a website. Throughput is measured with PerformanceResourceTiming — the browser's own network-stack timing — rather than a JavaScript wall clock, so the reading reflects bytes on the wire and is not skewed by script execution.
What it does
- MB/s throughout
- Real megabytes, matching what the browser's download manager reports. 100 Mbps displays as 12.5.
- Adaptive test size
- A 256 KB probe estimates the connection first, then the main transfer is sized to roughly three seconds at that speed — accurate on slow links without wasting data on fast ones.
- Dynamic dial scale
- The speedometer ceiling is set from the probe result, so a 1 MB/s connection gets a 0–3 scale with full needle travel instead of a needle pinned near zero.
- Hardware-level timing
- Uses responseStart to responseEnd from the browser network stack, measured at the OS level, rather than timing the fetch in JavaScript.
- No tracking
- No analytics, no data collection, no accounts. One outbound host: speed.cloudflare.com.
Built with
- Chrome Extension Manifest V3
- PerformanceResourceTiming API
- requestAnimationFrame
- JavaScript
Runs on
- Google Chrome
- Chromium-based browsers
Pricing
Free and open source under the MIT licence.