demo · v131

all 26 joints, names + radii

A WebXR hand exposes 26 joints — wrist, four per finger (metacarpal, proximal, intermediate, distal), tip per finger. Each joint has a 3D pose and a radius for grasp detection. The list is the actual XRHand joint enumeration order; click a joint to highlight its position on the schematic.

session Real values require an immersive-vr or immersive-ar session on hardware that supports hand-tracking (Quest, AVP). On a desktop browser the schematic is illustrative — joint names and radii are the real spec values; positions are example data.
selected jointwrist radius role

    the api

    // In an XR animation frame
    for (const inputSource of session.inputSources) {
      if (!inputSource.hand) continue;
      for (const [name, jointSpace] of inputSource.hand.entries()) {
        const pose = frame.getJointPose(jointSpace, refSpace);
        // pose.transform.position, pose.transform.orientation
        // pose.radius   - sphere of contact for the joint
      }
    }

    see also