The Document.hidden read-only property returns a Boolean value indicating if the page is considered hidden or not.

This property is described as "historical" in the Page Visibility Level 2 specification. Consider using the Document.visibilityState property instead.


var boolean = document.hidden


document.addEventListener("visibilitychange", function() {
  console.log( document.hidden );
  // Modify behavior...

Usage notes

Due to prerendering, it may happen that document.hidden is true, even if the page is actually visible to the user. In such scenario the page load starts with document.visibilityState = "prerender" and transitions to document.visibilityState = "visible" after some delay. This scenario can be reproduced by opening a new browser tab in Safari, pasting a URL in the URL bar, and navigating to that URL.


Specification Status Comment
Page Visibility (Second Edition)
The definition of 'Document.hidden' in that specification.
Recommendation Initial definition

Browser compatibility

BCD tables only load in the browser