FBX to VRM converter: rig mapped, textures kept

Drop a rigged .fbx, .glb, .gltf or .blend, or a zip of the model with its textures. The skeleton is mapped onto the VRM humanoid, the materials and textures come along, the shape keys become expressions, and the result is shown in 3D before you download it.

What comes across, and what cannot

Comes across

  • · The skeleton, mapped onto the VRM humanoid (Mixamo, Unreal, Unity, Rigify and MMD naming read)
  • · Skin weights, so the mesh follows the bones
  • · Materials and textures, embedded or from the zipped folder
  • · Shape keys, as VRM expressions under their names; ARKit and VRoid shapes wired to the standard ones
  • · Finger bones where the rig has them

Does not

  • · Animation clips in the file: the rig arrives in its bind pose (the FBX to VRMA converter takes the clip)
  • · Spring bones and physics: add them in a VRM editor if you want hair that swings
  • · A skeleton that is not humanoid: a quadruped or a prop has nothing to map
  • · Text (ASCII) FBX and FBX 6.x: re-export as binary 7.1 or newer

How to convert FBX to VRM

  1. Drop the file, or a zip of the model with its texture folder, on this page. Up to 100 MB. A zip with several models asks which one you meant.
  2. The converter opens it in Blender on our server, maps the bones, converts the materials and writes a VRM; most files take under a minute. If the rig cannot be mapped, the page names the missing bones.
  3. Preview the result in 3D, pull its expressions, then download the .vrm. The upload and the result are deleted 3 days later.

Why VTubing apps need a VRM

VSeeFace, Warudo, VNyan and VRChat read .vrm, a glTF with an avatar extension: standard bone names, expressions, spring bones and a licence block. An FBX has none of that structure, however well it is rigged. The converter finds the hips, spine, head, arms and legs by name, maps them onto the VRM humanoid, and writes the materials in the shading the apps expect.

The output is VRM 0.x, which every app on that list reads. An app that asks for 1.0 is served by the version converter, which switches the file without touching its geometry.

A static mesh needs a rig first

A model without a skeleton is refused as NO_ARMATURE, with the free routes out: Mixamo's auto-rigger for a humanoid mesh, or Blender with Rigify. A rig without a mesh, a Mixamo motion download for instance, is refused as RIG_WITHOUT_MESH and offered the animation converter instead.

Questions

What files can I drop?

Binary FBX 7.1 or newer, GLB, glTF, .blend, and zip, 7z or rar archives holding one of those with its textures. A glTF with a .bin and images goes in zipped as a folder.

Does it work without Unity or Blender?

Yes. Blender runs on our server; you install nothing. If you prefer to do it by hand, Blender with the VRM add-on does the same work in an evening of bone mapping.

Will the face move?

When the source has shape keys, yes: they become VRM expressions, and shapes named like ARKit or VRoid ones are wired to blink, mouth and emotion presets. A model without shape keys tracks with its body only.

My model converted but VSeeFace rejects it.

That is usually the VRM version, not the file. The version converter switches between 0.x and 1.0 in the browser.

Can I go back from VRM to FBX?

Yes, on the VRM to FBX converter: one binary FBX with the rig, the shape keys and the textures embedded.

What happens to my file?

It is uploaded to our server in New York, converted, and kept 3 days so you can preview and download the result; then both are deleted. Nothing is shared.

Converting from a specific tool?

Each source program has its own page with the bone table and the pitfalls the converter sees there: Mixamo, MMD, Blender, Character Creator and Meshy. A GLB or glTF has a page of its own.