Frame & Rotation Converter
One orientation, every representation, live. Quaternion in both component orders, Euler angles in all twelve conventions (intrinsic and extrinsic), rotation matrix, axis-angle and OpenCV rvec. Then convert the whole thing between ROS, NED, Unity, Unreal, OpenCV, OpenGL and Blender frames. Everything runs in your browser and nothing you type is sent anywhere.
01Live conversion
Quaternion
Both component orders are shown. Editing either one updates everything else. Getting these two orders mixed up is the single most common orientation bug in robotics code.
Euler angles
Twelve sequences, each available as intrinsic (the axes move with the body) or extrinsic (the axes stay fixed in the world).
Axis-angle and rotation vector
The axis is a unit vector, the angle comes back in 0 to 180 degrees. The rotation vector is the same thing collapsed into three numbers, which is exactly what OpenCV calls rvec.
3D gizmo
Coloured axes show the current orientation. The faint grey axes behind them are the reference frame at identity. Drag to orbit, scroll to zoom.
Rotation matrix
Row major, 3x3, applied as v' = R v. Paste a matrix from a log and the orthonormality readout tells you whether it is still a valid rotation.
Homogeneous 4x4 transform
The same rotation with a translation attached, in the form people actually paste out of a debugger or a tf echo.
02Code out
The current rotation, written in the syntax of the tool you are heading to. Ordering and units are already handled.
loading
03Compose and compare
Apply A, then apply B. The result is the quaternion product qB times qA, because the rotation applied last sits on the left. The angular distance is the single number that answers "how far apart are these two orientations".
04Frame convention converter
The current rotation and a position, re-expressed in a different frame convention. Every convention below is defined by where its three axes point, so the basis change is explicit and you can check it by eye.
05Which tool uses which convention
The table people actually search for. Check your source against this before you start debugging signs.
| Tool or standard | Quaternion order | Euler convention | Axes and handedness | Notes |
|---|
Why this tool exists
An orientation is one physical thing with a dozen ways to write it down, and the ways disagree about details that never appear in the numbers themselves. ROS writes a quaternion as x, y, z, w. MuJoCo and most papers write the same quaternion as w, x, y, z. A URDF rpy triple is extrinsic XYZ in radians, which is the same rotation as an intrinsic ZYX yaw, pitch, roll triple, and reading it the other way round gives you a robot that is subtly wrong in a way that only shows up when the arm swings. Unity is left handed with y up. Unreal is left handed with z up and measures in centimetres. An OpenCV camera looks down its own +z with +y pointing at the floor. Blender is z up and right handed.
Most orientation bugs come from two pieces of correct code that assumed different conventions and met in the middle. This page puts every representation of one rotation on screen at the same time, names which real tool uses which, and shows the exact basis change when you move between frames, including whether that move flips handedness. The maths is written out in the page source as plain functions, one per idea, so you can check any step yourself.
Everything here runs client side. Nothing you type or paste leaves your machine, and the page makes no network calls once it has loaded.