Meshwright guides › VRChat face tracking shape keys: all 102 names
VRChat face tracking shape keys: all 102 names
VRChat's built-in face tracking moves an avatar's face from 102 tracking keys. They are the base shapes of Unified Expressions. This page lists all 102 in VRChat's order, says in plain words what each one does, and shows the ARKit (Perfect Sync) shape it belongs to. Names and order were checked against VRChat's documentation on 13 November 2026.
Download the CSV Check my avatar (free add-on)
How VRChat uses these names
- Face tracking is set up in the Face Tracking section of the VRC Avatar Descriptor.
- Use All Tracking Keys exposes the full set of keys and marks the avatar as supporting full face tracking.
- Auto-Fill Blendshapes maps blendshapes whose names match common face tracking standards to the tracking keys. You can also pick a blendshape for any key by hand.
- VRChat matches blendshapes by exact name, on up to 16 meshes. Spelling and capital letters count.
- Not every key needs a blendshape, and several keys can share one. Most avatars support only a part of the 102.
- Tracking data comes from Selfie Expression (a webcam on a desktop PC, or the camera of an Android phone or tablet) or from an external app over OSC.
- Basic face tracking needs no custom synced parameters.
Source: VRChat Creator Docs, Face Tracking and OSC Face Tracking (page dated 29 Oct 2026).
The 102 tracking keys
Order as in VRChat's documentation. Left and Right mean the character's own left and right. The short descriptions are ours. The names are VRChat's.
| Tracking key | What it does | ARKit shape (Perfect Sync) | FaceKeys 2.1 |
|---|---|---|---|
EyeLookOutRightEyes | right eye looks outward, away from the nose | eyeLookOutRight same shape | ✓ made |
EyeLookInRightEyes | right eye looks inward, toward the nose | eyeLookInRight same shape | ✓ made |
EyeLookUpRightEyes | right eye looks up | eyeLookUpRight same shape | ✓ made |
EyeLookDownRightEyes | right eye looks down | eyeLookDownRight same shape | ✓ made |
EyeLookOutLeftEyes | left eye looks outward, away from the nose | eyeLookOutLeft same shape | ✓ made |
EyeLookInLeftEyes | left eye looks inward, toward the nose | eyeLookInLeft same shape | ✓ made |
EyeLookUpLeftEyes | left eye looks up | eyeLookUpLeft same shape | ✓ made |
EyeLookDownLeftEyes | left eye looks down | eyeLookDownLeft same shape | ✓ made |
EyeClosedRightEyes | right eyelids close | eyeBlinkRight same shape | ✓ made |
EyeClosedLeftEyes | left eyelids close | eyeBlinkLeft same shape | ✓ made |
EyeDilationRightEyes | right pupil gets larger | not made | |
EyeDilationLeftEyes | left pupil gets larger | not made | |
EyeConstrictRightEyes | right pupil gets smaller | not made | |
EyeConstrictLeftEyes | left pupil gets smaller | not made | |
EyeSquintRightEyes | right eye squints: the lower lid and cheek tighten | eyeSquintRight same shape | ✓ made |
EyeSquintLeftEyes | left eye squints: the lower lid and cheek tighten | eyeSquintLeft same shape | ✓ made |
EyeWideRightEyes | right upper lid opens wider than normal | eyeWideRight same shape | ✓ made |
EyeWideLeftEyes | left upper lid opens wider than normal | eyeWideLeft same shape | ✓ made |
BrowPinchRightBrows | right brow pulls inward, toward the middle | part of browDownRight | ✓ made |
BrowPinchLeftBrows | left brow pulls inward, toward the middle | part of browDownLeft | ✓ made |
BrowLowererRightBrows | right brow moves down | part of browDownRight | ✓ made |
BrowLowererLeftBrows | left brow moves down | part of browDownLeft | ✓ made |
BrowInnerUpRightBrows | inner end of the right brow rises | part of browInnerUp | ✓ made |
BrowInnerUpLeftBrows | inner end of the left brow rises | part of browInnerUp | ✓ made |
BrowOuterUpRightBrows | outer end of the right brow rises | browOuterUpRight same shape | ✓ made |
BrowOuterUpLeftBrows | outer end of the left brow rises | browOuterUpLeft same shape | ✓ made |
NasalDilationRightNose and cheeks | right nostril flares | not made | |
NasalDilationLeftNose and cheeks | left nostril flares | not made | |
NasalConstrictRightNose and cheeks | right nostril narrows | not made | |
NasalConstrictLeftNose and cheeks | left nostril narrows | not made | |
CheekSquintRightNose and cheeks | right cheek rises toward the eye | cheekSquintRight same shape | ✓ made |
CheekSquintLeftNose and cheeks | left cheek rises toward the eye | cheekSquintLeft same shape | ✓ made |
CheekPuffRightNose and cheeks | right cheek puffs out with air | part of cheekPuff | ✓ made |
CheekPuffLeftNose and cheeks | left cheek puffs out with air | part of cheekPuff | ✓ made |
CheekSuckRightNose and cheeks | right cheek sucks in | ✓ made | |
CheekSuckLeftNose and cheeks | left cheek sucks in | ✓ made | |
JawOpenJaw | jaw opens | jawOpen same shape | ✓ made |
JawRightJaw | jaw shifts to the right | jawRight same shape | ✓ made |
JawLeftJaw | jaw shifts to the left | jawLeft same shape | ✓ made |
JawForwardJaw | jaw pushes forward | jawForward same shape | ✓ made |
JawBackwardJaw | jaw pulls back | ✓ made | |
JawClenchJaw | jaw clenches, the teeth press together | not made | |
JawMandibleRaiseJaw | lower jaw pushes up with the mouth closed | not made | |
MouthClosedMouth and lips | lips stay together while the jaw is open | mouthClose same shape | ✓ made |
LipSuckUpperRightMouth and lips | right half of the upper lip rolls inward over the teeth | part of mouthRollUpper | ✓ made |
LipSuckUpperLeftMouth and lips | left half of the upper lip rolls inward over the teeth | part of mouthRollUpper | ✓ made |
LipSuckLowerRightMouth and lips | right half of the lower lip rolls inward over the teeth | part of mouthRollLower | ✓ made |
LipSuckLowerLeftMouth and lips | left half of the lower lip rolls inward over the teeth | part of mouthRollLower | ✓ made |
LipSuckCornerRightMouth and lips | right mouth corner tucks inward | not made | |
LipSuckCornerLeftMouth and lips | left mouth corner tucks inward | not made | |
LipFunnelUpperRightMouth and lips | right half of the upper lip flares outward, as in an "O" | part of mouthFunnel | ✓ made |
LipFunnelUpperLeftMouth and lips | left half of the upper lip flares outward, as in an "O" | part of mouthFunnel | ✓ made |
LipFunnelLowerRightMouth and lips | right half of the lower lip flares outward, as in an "O" | part of mouthFunnel | ✓ made |
LipFunnelLowerLeftMouth and lips | left half of the lower lip flares outward, as in an "O" | part of mouthFunnel | ✓ made |
LipPuckerUpperRightMouth and lips | right half of the upper lip narrows and pushes forward, as in a kiss | part of mouthPucker | ✓ made |
LipPuckerUpperLeftMouth and lips | left half of the upper lip narrows and pushes forward, as in a kiss | part of mouthPucker | ✓ made |
LipPuckerLowerRightMouth and lips | right half of the lower lip narrows and pushes forward, as in a kiss | part of mouthPucker | ✓ made |
LipPuckerLowerLeftMouth and lips | left half of the lower lip narrows and pushes forward, as in a kiss | part of mouthPucker | ✓ made |
MouthUpperUpRightMouth and lips | right half of the upper lip rises and shows the upper teeth | mouthUpperUpRight same shape | ✓ made |
MouthUpperUpLeftMouth and lips | left half of the upper lip rises and shows the upper teeth | mouthUpperUpLeft same shape | ✓ made |
MouthUpperDeepenRightMouth and lips | the fold from the nose to the right mouth corner deepens as the upper lip rises | not made | |
MouthUpperDeepenLeftMouth and lips | the fold from the nose to the left mouth corner deepens as the upper lip rises | not made | |
NoseSneerRightNose and cheeks | right side of the nose wrinkles upward | noseSneerRight same shape | ✓ made |
NoseSneerLeftNose and cheeks | left side of the nose wrinkles upward | noseSneerLeft same shape | ✓ made |
MouthLowerDownRightMouth and lips | right half of the lower lip moves down and shows the lower teeth | mouthLowerDownRight same shape | ✓ made |
MouthLowerDownLeftMouth and lips | left half of the lower lip moves down and shows the lower teeth | mouthLowerDownLeft same shape | ✓ made |
MouthUpperRightMouth and lips | upper lip shifts to the right | part of mouthRight | ✓ made |
MouthUpperLeftMouth and lips | upper lip shifts to the left | part of mouthLeft | ✓ made |
MouthLowerRightMouth and lips | lower lip shifts to the right | part of mouthRight | ✓ made |
MouthLowerLeftMouth and lips | lower lip shifts to the left | part of mouthLeft | ✓ made |
MouthCornerPullRightMouth and lips | right mouth corner pulls back and up (the pull of a smile) | part of mouthSmileRight | ✓ made |
MouthCornerPullLeftMouth and lips | left mouth corner pulls back and up (the pull of a smile) | part of mouthSmileLeft | ✓ made |
MouthCornerSlantRightMouth and lips | right mouth corner tilts upward (the lift of a smile) | part of mouthSmileRight | ✓ made |
MouthCornerSlantLeftMouth and lips | left mouth corner tilts upward (the lift of a smile) | part of mouthSmileLeft | ✓ made |
MouthFrownRightMouth and lips | right mouth corner pulls down | mouthFrownRight same shape | ✓ made |
MouthFrownLeftMouth and lips | left mouth corner pulls down | mouthFrownLeft same shape | ✓ made |
MouthStretchRightMouth and lips | right mouth corner stretches sideways and down | mouthStretchRight same shape | ✓ made |
MouthStretchLeftMouth and lips | left mouth corner stretches sideways and down | mouthStretchLeft same shape | ✓ made |
MouthDimpleRightMouth and lips | right mouth corner pulls straight back and makes a dimple | mouthDimpleRight same shape | ✓ made |
MouthDimpleLeftMouth and lips | left mouth corner pulls straight back and makes a dimple | mouthDimpleLeft same shape | ✓ made |
MouthRaiserUpperMouth and lips | upper lip is pushed up by the lower lip | mouthShrugUpper same shape | ✓ made |
MouthRaiserLowerMouth and lips | lower lip pushes up, the chin tightens | mouthShrugLower same shape | ✓ made |
MouthPressRightMouth and lips | right half of the lips presses together | mouthPressRight same shape | ✓ made |
MouthPressLeftMouth and lips | left half of the lips presses together | mouthPressLeft same shape | ✓ made |
MouthTightenerRightMouth and lips | right half of the lips tightens and narrows | not made | |
MouthTightenerLeftMouth and lips | left half of the lips tightens and narrows | not made | |
TongueOutTongue | tongue sticks out | tongueOut same shape | ✓ made |
TongueUpTongue | tongue points up | ✓ made | |
TongueDownTongue | tongue points down | ✓ made | |
TongueRightTongue | tongue points to the right | ✓ made | |
TongueLeftTongue | tongue points to the left | ✓ made | |
TongueRollTongue | tongue rolls into a tube | not made | |
TongueBendDownTongue | tongue tip bends down | not made | |
TongueCurlUpTongue | tongue tip curls up | not made | |
TongueSquishTongue | tongue becomes narrow and thick | not made | |
TongueFlatTongue | tongue becomes wide and flat | not made | |
TongueTwistRightTongue | tongue twists to the right | not made | |
TongueTwistLeftTongue | tongue twists to the left | not made | |
SoftPalateCloseThroat and neck | soft palate closes (at the back of the roof of the mouth) | not made | |
ThroatSwallowThroat and neck | throat moves as in swallowing | not made | |
NeckFlexRightThroat and neck | neck muscle on the right side tightens | not made | |
NeckFlexLeftThroat and neck | neck muscle on the left side tightens | not made |
ARKit (Perfect Sync) to VRChat
An avatar with the 52 ARKit shapes already holds most of the motion. 40 ARKit shapes are one tracking key under another name. 12 are blends: one ARKit shape covers 2 or 4 tracking keys. Blended names such as MouthSmileLeft or LipFunnel are not among the 102 keys.
| ARKit shape | VRChat tracking key or keys |
|---|---|
eyeBlinkLeft | EyeClosedLeft |
eyeLookDownLeft | EyeLookDownLeft |
eyeLookInLeft | EyeLookInLeft |
eyeLookOutLeft | EyeLookOutLeft |
eyeLookUpLeft | EyeLookUpLeft |
eyeSquintLeft | EyeSquintLeft |
eyeWideLeft | EyeWideLeft |
eyeBlinkRight | EyeClosedRight |
eyeLookDownRight | EyeLookDownRight |
eyeLookInRight | EyeLookInRight |
eyeLookOutRight | EyeLookOutRight |
eyeLookUpRight | EyeLookUpRight |
eyeSquintRight | EyeSquintRight |
eyeWideRight | EyeWideRight |
jawForward | JawForward |
jawLeft | JawLeft |
jawRight | JawRight |
jawOpen | JawOpen |
mouthClose | MouthClosed |
mouthFunnel | LipFunnelUpperRight LipFunnelUpperLeft LipFunnelLowerRight LipFunnelLowerLeft |
mouthPucker | LipPuckerUpperRight LipPuckerUpperLeft LipPuckerLowerRight LipPuckerLowerLeft |
mouthLeft | MouthUpperLeft MouthLowerLeft |
mouthRight | MouthUpperRight MouthLowerRight |
mouthSmileLeft | MouthCornerPullLeft MouthCornerSlantLeft |
mouthSmileRight | MouthCornerPullRight MouthCornerSlantRight |
mouthFrownLeft | MouthFrownLeft |
mouthFrownRight | MouthFrownRight |
mouthDimpleLeft | MouthDimpleLeft |
mouthDimpleRight | MouthDimpleRight |
mouthStretchLeft | MouthStretchLeft |
mouthStretchRight | MouthStretchRight |
mouthRollLower | LipSuckLowerRight LipSuckLowerLeft |
mouthRollUpper | LipSuckUpperRight LipSuckUpperLeft |
mouthShrugLower | MouthRaiserLower |
mouthShrugUpper | MouthRaiserUpper |
mouthPressLeft | MouthPressLeft |
mouthPressRight | MouthPressRight |
mouthLowerDownLeft | MouthLowerDownLeft |
mouthLowerDownRight | MouthLowerDownRight |
mouthUpperUpLeft | MouthUpperUpLeft |
mouthUpperUpRight | MouthUpperUpRight |
browDownLeft | BrowPinchLeft BrowLowererLeft |
browDownRight | BrowPinchRight BrowLowererRight |
browInnerUp | BrowInnerUpRight BrowInnerUpLeft |
browOuterUpLeft | BrowOuterUpLeft |
browOuterUpRight | BrowOuterUpRight |
cheekPuff | CheekPuffRight CheekPuffLeft |
cheekSquintLeft | CheekSquintLeft |
cheekSquintRight | CheekSquintRight |
noseSneerLeft | NoseSneerLeft |
noseSneerRight | NoseSneerRight |
tongueOut | TongueOut |
The pairs follow the ARKit table of the VRCFaceTracking documentation.
Check your avatar in Blender, free
FaceKeys Check is a free Blender add-on. It reads the shape key names of the face mesh and shows how many of the 102 tracking keys, the 52 ARKit shapes and the 15 visemes the avatar has.
It lists the missing keys by group and names that are almost right, for example a wrong capital letter. It changes nothing in the file.
Get FaceKeys Check (free, Gumroad) BOOTH
Make the missing keys
FaceKeys is our paid Blender add-on for avatars that have no face tracking shape keys. Version 2.1 makes 75 of the 102 keys with VRChat's exact names: the 52 ARKit shapes, split into their tracking keys where one shape covers several, plus CheekSuck, JawBackward and the tongue pointing up, down, left and right.
The other 27 keys are marked "not made" in the table: pupils, nostrils, jaw clench, lip corners, upper lip deepen, lip tightener, the finer tongue shapes, throat and neck.
Questions
- Does my avatar need all 102 keys?
- No. VRChat says that not every tracking key needs a blendshape and that most avatars support only a part of them. Keys without a blendshape simply do nothing.
- Do capital letters matter?
- Yes. VRChat matches blendshapes by exact name. "jawopen" is not "JawOpen". FaceKeys Check points out names that are almost right.
- Is MouthSmileLeft one of the keys?
- No. The 102 keys are base shapes. A smile is MouthCornerPull plus MouthCornerSlant on each side. The ARKit shape mouthSmileLeft covers both.
- Which side is Left?
- The character's own left. On screen, facing the avatar, that is your right.
- Are the visemes part of the 102?
- No. The 15 visemes (vrc.v_aa and so on) are separate. VRChat can route them through the same Face Tracking section when LipSync Mode is set to Viseme Blend Shape Face Tracking.
- What do I need to be tracked?
- VRChat names two sources: Selfie Expression, which uses a webcam on a desktop PC or the camera of an Android phone or tablet, and external apps that send data over OSC.
- May I use the CSV?
- Yes, freely, for anything. The key names are VRChat's. The descriptions are ours and you may reuse them.