Screen wake lockBaseline · Newly available
The navigator.wakeLock.request("screen") API prevents the device's screen from dimming or being turned off.
Works in the latest version of every major browser, but older devices may not support it yet. Baseline since Mar 31, 2025.
Browser support
DesktopChrome
1–83Not supported
84+Supportedsince Jul 27, 2020
Current: 155Edge
12–83Not supported
84+Supportedsince Jul 16, 2020
Current: 154Firefox
1–125Not supported
126+Supportedsince May 14, 2024
Current: 157Safari
1–16.3Not supported
16.4+Supportedsince Mar 27, 2023
Current: 27MobileChrome Android
18–83Not supported
84+Supportedsince Jul 27, 2020
Current: 155Firefox Android
4–125Not supported
126+Supportedsince May 14, 2024
Current: 157Safari iOS
1–18.3Not supported
18.4+Supportedsince Mar 31, 2025
Current: 27How to use
Every current browser supports this, but it only became Baseline on Mar 31, 2025. Use it as a progressive enhancement, or keep a fallback if you support older devices.
Example
Full syntax and examples are on MDN: wakeLock.
Feature detection
JS · check before using
if ("allow" in document.createElement("iframe")) {
// the allow attribute/property of <iframe> is supported
}Documentation (MDN)
Specification
Usage share
Sub-features
Support for each part of the feature (11). The overall table above shows when the whole feature works.
| Sub-feature | Chrome | Edge | Firefox | Safari | Chrome Android | Firefox Android | Safari iOS |
|---|---|---|---|---|---|---|---|
| Navigator.wakeLock | 84 | 84 | 126 | 16.4 | 84 | 126 | 18.4 |
| Permissions.permission_screen-wake-lock | 84 | 84 | 126 | 16.4 | 84 | 126 | 16.4 |
| WakeLock | 84 | 84 | 126 | 16.4 | 84 | 126 | 18.4 |
| WakeLock.request | 84 | 84 | 126 | 16.4 | 84 | 126 | 18.4 |
| WakeLockSentinel | 84 | 84 | 126 | 16.4 | 84 | 126 | 18.4 |
| WakeLockSentinel.release | 84 | 84 | 126 | 16.4 | 84 | 126 | 18.4 |
| WakeLockSentinel.release_event | 84 | 84 | 126 | 16.4 | 84 | 126 | 18.4 |
| WakeLockSentinel.released | 87 | 87 | 126 | 16.4 | 87 | 126 | 18.4 |
| WakeLockSentinel.type | 84 | 84 | 126 | 16.4 | 84 | 126 | 18.4 |
| iframe.allow.screen-wake-lock | 84 | 84 | 126 | 16.4 | 84 | 126 | 16.4 |
| http.headers.Permissions-Policy.screen-wake-lock | 88 | 88 | ✕ | ✕ | 88 | ✕ | ✕ |