The capabilities of a client device largely depend on the amount of available RAM. Traditionally, developers had to use heuristics and either benchmark a device or infer device capabilities based on other factors like the device manufacturer or User Agent strings.
Determining device memory
There are two ways to determine the approximate amount of RAM a device has: use the Device Memory JavaScript API or accept Client Hints.
JavaScript API
You may query the approximate amount of RAM a device has by retrieving Navigator.deviceMemory
or WorkerNavigator.deviceMemory
.
const RAM = navigator. deviceMemory;
Client Hints
You may also use the Client Hints HTTP Header with the Device-Memory
directive to retrieve the same approximate RAM capacity.
Interfaces
Extensions to other interfaces
Navigator.deviceMemory
Read only
Returns the approximate amount of device memory in gigabytes.
WorkerNavigator.deviceMemory
Read only
Returns the approximate amount of device memory in gigabytes.
Specifications
Browser compatibility
Desktop
Mobile
Chrome
Edge
Firefox
Opera
Safari
Chrome Android
Firefox for Android
Opera Android
Safari on IOS
Samsung Internet
WebView Android
Device_Memory_API
61
≤79
No
48
No
61
No
45
No
8.0
61
Desktop
Mobile
Chrome
Edge
Firefox
Opera
Safari
Chrome Android
Firefox for Android
Opera Android
Safari on IOS
Samsung Internet
WebView Android
Device_Memory_API
65
79
No
52
No
65
No
47
No
9.0
65
Desktop
Mobile
Chrome
Edge
Firefox
Opera
Safari
Chrome Android
Firefox for Android
Opera Android
Safari on IOS
Samsung Internet
WebView Android
Device_Memory_API
63
79
No
50
No
63
No
46
No
8.0
63
api.Navigator.deviceMemory
BCD tables only load in the browser with JavaScript enabled. Enable JavaScript to view data.
api.WorkerNavigator.deviceMemory
BCD tables only load in the browser with JavaScript enabled. Enable JavaScript to view data.
BCD tables only load in the browser with JavaScript enabled. Enable JavaScript to view data.
See also