Runs entirely in your browser

Will your avatar actually move?

Animation clips address bones by name. A rig whose joints are called Bip001 L UpperArm loads perfectly, renders perfectly, and then stands frozen forever. Drop your .glb and know in one second, before you upload it anywhere.

No file handy? Try one:
  • 0 bytes leave your machine
  • 52 canonical joints scored
  • 11 rig conventions recognised
  • 1 click to download the repair

Why rigs go silent

Clips address bones by name

Every clip in the three.ws library is authored against one canonical skeleton: Hips, LeftForeArm, RightUpLeg, 52 joints in total. A track that names LeftForeArm drives nothing on a rig that calls that joint lowerarm_l.

The failure is silent

Nothing errors. The GLB loads, the material renders, the mixer runs, and the character stands in its bind pose. Nobody tells you why, which is why this page exists and why it runs before you upload rather than after.

Most rigs are one rename away

Mixamo, Avaturn, Ready Player Me, Unreal, VRM, Daz, Rigify, Biped, HumanIK, Reallusion, and MakeHuman all name the same joints differently. The canonicalizer already knows every one of those dialects, and it can rewrite your file in place.

Partial rigs are the common case

A rig rarely fails outright. Far more often the torso and arms map and the legs do not, so the avatar glides across the floor with frozen knees. Scoring each limb group separately is the difference between "62% covered" and "your legs will not move".