The Screen interface represents a screen, usually the one on which the current window is being rendered, and is obtained using window.screen.

Note that browsers determine which screen to report as current by detecting which screen has the center of the browser window.

Properties

Screen.availTop
Specifies the y-coordinate of the first pixel that is not allocated to permanent or semipermanent user interface features.
Screen.availLeft
Returns the first available pixel available from the left side of the screen.
Screen.availHeight
Specifies the height of the screen, in pixels, minus permanent or semipermanent user interface features displayed by the operating system, such as the Taskbar on Windows.
Screen.availWidth
Returns the amount of horizontal space in pixels available to the window.
Screen.colorDepth
Returns the color depth of the screen.
Screen.height
Returns the height of the screen in pixels.
Screen.left
Returns the distance in pixels from the left side of the main screen to the left side of the current screen.
Screen.orientation
Returns the current orientation of the screen.
Screen.pixelDepth
Gets the bit depth of the screen.
Screen.top
Returns the distance in pixels from the top side of the current screen.
Screen.width
Returns the width of the screen.
Screen.mozEnabled
Boolean. Setting to false will turn off the device's screen.
Screen.mozBrightness
Controls the brightness of a device's screen. A double between 0 and 1.0 is expected.

Events handler

Screen.onorientationchange
A handler for the orientationchange events.

Methods

Screen.lockOrientation
Lock the screen orientation (only works in fullscreen or for installed apps)
Screen.unlockOrientation
Unlock the screen orientation (only works in fullscreen or for installed apps)

Methods inherit from EventTarget

EventTarget.addEventListener()
Registers an event handler of a specific event type on the EventTarget.
EventTarget.removeEventListener()
Removes an event listener from the EventTarget.
EventTarget.dispatchEvent()
Dispatches an event to this EventTarget.

Additional methods for Mozilla chrome code

Mozilla extensions for use by JS-implemented event targets to implement on* properties. See also WebIDL bindings.

  • void setEventHandler(DOMString type, EventHandler handler)
  • EventHandler getEventHandler(DOMString type)

Example

if (screen.pixelDepth < 8) {
  // use low-color version of page
} else { 
  // use regular, colorful page
}

Specification

Specification Status Comment
CSS Object Model (CSSOM) View Module
The definition of 'Screen' in that specification.
Working Draft  

Browser compatibility

