How Do Internet Speed Tests Work?
Ever wonder what actually happens when you click "Start" on a speed test? Let's demystify the technology behind measuring your internet connection's performance.
See the technology in action:
Run SwiftSpeedTest →The Goal: Measuring Your Connection's Capacity
The primary goal of a speed test like SwiftSpeedTest is to estimate the maximum data transfer rate (bandwidth) your internet connection can currently achieve between your device and the wider internet, represented by a nearby test server.
SwiftSpeedTest method 2.1 reports capacity and responsiveness signals:
- Ping (Latency): Responsiveness (in milliseconds).
- Jitter: Variation between retained latency samples.
- Download Speed: Rate of receiving data (in Mbps).
- Upload Speed: Rate of sending data (in Mbps).
- Loaded responsiveness: Latency, jitter, p95 tail latency, and application-probe loss while transfers are active.
The Speed Test Process: Step-by-Step
Implementations differ materially. SwiftSpeedTest method 2.1 follows this published sequence:
- 1. Endpoint selection: The app can score up to eight configured candidates using reachability, latency, and stability, or accept a manual selection. Its production endpoint set includes the nearest global Edge route plus pinned US East, Central, and West Edge routes. The nearest route is ready by default; the wider comparison runs only when the user chooses Auto, avoiding background measurement traffic on an ordinary page view. It holds the chosen endpoint fixed for the run so results are not blended across servers.
The built-in regional routes share one Vercel deployment, so they improve geographic path comparison rather than independent-provider resilience. Endpoint distance, route, and load still matter; compare repeated tests against the same endpoint when diagnosing changes. - 2. Idle latency: After a warm-up request, the browser makes at least eight application-level probes (12 by default) with varied spacing and requires at least five valid samples. The method reports retained latency, jitter, and tail latency; it subtracts declared server processing time when the microsecond timing header is available.
- 3. Adaptive download: The browser streams generated, uncompressed binary payloads, verifies the received size, and adapts the next request size from measured throughput. Low-data mode uses one request at a time and a 48 MiB download budget; full-capacity mode can use one to three concurrent requests and a 768 MiB download budget.
The run stops on time, batch, or byte bounds. Aggregate capacity does not predict every single application flow. - 4. Adaptive upload: The browser generates payloads locally and measures the known bytes for requests that complete successfully. An endpoint-reported size is a consistency check, not the source of truth. Low-data mode caps upload payload at 4 MiB total; full-capacity mode caps it at 64 MiB total, with up to two concurrent requests.
- 5. Loaded responsiveness and result quality: Separate latency probes run during download and upload. The result includes download, upload, idle ping and jitter, loaded latency and jitter when enough probes succeed, application-probe loss, tail latency, and transfer-confidence warnings.
Why Do Speed Test Results Vary?
It's common to see slightly different results even when testing back-to-back or using different speed test providers. This is normal and due to:
- Test Server Location & Load: A distant or overloaded test server will yield slower results. Different tests might automatically select different servers.
- Network Congestion: Temporary traffic jams anywhere between your device and the test server (including your local network, your ISP's network, or the wider internet) affect results.
- Testing Methodology: Some older tests might use a single connection stream, which often underestimates the maximum speed of modern connections compared to multi-stream tests.
- Your Device & Browser: An older computer, phone, or even an inefficient browser can sometimes be a bottleneck, unable to process data as fast as your connection delivers it.
- Wi-Fi vs. Ethernet: As detailed in our Wi-Fi testing guide, wireless connections add significant variability.
For a more comparable picture, record whether you used Ethernet or Wi-Fi, control background activity, repeat the test under matched conditions, and review the provider's published methodology. SwiftSpeedTest documents its current protocol on the methodology page.
Curious About Your Speed?
Now that you know how it works, see the results for your own connection.
Run SwiftSpeedTest →