Skip to content
AF

Apple Vision 2D body pose: the 19 joint names

19 joints · from VNHumanBodyPoseObservation.JointName · read 2026-10-17

Apple Vision 2D has 19 named joint constants, leftEar to rightAnkle, on VNHumanBodyPoseObservation.JointName; Apple gives them no numeric index. The sources tie it to Apple Vision VNDetectHumanBodyPoseRequest. All 19 names match a point in another scheme once lowercased with separators removed. Read from the sources on 2026-10-17.

Models that output it

  • Apple Vision VNDetectHumanBodyPoseRequest · Apple Vision body poseEvidence: VNDetectHumanBodyPoseRequest says “The framework provides the detected body pose as a VNHumanBodyPoseObservation.” (source).

All 19 joints

Names are copied exactly from the static joint-name constants of VNHumanBodyPoseObservation.JointName. Apple gives these constants no numeric index, so the rows follow the order of Apple’s documentation. The last column says whether another scheme on this site spells the same name, by the crosswalk rule.

NameApple’s groupThe source’s descriptionSame name in
leftEarHeadThe left ear.BlazePose 33, ML Kit 33, COCO 17, Halpe26, COCO-WholeBody 133
leftEyeHeadThe left eye.BlazePose 33, ML Kit 33, COCO 17, Halpe26, COCO-WholeBody 133
rightEarHeadThe right ear.BlazePose 33, ML Kit 33, COCO 17, Halpe26, COCO-WholeBody 133
rightEyeHeadThe right eye.BlazePose 33, ML Kit 33, COCO 17, Halpe26, COCO-WholeBody 133
neckHeadThe neck.Halpe26, OpenPose BODY_25, OpenPose COCO 18
noseHeadThe nose.BlazePose 33, ML Kit 33, COCO 17, Halpe26, COCO-WholeBody 133, OpenPose BODY_25, OpenPose COCO 18
leftShoulderArmsThe left shoulder.BlazePose 33, ML Kit 33, COCO 17, Halpe26, COCO-WholeBody 133, Apple Vision 3D
leftElbowArmsThe left elbow.BlazePose 33, ML Kit 33, COCO 17, Halpe26, COCO-WholeBody 133, Apple Vision 3D
leftWristArmsThe left wrist.BlazePose 33, ML Kit 33, COCO 17, Halpe26, COCO-WholeBody 133, Apple Vision 3D
rightShoulderArmsThe right shoulder.BlazePose 33, ML Kit 33, COCO 17, Halpe26, COCO-WholeBody 133, Apple Vision 3D
rightElbowArmsThe right elbow.BlazePose 33, ML Kit 33, COCO 17, Halpe26, COCO-WholeBody 133, Apple Vision 3D
rightWristArmsThe right wrist.BlazePose 33, ML Kit 33, COCO 17, Halpe26, COCO-WholeBody 133, Apple Vision 3D
rootWaistThe root (waist).Apple Vision 3D
leftHipLegsThe left hip.BlazePose 33, ML Kit 33, COCO 17, Halpe26, COCO-WholeBody 133, Apple Vision 3D
leftKneeLegsThe left knee.BlazePose 33, ML Kit 33, COCO 17, Halpe26, COCO-WholeBody 133, Apple Vision 3D
leftAnkleLegsThe left ankle.BlazePose 33, ML Kit 33, COCO 17, Halpe26, COCO-WholeBody 133, Apple Vision 3D
rightHipLegsThe right hip.BlazePose 33, ML Kit 33, COCO 17, Halpe26, COCO-WholeBody 133, Apple Vision 3D
rightKneeLegsThe right knee.BlazePose 33, ML Kit 33, COCO 17, Halpe26, COCO-WholeBody 133, Apple Vision 3D
rightAnkleLegsThe right ankle.BlazePose 33, ML Kit 33, COCO 17, Halpe26, COCO-WholeBody 133, Apple Vision 3D

What the sources say about the output

Copied from the sources, whitespace collapsed.

  • VNHumanBodyPoseObservation.JointName: The supported joint names for the body pose. (VNHumanBodyPoseObservation.JointName)

How this list was checked

  • no joint constant is marked deprecated
  • Apple files the constants under 4 topic groups: Head, Arms, Waist, Legs
  • 19 of 19 names are shared with another scheme; the rest are listed as unmapped.

Apple lists the joint-name type as available from iOS 14.0, iPadOS 14.0, Mac Catalyst 14.0, macOS 11.0, tvOS 14.0 and visionOS 1.0.

Other schemes

Questions

What are the 19 Apple Vision 2D body pose joint names?

Apple documents leftEar, leftEye, rightEar, rightEye, neck, nose, leftShoulder, leftElbow, leftWrist, rightShoulder, rightElbow, rightWrist, root, leftHip, leftKnee, leftAnkle, rightHip, rightKnee and rightAnkle, filed under the topic groups Head, Arms, Waist and Legs. They are named constants with no numeric index.

Which pose models output Apple Vision 2D joints?

Apple Vision VNDetectHumanBodyPoseRequest: VNDetectHumanBodyPoseRequest says “The framework provides the detected body pose as a VNHumanBodyPoseObservation.” Only models a fetched source ties to this scheme are listed.

How do Apple Vision 2D joints map to other pose keypoint schemes?

By name only. 19 of the 19 share an identical name, once lowercased with separators removed, with a point in BlazePose 33, ML Kit 33, COCO 17, Halpe26, COCO-WholeBody 133, OpenPose BODY_25, OpenPose COCO 18 and Apple Vision 3D, so every one has a crosswalk row. A shared row means the names match, not that two models place the point in the same spot.

Sources

Generated by scripts/fetch-pose-keypoints.mjs and compiled by AIFitnessAPI. The sources remain the authority.