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


The DeviceMotionEvent provides web developers with information about the speed of changes for the device's position and orientation.

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


Creates a new DeviceMotionEvent.


DeviceMotionEvent.acceleration Read only
An object giving the acceleration of the device on the three axis X, Y and Z. Acceleration is expressed in m/s2.
DeviceMotionEvent.accelerationIncludingGravity Read only
An object giving the acceleration of the device on the three axis X, Y and Z with the effect of gravity. Acceleration is expressed in m/s2.
DeviceMotionEvent.rotationRate Read only
An object giving the rate of change of the device's orientation on the three orientation axis alpha, beta and gamma. Rotation rate is expressed in degrees per seconds.
DeviceMotionEvent.interval Read only
A number representing the interval of time, in milliseconds, at which data is obtained from the device.


window.addEventListener('devicemotion', function(event) {
  console.log(event.acceleration.x + ' m/s2');


Specification Status Comment
Device Orientation Events Working Draft Initial specification.

Browser compatibility

FeatureChromeEdgeFirefoxInternet ExplorerOperaSafari
Basic support Yes Yes6 ? ? ?
DeviceMotionEvent() constructor59 ? ? ? ? ?
acceleration Yes Yes6 ? ? ?
accelerationIncludingGravity Yes Yes6 ? ? ?
interval Yes Yes6 ? ? ?
rotationRate Yes Yes6 ? ? ?
FeatureAndroid webviewChrome for AndroidEdge mobileFirefox for AndroidOpera AndroidiOS SafariSamsung Internet
Basic support Yes Yes Yes6 No4.2 ?
DeviceMotionEvent() constructor5959 ? ? ? ? ?
acceleration Yes Yes Yes6 No4.2 ?
accelerationIncludingGravity Yes Yes Yes6 No4.2 ?
interval Yes Yes Yes6 No4.2 ?
rotationRate Yes Yes Yes6 No4.2 ?

See also

Document Tags and Contributors

Last updated by: fscholz,