The read-only pictureInPictureEnabled property of the Document interface indicates whether or not picture-in-picture mode is available. Picture-in-Picture mode is available by default unless specified otherwise by a Feature-Policy.

Although this property is read-only, it will not throw if it is modified (even in strict mode); the setter is a no-operation and will be ignored.


let isPictureInPictureAvailable = document.pictureInPictureEnabled;


A Boolean value, which is true if a video can enter picture-in-picture and be displayed in a floating window by calling HTMLVideoElement.requestFullscreen(). If picture-in-picture mode isn't available, this value is false.


In this example, before attempting to enter picture-in-picture mode for a <video> element the value of pictureInPictureEnabled is checked, in order to avoid making the call if the feature is not available.

function requestPictureInPicture() {
  if (document.pictureInPictureEnabled) {
  } else {
    console.log('Your browser cannot use picture-in-picture right now');


Specification Status Comment
Picture-in-Picture API
The definition of 'Document.pictureInPictureEnabled' in that specification.
Draft Initial definition

Browser compatibility

BCD tables only load in the browser

See also