The readout above comes from navigator.connection, the browser's Network Information API. It reports an estimated speed class, optional physical medium on some Android builds, round-trip hints, and whether Data Saver is on. I first leaned on this API when a hotel WiโFi in Istanbul showed type: wifi but effectiveType: 3gwhile a 4K trailer buffered in 240p: the radio was WiโFi, the bottleneck was a congested uplink, not LTE. Below I explain what each field means, who still ships the API in 2026, and what to do when Firefox or Safari say "not supported."
What the Network Information API exposes
The interface lives on navigator.connection (also exposed as navigator.mozConnection or webkitConnection on older builds). The fields this page surfaces:
- type (when available):
wifi,cellular,ethernet,bluetooth,none, orunknown. - effectiveType: coarse performance bucket
slow-2g,2g,3g, or4gderived from recent throughput and RTT measurements. - downlink: estimated megabits per second, rounded to limit fingerprinting precision.
- rtt: estimated round-trip milliseconds, also rounded.
- saveData: user or OS preference to minimize bytes (
navigator.connection.saveData).
The specification is maintained at the WICG; browsers may implement subsets. Values are hints for adaptive loading, not billing-grade speed tests.
Browser support in 2026 (honest matrix)
| Browser | type | effectiveType | downlink / rtt | saveData |
|---|---|---|---|---|
| Chrome (desktop) | Usually unknown | Yes | Yes (rounded) | Yes |
| Edge | Same as Chrome | Yes | Yes | Yes |
| Firefox | Not exposed | Not exposed | Not exposed | Not exposed |
| Safari (macOS / iOS) | Not exposed | Not exposed | Not exposed | Not exposed |
| Samsung Internet | Often cellular vs wifi on Android | Yes | Yes | Yes |
Check current engines on caniuse.com/netinfo. If this page says unsupported, that is expected on Firefox and Safari, not a bug in your network.
Effective connection type versus physical type
typeanswers "what interface carried the packet?" when the OS tells the browser. effectiveTypeanswers "how fast did recent transfers feel?" A gigabit fiber link behind a cheap router with bufferbloat can still report 3g if measured RTT spikes. Conversely, strong 5G often shows cellular plus 4g effective type even though the marketing label says 5G, because the API buckets by performance, not carrier branding.
Desktop Chrome frequently leaves type at unknown because sandboxed renderers cannot reliably distinguish WiโFi from Ethernet on every OS. Trust effectiveType for adaptive video logic; trust type mainly on Android phones where the distinction changes metered billing behavior.
Why adaptive sites care about these signals
Image CDNs and video players downgrade quality when effectiveType drops or saveData is true. Next.js and other frameworks can prefetch less aggressively. Service workers may skip background sync until the connection improves. None of this replaces measuring real throughput: run Internet Speed Test when you need megabits per second, not a rounded estimate.
Listen for the change event on navigator.connection (this page does) because toggling airplane mode, joining a VPN, or walking out of WiโFi range updates the object without a reload.
When the API is missing: practical fallbacks
On Safari and Firefox, measure RTT yourself with timed fetches to your origin, exactly like our latency tool. Server-side geo and ASN data from ISP lookup tells you carrier class, not instantaneous congestion. For PWAs, default to conservative assets and upgrade when a user explicitly requests HD.
Never gate critical security updates behind effectiveType; attackers can spoof connection objects in compromised environments, and privacy browsers may freeze values.
Frequently asked questions
How does my browser know if I am on WiโFi or cellular?
On supported Chromium Android builds, the OS reports the active network interface to the browser, which maps it to the type field. Desktop browsers often cannot see the medium and return unknown. iOS and Firefox do not expose the API at all in 2026.
What does "effective connection type" mean?
It is a performance label (4g being the fastest bucket) computed from rolling throughput and RTT samples. It does not mean you are literally on fourth-generation cellular when you are on WiโFi; it means the link currently performs like a fast mobile connection.
Why does my WiโFi sometimes show as 3G?
Because effectiveType reflects measured speed, not the logo on your router. Congested WiโFi, VPN overhead, distance from the access point, or ISP uplink saturation all push the bucket down even though type still says wifi.
What is the saveData flag?
When saveData is true, the user or OS asked apps to minimize bytes. Sites should serve smaller images, avoid autoplay video, and defer non-critical prefetch. Android Chrome Lite mode and some carrier plans flip this bit automatically.
Which browsers support the Network Information API?
Chromium desktop and Android derivatives (Chrome, Edge, Opera, Samsung Internet) expose most fields. Firefox and Safari do not implement navigator.connection for web content as of 2026. Use feature detection: if the object is undefined, fall back to RTT probes and user settings.
Related tools
Throughput: Internet Speed Test. HTTPS RTT to this site: What Is My Latency. Carrier or ISP name: What Is My ISP. Browser identity: What Is My Browser.