Find out when the user's system is idle, locked, or active.

To use this API you need to have the "idle" permission.



String describing the device's idle state.


Returns "locked" if the system is locked, "idle" if the user has not generated any input for a specified number of seconds, or "active" otherwise.

Firefox currently always returns "active", regardless of the system's idle state.
Sets the interval used to determine when the system is in an idle state for idle.onStateChanged events.


Fired when the system changes state.

Browser compatibility

Chrome Edge Firefox Firefox for Android Opera
IdleState Yes No 45.0 No 33
onStateChanged Yes No No No 33
queryState Yes No 45.0 48.0 33
setDetectionInterval Yes No No No 33

Chrome incompatibilities

  • Firefox does not support:
    • onStateChanged
    • setDetectionInterval()

Additoinally, queryState() always returns "active" in Firefox, regardless of the current system idle state.


This API is based on Chromium's chrome.idle API. This documentation is derived from idle.json in the Chromium code.

Microsoft Edge compatibility data is supplied by Microsoft Corporation and is included here under the Creative Commons Attribution 3.0 United States License.

Document Tags and Contributors

 Contributors to this page: wbamberg, kmaglione
 Last updated by: wbamberg,