VRM version converter: 1.0 to 0.x, and back
Drop a .vrm and get the other version. VSeeFace reads 0.x only; some newer apps want 1.0. The geometry is untouched; expressions, spring bones and metadata are rewritten in the other version's terms, and the page lists what could not be carried.
What comes across, and what cannot
Comes across
- · Every mesh, bone and weight, byte for byte where the versions agree
- · Expressions, renamed between the two naming schemes
- · Spring bones and colliders
- · Metadata and the licence, mapped between the two field sets
Does not
- · Fields one version has and the other lacks: listed under the result
- · Constraints and look-at types the target version does not define
How to switch a VRM's version
- Drop the .vrm. The page reads its version and offers the other one.
- The converter rewrites the avatar extension on our server and turns the model to face the way the target version expects.
- Preview the result, read the notes on what did not carry, download the file. Both are deleted 3 days later.
Why the two versions do not mix
VRM 0.x and 1.0 store the same avatar in different extensions, with different expression names and licence fields, and the skeleton facing opposite ways in glTF space. An app written for one of them reads the other as garbage or not at all. VSeeFace, VNyan and most older apps read 0.x; VRoid Studio exports 1.0 by default since 2023, which is why a fresh VRoid model will not open in VSeeFace.
The facing direction is the part people miss when converting by hand: without a half turn the avatar stands with its back to the camera and every clip plays mirrored.
What carries over
Geometry, bones, weights, textures and materials are untouched. Expressions are renamed, spring bones and colliders rewritten, the licence mapped onto the other field set. Anything the target version has no field for is listed under the result, so you know before you download.
Questions
My VRoid export will not open in VSeeFace.
It is a 1.0 file and VSeeFace reads 0.x. Convert it here and it opens.
An app wants 1.0 and my model is 0.x.
The same page goes the other way: drop the 0.x file.
What is lost?
Only fields the target version cannot express; the result lists them. Geometry and textures are never touched.
Which version is my file?
Drop it on the VRM viewer or here: both read the declared version and say so.
I have an FBX or GLB, not a VRM.
Then it needs converting to VRM first, on the FBX to VRM converter; this page only changes the version of a file that is already a VRM.
What happens to my file?
Uploaded, rewritten, kept 3 days for the preview and download, then deleted.
Not a VRM yet?
A rigged FBX, GLB or .blend becomes a VRM on the FBX to VRM converter; a VRM becomes an FBX for an engine on the VRM to FBX converter.