This is an experimental technology
Check the Browser compatibility table carefully before using this in production.

The Screen.orientation property give the current orientation of the screen.

Syntax

var orientation = window.screen.orientation;

Return value

An instance of ScreenOrientation representing the orientation of the screen.

Example

var orientation = screen.msOrientation || (screen.orientation || screen.mozOrientation || {}).type;

if (orientation === "landscape-primary") {
  console.log("That looks good.");
} else if (orientation === "landscape-secondary") {
  console.log("Mmmh... the screen is upside down!");
} else if (orientation === "portrait-secondary" || orientation === "portrait-primary") {
  console.log("Mmmh... you should rotate your device to landscape");
} else if (orientation === undefined) {
 console.log("The orientation API isn't supported in this browser :("); 
}

Specifications

Specification Status Comment
Screen Orientation API
The definition of 'Screen Orientation' in that specification.
Working Draft Initial definition

Browser compatibility

Update compatibility data on GitHub
DesktopMobile
ChromeEdgeFirefoxInternet ExplorerOperaSafariAndroid webviewChrome for AndroidEdge MobileFirefox for AndroidOpera for AndroidiOS SafariSamsung Internet
Basic supportChrome Full support 38Edge ? Firefox Full support Yes
Full support Yes
Full support Yes
Prefixed
Prefixed Implemented with the vendor prefix: moz
IE Full support 11
Prefixed Notes
Full support 11
Prefixed Notes
Prefixed Implemented with 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 Implemented with the vendor prefix: moz
Opera Android No support NoSafari iOS No support NoSamsung Internet Android ?

Legend

Full support  
Full support
No support  
No support
Compatibility unknown  
Compatibility unknown
See implementation notes.
See implementation notes.
Requires a vendor prefix or different name for use.
Requires a vendor prefix or different name for use.

See also

Document Tags and Contributors

Last updated by: urty5656,