Orientation Tester

Test your device orientation with live 3D phone visualization. Monitor tilt angles, rotation values, and device position in real-time with interactive display.

Idle
Phone 3D Device visualization
Tilt and rotate your device to see the 3D model move in real-time
Angles Orientation angles
Alpha Alpha (Z)
0° - 360°
Beta Beta (X)
-180° - 180°
Gamma Gamma (Y)
-90° - 90°
Tilt Tilt information
Forward/Back tilt:
Left/Right tilt:
Device orientation:--
Heading Compass heading
Arrow
N
Info Sensor information

About Orientation Tester

Test your device's orientation sensors with a realistic 3D phone visualization that mirrors your device's exact position. Monitor tilt angles across all three axes (alpha, beta, gamma), view compass heading, and understand device orientation in real-time. Perfect for testing motion sensors, calibrating devices, or developing orientation-based applications.

  1. Press Start testing to activate the orientation sensor.
  2. Tilt and rotate your device in different directions.
  3. Watch the 3D phone model move exactly as your device moves.
  4. Monitor angle values for alpha (compass), beta (front/back tilt), and gamma (left/right tilt).
  5. Use the Calibrate button to set the current position as the reference zero point.
  6. Check the tilt information card to see device orientation (Portrait/Landscape/Face Up/Face Down).
  7. View the compass heading to see which direction your device is facing.

Frequently Asked Questions

An orientation tester reports your device's current 3D attitude — how it is tilted and rotated relative to the Earth's reference frame. The three values reported are alpha (rotation around the vertical Z-axis, 0–360°), beta (front-back tilt around the X-axis, −180 to 180°), and gamma (left-right tilt around the Y-axis, −90 to 90°). These angles come from sensor-fused data combining the gyroscope (short-term rotation), accelerometer (long-term gravity reference for pitch/roll), and magnetometer (long-term north reference for yaw). The result is sometimes called the 'attitude' or 'pose' of the device. Unlike a gyroscope reading, which is a velocity, orientation is a position — telling you where the device points, not how fast it is turning.

Orientation issues are subtle: a phone with a degraded fused-orientation pipeline still displays correctly in apps that just need screen rotation, but fails in AR, 360° video, and navigation contexts that depend on accurate heading. Testing reveals whether all three angles update smoothly as you rotate the device, whether they converge correctly when held still, and whether the compass heading (alpha) is anchored to true north or magnetic north. The test also exposes gimbal lock (beta near ±90°), uncalibrated magnetometer (heading off by 10°+), and excessive gyro drift (orientation slowly wandering at rest). Developers building tilt games, scrolling photographs, or AR overlays use this to validate their target hardware before shipping.

The W3C DeviceOrientation spec defines alpha as rotation around the Z-axis (vertical, ranging 0–360° clockwise from north), beta as rotation around the X-axis (front-back tilt, ranging −180 to 180°, with +90° meaning the phone is pointing up vertically), and gamma as rotation around the Y-axis (left-right tilt, ranging −90 to 90°). In aerospace terms, alpha is yaw (heading), beta is pitch, and gamma is roll — but watch out: aerospace conventions use ZYX rotation order with different signs, while W3C uses ZXY. The two orderings give different angle values for the same physical orientation. For continuous-rotation work, quaternions avoid these ambiguities by representing rotation as a 4-component vector with no angle conventions to confuse.

This is gimbal lock, a mathematical limitation of representing 3D rotation as three Euler angles. In W3C's ZXY order, when beta crosses ±90° (phone pointing straight up or straight down), the alpha and gamma axes align, collapsing the three degrees of freedom into two. Small device tilts then cause huge jumps in alpha or gamma to compensate. The phenomenon is not a sensor bug — it happens in every Euler-angle system regardless of hardware. The robust solution is to use quaternions or rotation matrices internally and only convert to Euler angles for display. AR frameworks (ARKit, ARCore, WebXR) all use quaternions to avoid this. If you only need yaw for compass apps, gimbal lock at beta=90° is acceptable; for free-form orientation, switch to quaternions.

Three culprits explain bad compass readings. First, uncalibrated magnetometer: hard-iron offsets from phone cases with magnets or proximity to metal can shift the heading by tens of degrees. Fix by rotating the phone in a figure-eight pattern while a calibration app captures samples — most operating systems do this in the background but it can need fresh calibration after environment changes. Second, declination: phones default to magnetic north unless explicitly converted to true north using the World Magnetic Model (WMM2025). Magnetic north differs from true north by up to 30° depending on your location. Third, indoor steel structures distort the local magnetic field by 100–500 μT, throwing the heading off by any amount. Always test outdoors for a true heading.

Orientation is a position in 3D rotation space — telling you 'the phone is currently pitched 30° down and pointing northeast.' Rotation rate (angular velocity) is a derivative — telling you 'the phone is currently spinning at 90°/second around the Z axis.' The gyroscope sensor measures rotation rate directly; orientation is computed by integrating rotation rate over time and correcting drift with accelerometer (gravity) and magnetometer (north) anchors. If you only need to detect a sudden turn (like a flick gesture), use rotation rate from DeviceMotionEvent. If you need to know which way the device is currently pointing for AR or compass apps, use orientation from DeviceOrientationEvent. Both can be active simultaneously.

The W3C DeviceOrientationEvent API delivers alpha/beta/gamma at ~60 Hz, fused from gyroscope + accelerometer + magnetometer. Since iOS 13, calling DeviceOrientationEvent.requestPermission() from a user gesture is required; without it Safari emits zeros. Android Chromium grants access automatically on HTTPS pages. The newer Generic Sensor API offers AbsoluteOrientationSensor (heading anchored to true north) and RelativeOrientationSensor (heading drifting freely) classes with quaternion output — preferred for AR work but only supported on Chromium browsers behind the Sensors permission. iOS Safari exposes webkitCompassHeading on the orientation event for true-north heading without needing WMM math. Always feature-detect and fall back gracefully.

The W3C DeviceOrientation Event Specification defines the alpha/beta/gamma conventions, axis order (intrinsic Tait-Bryan ZXY), and update rate target (60 Hz). The newer W3C Generic Sensor API specs for AbsoluteOrientationSensor and RelativeOrientationSensor use quaternions to avoid Euler ambiguity. The OpenXR runtime spec governs AR/VR head-tracking orientation reporting. Magnetometer reference comes from the World Magnetic Model (WMM2025, NOAA/BGS), updated every five years. Gyroscope and IMU performance is characterized via IEEE 1554 and IEEE 952 (Allan variance bias instability, angle random walk). Modern phones meet the IATA aviation supplemental specification of ±1° pitch/roll and ±5° heading accuracy — more than sufficient for navigation, gaming, and most AR applications.
Orientation Tester — Test your device orientation with live 3D phone visualization. Monitor tilt angles, rotation values, and device position
Orientation Tester