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

The DeviceOrientationEvent provides web developers with information from the physical orientation of the device running the web page.

Warning: Currently, Firefox and Chrome do not handle the coordinates the same way. Take care about this while using them.

Constructor

DeviceOrientationEvent.DeviceOrientationEvent()
Creates a new DeviceOrientationEvent.

Properties

DeviceOrientationEvent.absolute Read only
A boolean that indicates whether or not the device is providing orientation data absolutely.
DeviceOrientationEvent.alpha Read only
A number representing the motion of the device around the z axis, express in degrees with values ranging from 0 to 360.
DeviceOrientationEvent.beta Read only
A number representing the motion of the device around the x axis, express in degrees with values ranging from -180 to 180. This represents a front to back motion of the device.
DeviceOrientationEvent.gamma Read only
A number representing the motion of the device around the y axis, express in degrees with values ranging from -90 to 90. This represents a left to right motion of the device.
DeviceOrientationEvent.webkitCompassHeading Read only
A number represents the difference between the motion of the device around the z axis of the world system and the direction of the north,  express in degrees with values ranging from 0 to 360.
DeviceOrientationEvent.webkitCompassAccuracy Read only
The accuracy of the compass means that the deviation is positive or negative. It's usually 10.

Example

window.addEventListener('deviceorientation', function(event) {
  console.log(event.alpha + ' : ' + event.beta + ' : ' + event.gamma);
});

Specifications

Specification Status Comment
Device Orientation Events Working Draft Initial specification.

Browser compatibility

Update compatibility data on GitHub
DesktopMobile
ChromeEdgeFirefoxInternet ExplorerOperaSafariAndroid webviewChrome for AndroidEdge MobileFirefox for AndroidOpera for AndroidiOS SafariSamsung Internet
Basic support
Experimental
Chrome Full support 7
Notes
Full support 7
Notes
Notes Before version 50, Chrome provided absolute values instead of relative values for this event. Developers still needing absolute values may use the ondeviceorientationabsolute event.
Edge Full support YesFirefox Full support 6
Notes
Full support 6
Notes
Notes Firefox 3.6, 4, and 5 supported mozOrientation instead of the standard DeviceOrientationEvent interface.
IE ? Opera ? Safari ? WebView Android Full support Yes
Notes
Full support Yes
Notes
Notes Before version 50, Chrome provided absolute values instead of relative values for this event. Developers still needing absolute values may use the ondeviceorientationabsolute event.
Chrome Android Full support Yes
Notes
Full support Yes
Notes
Notes Before version 50, Chrome provided absolute values instead of relative values for this event. Developers still needing absolute values may use the ondeviceorientationabsolute event.
Edge Mobile Full support YesFirefox Android Full support 6
Notes
Full support 6
Notes
Notes Firefox 3.6, 4, and 5 supported mozOrientation instead of the standard DeviceOrientationEvent interface.
Opera Android No support NoSafari iOS Full support 4.2Samsung Internet Android ?
DeviceOrientationEvent() constructor
ExperimentalNon-standard
Chrome Full support 59Edge ? Firefox ? IE ? Opera ? Safari ? WebView Android Full support 59Chrome Android Full support 59Edge Mobile ? Firefox Android ? Opera Android ? Safari iOS ? Samsung Internet Android ?
absolute
Experimental
Chrome Full support 7Edge Full support YesFirefox Full support 6IE ? Opera ? Safari ? WebView Android Full support YesChrome Android Full support YesEdge Mobile Full support YesFirefox Android Full support 6Opera Android No support NoSafari iOS Full support 4.2Samsung Internet Android ?
alpha
Experimental
Chrome Full support 7Edge Full support YesFirefox Full support 6IE ? Opera ? Safari ? WebView Android Full support YesChrome Android Full support YesEdge Mobile Full support YesFirefox Android Full support 6Opera Android No support NoSafari iOS Full support 4.2Samsung Internet Android ?
beta
Experimental
Chrome Full support 7Edge Full support YesFirefox Full support 6IE ? Opera ? Safari ? WebView Android Full support YesChrome Android Full support YesEdge Mobile Full support YesFirefox Android Full support 6Opera Android No support NoSafari iOS Full support 4.2Samsung Internet Android ?
gamma
Experimental
Chrome Full support 7Edge Full support YesFirefox Full support 6IE ? Opera ? Safari ? WebView Android Full support YesChrome Android Full support YesEdge Mobile Full support YesFirefox Android Full support 6Opera Android No support NoSafari iOS Full support 4.2Samsung Internet Android ?

Legend

Full support  
Full support
No support  
No support
Compatibility unknown  
Compatibility unknown
Experimental. Expect behavior to change in the future.
Experimental. Expect behavior to change in the future.
Non-standard. Expect poor cross-browser support.
Non-standard. Expect poor cross-browser support.
See implementation notes.
See implementation notes.

See also

Document Tags and Contributors

Last updated by: fscholz,