Run it now

No sign-up, no download.

The test runs entirely in this page. Anonymous runs are measured exactly like signed-in ones — they are simply never stored.

Readyconnecting to the test server
0151025501002505001000download—Mbps
not measured yet
download over the run200 ms samples
slow start0s2s4s6s8sRun a test to see the download trace
Latency
—
Jitter
—
Best region
—
Data moved
—

Throughput and latency against the nearest test server only. No region sweep.

IP address
—
Provider
—
ASN
—
Location
—

Latency by region

Click a city to include or exclude it — 0 of 0 selected.

Loading map…

Lines connect your network to the regions that answered. They mark measured pairs, not the route packets took — no browser can see that.

How to read these numbers

Throughput is capped by our server. Download and upload measure the path from this browser to the selected test server. A connection faster than that server's own uplink cannot be shown here.

This is not a test of your ISP link. Nothing in a browser can measure the link itself — there is no endpoint inside your provider to transfer bytes against, so every web speed test measures the whole path to one server. Choosing a server in your own country is the closest honest approximation. Only one test server is configured today, so there is nothing closer to pick.

Region latency is an HTTP round trip to a cloud region in that city — not an ICMP ping, and not a measure of the country as a whole. It reads a few milliseconds above ping because the endpoint has to answer.

Your machine is part of the measurement. Wi-Fi, VPNs, a busy CPU and other tabs all land in these figures — honestly so, since they land in your real traffic too. For a line-rate figure, test wired with nothing else running.

Why it reads differently

Built to be checked, not admired.

Every design decision here costs us a bigger headline number. That is the point.

Slow start is excluded

TCP ramps up over the first second of any transfer. Averaging that in drags the result down; we discard it and measure steady state, then report the peak 250 ms slice separately.

Four parallel streams

A single TCP stream is bounded by window size over round-trip time, which is why one-connection tests understate fast lines to distant servers. Running four removes that ceiling.

Incompressible payloads

The transferred bytes are random and served with identity encoding, so no proxy, CDN or browser in the path can compress them into a speed you do not actually have.

Local by default

The sweep starts on the regions nearest you, not all twenty-four, and the panel labels the throughput path as domestic or international with the distance in kilometres. Distant regions are one click away when you want them.

Medians, not means

One scheduler hiccup or retransmit should not move a headline figure. Latency is the median of five samples after a discarded warmup, with jitter reported beside it.

Your network, identified

Address, provider and ASN are resolved server-side and shown before you run anything, so you know which connection produced the result.

What gets measured

Four numbers, each with its own caveat.

A speed test that will not tell you what it cannot see is not a measurement, it is marketing. Each figure below carries the limit that applies to it.

Download and upload

Multi-stream transfer to a server we run, counted as bytes arrive rather than when whole responses land. Bounded by that server's uplink — a faster line than the server cannot be shown.

Mbpsbytes movedpeak slice

Region latency

HTTP round trip to a cloud region, warmup sample discarded. Reads a few milliseconds above ICMP ping because the endpoint has to answer, and describes a route rather than a country.

medianjitter24 regions

Network identity

IP address, provider and autonomous system number, resolved from the request rather than guessed in the browser. Best-effort: a failed lookup never fails a test.

IPISPASN

Reachability

Regions that time out or get blocked are recorded as unreachable rather than quietly dropped, because a corporate proxy eating half the map is itself a finding.

samplesfailures
How it works

What happens when you press run.

Nine seconds of transfer per direction, and nothing kept unless you ask.

  1. 1

    Your network is identified

    The API resolves the address the request arrived from into a provider and ASN. This happens before any transfer, so the result is attributed to a connection you can name.

  2. 2

    The nearest test server is chosen

    On auto, every configured server is pinged and the fastest wins — measured, not inferred from a map, because routing rarely matches geography. A server in your own country wins ties outright, since a domestic path is the one your real traffic takes. You can override the choice.

  3. 3

    Latency is sampled

    A warmup request pays DNS, TCP and TLS so setup is not counted as round-trip time. Five samples follow; the median becomes the number and the variation becomes jitter.

  4. 4

    Throughput is measured

    Four parallel streams in each direction. The first second is discarded as ramp-up, the next eight are measured, and the best 250 ms slice is reported as the peak.

  5. 5

    Nothing is stored

    On this page the result lives in your browser and disappears with it. Signed-in accounts can save a run to build a history worth comparing against later.

Questions worth asking.

No browser-based test is, including this one, Fast.com and Speedtest.net. All of them measure the path between a browser and one particular server, bounded by that server's uplink, your Wi-Fi, your VPN and whatever else your machine is doing. What we can promise is that the number is not flattered: slow start is excluded rather than averaged in, payloads are incompressible, transfers are multi-stream, and latency is a median with the warmup discarded.

Speed is one signal. See the rest.

The same agent that measures a server's throughput continuously also watches its CPU, memory, disk and attack surface.