NetworkInformation
Experimental: This is an experimental technology
Check the Browser compatibility table carefully before using this in production.
The NetworkInformation interface provides information about the connection a device is using to communicate with the network and provides a means for scripts to be notified if the connection type changes. The NetworkInformation interfaces cannot be instantiated. It is instead accessed through the connection property of the Navigator interface.
Note: This feature is available in Web Workers
Properties
This interface also inherits properties of its parent, EventTarget.
- 
NetworkInformation.downlinkRead only -  
Returns the effective bandwidth estimate in megabits per second, rounded to the nearest multiple of 25 kilobits per seconds.
 - 
NetworkInformation.downlinkMaxRead only -  
Returns the maximum downlink speed, in megabits per second (Mbps), for the underlying connection technology.
 - 
NetworkInformation.effectiveTypeRead only -  
Returns the effective type of the connection meaning one of 'slow-2g', '2g', '3g', or '4g'. This value is determined using a combination of recently observed round-trip time and downlink values.
 - 
NetworkInformation.rttRead only -  
Returns the estimated effective round-trip time of the current connection, rounded to the nearest multiple of 25 milliseconds.
 - 
NetworkInformation.saveDataRead only -  
Returns
trueif the user has set a reduced data usage option on the user agent. - 
NetworkInformation.typeRead only -  
Returns the type of connection a device is using to communicate with the network. It will be one of the following values:
bluetoothcellularethernetnonewifiwimaxotherunknown
 
Event handlers
NetworkInformation.onchange-  
The event that's fired when connection information changes and the
changeis fired on this object. 
Methods
This interface also inherits methods of its parent, EventTarget.
Specifications
| Specification | 
|---|
| Network Information API  # networkinformation-interface  | 
Browser compatibility
| Desktop | Mobile | |||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Chrome | Edge | Firefox | Internet Explorer | Opera | Safari | WebView Android | Chrome Android | Firefox for Android | Opera Android | Safari on IOS | Samsung Internet | |
NetworkInformation | 
61  | 
79  | 
No  | 
No  | 
48  | 
No  | 
50  | 
38  | 
31  | 
45  | 
No  | 
3.0  | 
downlink | 
 61 
The value is never greater than 10 Mbps, as a non-standard anti-fingerprinting measure. 
 | 
 79 
The value is never greater than 10 Mbps, as a non-standard anti-fingerprinting measure. 
 | 
No  | 
No  | 
 48 
The value is never greater than 10 Mbps, as a non-standard anti-fingerprinting measure. 
 | 
No  | 
 50 
The value is never greater than 10 Mbps, as a non-standard anti-fingerprinting measure. 
 | 
 38 
The value is never greater than 10 Mbps, as a non-standard anti-fingerprinting measure. 
 | 
?  | 
 45 
The value is never greater than 10 Mbps, as a non-standard anti-fingerprinting measure. 
 | 
No  | 
 3.0 
The value is never greater than 10 Mbps, as a non-standard anti-fingerprinting measure. 
 | 
downlinkMax | 
 61 
Only supported in Chrome OS 
 | 
No  | 
No  | 
No  | 
No  | 
No  | 
50  | 
38  | 
No  | 
45  | 
No  | 
3.0  | 
effectiveType | 
61  | 
79  | 
No  | 
No  | 
48  | 
No  | 
50  | 
38  | 
Yes  | 
45  | 
No  | 
3.0  | 
onchange | 
61  | 
79  | 
No  | 
No  | 
48  | 
No  | 
50  | 
38  | 
 No 
On Firefox, the event handler property corresponding to the  
change event is ontypechange. | 
45  | 
No  | 
3.0  | 
ontypechange | 
No  | 
No  | 
No  | 
No  | 
?  | 
No  | 
No  | 
38  | 
31  | 
?  | 
No  | 
3.0  | 
rtt | 
 61 
The value is never greater than 3000 ms, as a non-standard anti-fingerprinting measure. 
 | 
 79 
The value is never greater than 3000 ms, as a non-standard anti-fingerprinting measure. 
 | 
No  | 
No  | 
 48 
The value is never greater than 3000 ms, as a non-standard anti-fingerprinting measure. 
 | 
No  | 
 50 
The value is never greater than 3000 ms, as a non-standard anti-fingerprinting measure. 
 | 
 38 
The value is never greater than 3000 ms, as a non-standard anti-fingerprinting measure. 
 | 
No  | 
 45 
The value is never greater than 3000 ms, as a non-standard anti-fingerprinting measure. 
 | 
No  | 
 3.0 
The value is never greater than 3000 ms, as a non-standard anti-fingerprinting measure. 
 | 
saveData | 
65  | 
79  | 
No  | 
No  | 
Yes  | 
No  | 
65  | 
65  | 
?  | 
Yes  | 
No  | 
9.0  | 
type | 
 61 
Only supported in Chrome OS 
 | 
No  | 
No  | 
No  | 
No  | 
No  | 
50  | 
38  | 
31  | 
45  | 
No  | 
3.0  | 
worker_support | 
61  | 
79  | 
No  | 
No  | 
48  | 
No  | 
50  | 
38  | 
53  | 
45  | 
No  | 
3.0  | 
See also
- Network Information API
 - Online and offline events
 - The 
Navigatorinterface that implements it. 
    © 2005–2021 MDN contributors.
Licensed under the Creative Commons Attribution-ShareAlike License v2.5 or later.
    https://developer.mozilla.org/en-US/docs/Web/API/NetworkInformation