Update compatibility data on GitHub
DesktopMobile
ChromeEdgeFirefoxInternet ExplorerOperaSafariAndroid webviewChrome for AndroidEdge MobileFirefox for AndroidOpera for AndroidiOS SafariSamsung Internet
Basic supportChrome Full support YesEdge Full support YesFirefox Full support YesIE ? Opera Full support YesSafari Full support YesWebView Android Full support YesChrome Android Full support YesEdge Mobile Full support YesFirefox Android Full support YesOpera Android Full support YesSafari iOS Full support YesSamsung Internet Android Full support Yes
availHeightChrome Full support YesEdge Full support Yes
Notes
Full support Yes
Notes
Notes Always reflects the main screen.
Firefox Full support YesIE ? Opera Full support YesSafari Full support YesWebView Android Full support YesChrome Android Full support YesEdge Mobile Full support YesFirefox Android Full support YesOpera Android Full support YesSafari iOS ? Samsung Internet Android Full support Yes
availLeft
Non-standard
Chrome Full support YesEdge No support NoFirefox Full support YesIE ? Opera Full support YesSafari Full support YesWebView Android Full support YesChrome Android Full support YesEdge Mobile No support NoFirefox Android Full support YesOpera Android Full support YesSafari iOS ? Samsung Internet Android Full support Yes
availTop
Non-standard
Chrome Full support YesEdge No support NoFirefox Full support YesIE ? Opera Full support YesSafari Full support YesWebView Android Full support YesChrome Android Full support YesEdge Mobile No support NoFirefox Android Full support YesOpera Android Full support YesSafari iOS ? Samsung Internet Android Full support Yes
availWidthChrome Full support YesEdge Full support Yes
Notes
Full support Yes
Notes
Notes Always reflects the main screen.
Firefox Full support YesIE ? Opera Full support YesSafari Full support YesWebView Android Full support YesChrome Android Full support YesEdge Mobile Full support YesFirefox Android Full support YesOpera Android Full support YesSafari iOS ? Samsung Internet Android Full support Yes
colorDepthChrome Full support Yes
Notes
Full support Yes
Notes
Notes Starting with version 59 this property is no longer required to always return 24.
Edge ? Firefox Full support YesIE ? Opera Full support YesSafari Full support YesWebView Android Full support Yes
Notes
Full support Yes
Notes
Notes Starting with version 59 this property is no longer required to always return 24.
Chrome Android Full support Yes
Notes
Full support Yes
Notes
Notes Starting with version 59 this property is no longer required to always return 24.
Edge Mobile ? Firefox Android Full support YesOpera Android Full support YesSafari iOS ? Samsung Internet Android Full support Yes
heightChrome Full support YesEdge Full support YesFirefox Full support YesIE ? Opera Full support YesSafari Full support YesWebView Android Full support YesChrome Android Full support YesEdge Mobile Full support YesFirefox Android Full support YesOpera Android Full support YesSafari iOS ? Samsung Internet Android Full support Yes
left
Non-standard
Chrome Full support YesEdge Full support YesFirefox Full support YesIE ? Opera Full support YesSafari Full support YesWebView Android Full support YesChrome Android Full support YesEdge Mobile Full support YesFirefox Android Full support YesOpera Android Full support YesSafari iOS ? Samsung Internet Android Full support Yes
lockOrientationChrome Full support 38Edge ? Firefox Full support Yes
Prefixed
Full support Yes
Prefixed
Prefixed Requires the vendor prefix: moz
IE Full support 11
Prefixed
Full support 11
Prefixed
Prefixed Requires the vendor prefix: ms
Opera Full support YesSafari No support NoWebView Android Full support 38Chrome Android Full support 38Edge Mobile ? Firefox Android Full support Yes
Prefixed
Full support Yes
Prefixed
Prefixed Requires the vendor prefix: moz
Opera Android Full support YesSafari iOS No support NoSamsung Internet Android Full support Yes
mozBrightness
DeprecatedNon-standard
Chrome No support NoEdge No support NoFirefox Full support 12
Disabled
Full support 12
Disabled
Disabled From version 12: this feature is behind the dom.screenBrightnessProperty.enabled preference (needs to be set to true). To change preferences in Firefox, visit about:config.
IE No support NoOpera No support NoSafari No support NoWebView Android No support NoChrome Android No support NoEdge Mobile No support NoFirefox Android Full support 14
Disabled
Full support 14
Disabled
Disabled From version 14: this feature is behind the dom.screenBrightnessProperty.enabled preference (needs to be set to true). To change preferences in Firefox, visit about:config.
Opera Android No support NoSafari iOS No support NoSamsung Internet Android No support No
mozEnabled
DeprecatedNon-standard
Chrome No support NoEdge No support NoFirefox Full support 12
Disabled
Full support 12
Disabled
Disabled From version 12: this feature is behind the dom.screenEnabledProperty.enabled preference (needs to be set to true). To change preferences in Firefox, visit about:config.
IE No support NoOpera No support NoSafari No support NoWebView Android No support NoChrome Android No support NoEdge Mobile No support NoFirefox Android Full support 14
Disabled
Full support 14
Disabled
Disabled From version 14: this feature is behind the dom.screenEnabledProperty.enabled preference (needs to be set to true). To change preferences in Firefox, visit about:config.
Opera Android No support NoSafari iOS No support NoSamsung Internet Android No support No
onorientationchangeChrome No support NoEdge No support NoFirefox No support NoIE No support NoOpera No support NoSafari No support NoWebView Android No support NoChrome Android No support NoEdge Mobile No support NoFirefox Android Full support Yes
Alternate Name
Full support Yes
Alternate Name
Alternate Name Uses the non-standard name: onmozorientationchange
Opera Android No support NoSafari iOS No support NoSamsung Internet Android No support No
orientationChrome Full support 38Edge ? Firefox Full support Yes
Full support Yes
Full support Yes
Prefixed
Prefixed Requires the vendor prefix: moz
IE Full support 11
Prefixed Notes
Full support 11
Prefixed Notes
Prefixed Requires the vendor prefix: ms
Notes Not supported on Windows 7.
Opera Full support 25Safari No support NoWebView Android No support NoChrome Android Full support 39Edge Mobile ? Firefox Android Full support Yes
Full support Yes
Full support Yes
Prefixed
Prefixed Requires the vendor prefix: moz
Opera Android No support NoSafari iOS No support NoSamsung Internet Android ?
pixelDepthChrome Full support Yes
Notes
Full support Yes
Notes
Notes Starting with version 59 this property is no longer required to always return 24.
Edge ? Firefox Full support YesIE ? Opera Full support YesSafari Full support YesWebView Android Full support Yes
Notes
Full support Yes
Notes
Notes Starting with version 59 this property is no longer required to always return 24.
Chrome Android Full support Yes
Notes
Full support Yes
Notes
Notes Starting with version 59 this property is no longer required to always return 24.
Edge Mobile ? Firefox Android Full support YesOpera Android Full support YesSafari iOS ? Samsung Internet Android Full support Yes
top
DeprecatedNon-standard
Chrome Full support YesEdge Full support YesFirefox Full support YesIE ? Opera Full support YesSafari Full support YesWebView Android Full support YesChrome Android Full support YesEdge Mobile Full support YesFirefox Android Full support YesOpera Android Full support YesSafari iOS ? Samsung Internet Android Full support Yes
unlockOrientationChrome Full support 38Edge ? Firefox Full support Yes
Prefixed
Full support Yes
Prefixed
Prefixed Requires the vendor prefix: moz
IE Full support 11
Prefixed
Full support 11
Prefixed
Prefixed Requires the vendor prefix: ms
Opera Full support YesSafari No support NoWebView Android Full support 38Chrome Android Full support 38Edge Mobile ? Firefox Android Full support Yes
Prefixed
Full support Yes
Prefixed
Prefixed Requires the vendor prefix: moz
Opera Android Full support YesSafari iOS No support NoSamsung Internet Android Full support Yes
widthChrome Full support YesEdge Full support YesFirefox Full support YesIE ? Opera Full support YesSafari Full support YesWebView Android Full support YesChrome Android Full support YesEdge Mobile Full support YesFirefox Android Full support YesOpera Android Full support YesSafari iOS ? Samsung Internet Android Full support Yes

Legend

Full support  
Full support
No support  
No support
Compatibility unknown  
Compatibility unknown
Non-standard. Expect poor cross-browser support.
Non-standard. Expect poor cross-browser support.
Deprecated. Not for use in new websites.
Deprecated. Not for use in new websites.
See implementation notes.
See implementation notes.
User must explicitly enable this feature.
User must explicitly enable this feature.
Uses a non-standard name.
Uses a non-standard name.
Requires a vendor prefix or different name for use.
Requires a vendor prefix or different name for use.
 

Document Tags and Contributors

Last updated by: Hirse,