A browser test to one network

This browser test uses @cloudflare/speedtest 1.15.0 to send requests from your browser to Cloudflare’s public test endpoints. Download and upload are measured from transferred data and browser resource timings. Latency is web-request round-trip timing, not ICMP ping. It does not measure a particular game or all internet destinations.

Two explicitly limited test modes

Standard mode schedules at most 216.6 MB of download and upload payload combined; the interface rounds the budget up to 217 MB. Save-data mode schedules at most 36.6 MB, rounded up to 37 MB. Protocol headers and other network overhead are additional. The engine may skip larger transfers once it has sufficient samples. Each test has a 60-second overall limit.

We use 12 idle-latency samples, then progressively larger download and upload requests. The first transfer size warms the connection. We report the median of at least three transfers lasting 250 ms or longer, excluding short bursts. This estimates typical transfer speed, not peak capacity. Latency uses the median. Loaded latency is probed during transfers. Jitter describes differences between consecutive samples. Fast transfers may not produce enough loaded samples.

Interpretations, not certified grades

Our v0.3 rules flag a loaded increase of at least 50 ms when final latency reaches at least 80 ms, idle latency at least 100 ms, jitter at least 20 ms, or bandwidth below 10 Mbps down / 3 Mbps up. These are preliminary product thresholds, not universal service requirements.

The five-star cards describe normal use without saturating the line; a separate warning describes increased delay under load. They use preliminary rules, not app-specific guarantees. Watching video uses download speed; broadcasting uses upload speed plus responsiveness; calls use both directions; gaming uses responsiveness with basic bandwidth requirements. We take the lowest applicable score, so fast downloads cannot hide poor latency. Interrupted tests and insufficient samples are unrated. Core coverage requires all six metrics, at least three download and upload samples, six idle latency samples, and three latency samples under each load direction. These minimums are preliminary product rules. Completed sample payload excludes interrupted transfers and network overhead; it is not total billed usage. Packet loss is not measured, so even a favorable card is not a guarantee.

Local results and third-party traffic

Results survive reloads and navigation in this tab using session storage, until you start another test or close the tab. Export saves a JSON file on your device. We disable the library’s optional result logging endpoints. Cloudflare still receives measurement requests, including your public IP, and its own service policies apply.

Cancellation pauses the engine and aborts its current web requests. Hiding the tab stops the test and marks the result partial. This prototype has not yet completed controlled bandwidth calibration or cross-region validation. Public deployment requires a separate review of provider terms, reliability, and cost.

Further reading

Start test