Skip to content
All fingerprint checks
Network & WebRTC

navigator.connection.downlink sits on Chrome's 50 kbps grid, capped at 10

Pim· Clearcote Research 2 min readCheck id downlink-on-50kbps-grid

downlink is a multiple of 0.05 and at most 10. N/A without the Network Information API and on non-Chromium engines (severity: warn).

What a detector infers

navigator.connection.downlink is not a raw measurement. Blink's NetworkStateNotifier multiplies the network-quality estimate by a per-host factor between 0.90 and 1.10, caps the result at 10 Mbps and rounds it to the nearest 50 kbps, so every value a page can see is a multiple of 0.05 and no larger than 10 (kBucketSize and kMaxDownlinkKbps in network_state_notifier.cc).

A free-form number chosen to look realistic, such as 7.37, lands off the grid, and anything above 10 is above the cap. In the audit's corpus, every Blink capture but one sits on the grid; the exception, a visitor claiming Chrome 150, reported a downlink of 60.

Every arm measured here read between 1.45 and 10, all on the grid, and DevTools' throttling presets land on it too, so throttling is not a false positive. connection-rtt-quantization checks the round-trip estimate; this row checks the bandwidth estimate that travels beside it. N/A where navigator.connection or its downlink is absent, as in Firefox and Safari.

How to resolve it

Leave the Network Information API to the browser. A value that is set by hand has to be one Chromium can produce — a multiple of 0.05 Mbps, at most 10 — and a realistic-looking decimal usually is not.

Spec invariants as lie detectors

Nearby checks in Network & WebRTC

See all 18 checks in Network & WebRTC
Who builds this test

Clearcote is a browser built for fingerprint coherence

It is a Chromium fork, maintained by the same people who wrote this reference. It ships as a compiled browser rather than as a stealth script injected into someone else's — which is a description of how it is built, and is not an argument about how it behaves on this check.

This audit takes no position on how Clearcote scores on Network & WebRTC checks, on this one, or anywhere else. It has no baseline corpus of other people's fingerprints to rank you against and no vendor scoreboard — nearly every check is self-referential, asking one browser the same question through two independent APIs and reporting whether both answers can be true at once. It runs identically on any browser, including ours. Run it on yours and read the result yourself.

See the other checks in Network & WebRTC — the family downlink-on-50kbps-grid belongs to.