MMD to VRM converter — Japanese bones read as they are
VTubeMe's MMD to VRM converter turns a .pmx or .pmd into a VTubing-ready VRM, Japanese bone names mapped to the VRM humanoid. Upload it zipped with its tex/ folder, no Blender export needed.
Try it with two test files
We cannot hand you somebody else's MMD model: almost every one forbids redistribution. So these two are PMX files we built ourselves, from one of our own avatars, with Blender's mmd_tools and the standard MMD bone and morph names. They are not models from the MMD community. Each archive sits next to the VRM this page's converter wrote from it, untouched. Upload either zip above and you should get the same numbers.
To look at a PMX before converting it — these two or your own — the PMX viewer opens it in the browser with its textures and morph sliders, without uploading anything. Open the PMX viewer →



Sample A: the clean case
56 bones under their standard Japanese names, 13 vertex morphs under their MMD names, 10 materials, 8 texture files in tex/. Nothing MMD-only in it, so this is the file to check that the basics arrive.
| Measured | sample-a.pmx | sample-a.vrm |
|---|---|---|
| Bones | 56 | 56 — 53 of them mapped to the VRM humanoid |
| Required humanoid bones | — | 15 of 15 |
| Bones left out of the humanoid | — | 下半身, グルーブ, 全ての親 |
| Vertex morphs | 13 | 13 morph targets — every one bound to an expression |
| Expressions | — | 11: A, I, U, E, O, Blink, Blink_L, Blink_R, Joy, Angry, Sorrow |
| Emotions are assembled | 笑い, 口角上げ, 怒り, 困る, 口角下げ | Joy = 笑い + 口角上げ; Angry = 怒り + 口角下げ at 60%; Sorrow = 困る + 口角下げ at 80% |
| Triangles | 16,867 | 16,867 |
| Vertices | 10,977 | 11,111 — 134 more, triangle count unchanged |
| Materials / with a base-colour texture | 10 / 10 | 10 / 10 |
| Texture files | 8 in tex/ (7 JPEG, 1 PNG) | 8 embedded — byte-identical to the files in the archive |
| Height | 22.68 MMD units = 1.8143 m | 1.8221 m after skinning, feet at 0 |
| Width, fingertip to fingertip | 1.7605 m | 1.7807 m |
| Facing (ankle to toe) | toward −Z | toward −Z |
| Rigid bodies / joints | 0 / 0 | 0 colliders / 0 spring bone groups |
Sample B: the same character with what only MMD has
Sample A plus things real PMX files carry. Of six real models we read before building it, all six had leg IK bones, rigid bodies with joints, toon ramps and toon edges, four had sphere maps, three had bone and group morphs, and one had a part switched off with alpha 0 and a material morph to show it. So sample B has each of those: four IK bones, an orange strap at the hip on three bones with four rigid bodies and three joints, a sphere map, a shared toon ramp, toon edges, a pair of glasses at alpha 0 with their material morph, a bone morph and a group morph. The mapped bones, the 13 vertex morphs, the 11 expressions, the textures and the size come out as in sample A; the table lists what is different.
| Measured | sample-b.pmx | sample-b.vrm |
|---|---|---|
| Bones | 63 | 63 — the same 53 mapped to the VRM humanoid |
| IK bones | 4: 左足IK, 左つま先IK, 右足IK, 右つま先IK | 4 ordinary bones outside the humanoid — no IK in the file |
| Physics chain ストラップ1–3 | 3 bones, 4 rigid bodies, 3 joints | 3 ordinary bones under 下半身 — 0 colliders, 0 spring bone groups |
| Bone morph 首かしげ | tilts the head 15° | not in the VRM |
| Group morph にっこり | 笑い + 口角上げ | not in the VRM |
| Material morph メガネ | adds alpha to the glasses | expression メガネ — sets the material's colour to alpha 1 |
| Material at alpha 0 (メガネ) | not drawn | alpha 0, blend mode — hidden until the expression is on |
| Material without a texture (ストラップ) | colour 0.85 / 0.22 / 0.08 | same colour, opaque |
| Sphere map (tex/strap.spa) | 1 material | 0 — the file is not embedded |
| Shared toon ramp (toon01.bmp) | 12 materials | 0 — all 12 materials are plain glTF shading, not MToon |
| Toon edge (outline) | 11 materials | 0 |
| Materials / with a base-colour texture | 12 / 10 | 12 / 10 |
| Vertices / triangles | 12,409 / 17,587 | 12,547 / 17,587 |
Converted on 10 October 2026 by the code this page runs: Blender 4.5.13 with mmd_tools 4.5.14 reads the PMX, our own writer produces the VRM 0.x. The PMX side of each table was read with mmd_tools' PMX parser and the VRM side straight from the file; height and width are taken after the skeleton is applied to the mesh, not from the raw vertices. We built the PMX files with mmd_tools and did not open them in MikuMikuDance itself. How VSeeFace, Warudo or VNyan draw the result was not measured here.
What did not carry over
- Physics. Sample B goes in with four rigid bodies and three joints and comes out with no colliders and no spring bones. The strap's three bones are still in the file and its mesh is still skinned to them, so it moves with the hips, but nothing makes it swing. Hair and skirts on a real model get the same treatment.
- IK. The four leg IK bones arrive as ordinary bones outside the humanoid. Nothing in the VRM drives them and they drive nothing.
- Morphs that are not vertex morphs. The bone morph and the group morph are gone. The two vertex morphs the group pointed at are still there, and Joy happens to use the same two. The material morph is the exception: it became an expression that shows the glasses.
- Sphere map, toon ramp and outline. All three are dropped, and every material is written as plain glTF shading. The strap keeps its flat colour and loses its highlight.
- The rest pose. The converter straightens the limbs into a strict T-pose, so neither VRM is a vertex-for-vertex copy: both come out 7.8 mm taller and 20 mm wider across the fingertips than their PMX.
- Presets these samples have no morph for. Neutral is written empty, and Fun and the four look directions are not written at all.
- What a tidy sample cannot show. We wrote these files, so every bone and morph has the name the converter expects. A real model adds twist bones, dozens of physics chains and morphs under its author's own names; a clean result here is not a promise about your file.
Both samples are one of our own avatars, published under CC BY 4.0, re-rigged and exported to PMX by us with mmd_tools — use them, modify them, redistribute them with credit. More free avatars →
PMX and PMD are read directly — zip the model with its tex/ folder
Upload the .pmx itself: since September 2026 the converter reads PMX and PMD directly, no Blender export needed. It maps the bones, carries the materials and textures over and shows the result in a 3D preview before download. センター, 上半身, 腕 and the rest are read exactly as the model author wrote them, in both the raw MMD spelling and the Blenderized one.
Zip the model folder as it came: the .pmx (or .pmd) together with its textures — MMD distributions keep the images in a tex/ folder next to the model, and the model only points at them by filename. A distribution with several costumes holds several .pmx files; the converter lists them and asks which one to convert. Textures in PNG, BMP and TGA all work; sphere maps (.sph/.spa) and MMD's shared toon ramps are dropped, and a material without a texture keeps its colour.
MMD's standard morphs become VRM expressions: あ・い・う・え・お drive the mouth, まばたき and ウィンク the blinks, 笑い, 怒り and 困る the emotions. Morphs that move face bones instead of vertices — common on game-rip models — do not carry over, so those models arrive without expressions, like an FBX would. Rigid bodies and joints are not converted: the VRM comes out without spring bones, so hair and skirts do not swing on their own.
One thing the converter cannot check for you: most MMD models ship a readme with the author's terms, and many forbid converting the model to other formats or using it outside MikuMikuDance. Read it before you convert, and keep the result to yourself unless the terms say otherwise.
Exports still work too. If you already have an FBX or glTF of the model from Blender's mmd_tools, zip it with the tex/ folder and convert that; both bone-name shapes are recognized, raw MMD's side prefix (左腕) and the .L/.R suffix mmd_tools writes when it Blenderizes a rig (腕.L).
Why 下半身 is not the hips
In an MMD skeleton 上半身 and 下半身 are siblings under センター, not a chain. So the VRM hips slot goes to センター, and 下半身 is left out of the humanoid on purpose: giving it the hips would put the spine outside the hips subtree and break the VRM hierarchy the apps rely on.
It is worth knowing because the converter's report lists unmatched bones, and 下半身 will be among them on a correctly converted model. That is the intended outcome, not a missing bone.
MMD bone names the converter maps
Left side shown; the right side is the same word with 右 instead of 左 (or the .R suffix). Where a joint has two common writings, both resolve to the same VRM bone.
| MMD bone | VRM humanoid bone |
|---|---|
センター(centre) | hips |
上半身(jōhanshin, upper body) | spine |
上半身2(jōhanshin 2) | chest |
首(kubi, neck) | neck |
頭(atama, head) | head |
左腕(hidari ude, left arm) | leftUpperArm |
左ひじ / 左肘(hiji, elbow) | leftLowerArm |
左手首(tekubi, wrist) | leftHand |
左足(ashi, leg) | leftUpperLeg |
左ひざ / 左膝(hiza, knee) | leftLowerLeg |
左足首(ashikubi, ankle) | leftFoot |
左つま先(tsumasaki, toe) | leftToes |
下半身(kahanshin, lower body) | left unmapped on purpose — see above |
左肩 and 右肩 take the shoulder slots, 目 the eyes, and the finger chains are read too: 親指 thumb, 人差指 (also written 人指) index, 中指 middle, 薬指 ring, 小指 little, numbered outwards from the hand. Both the hiragana and kanji writings of the elbow and knee resolve, and so do both side conventions, so a model that went through mmd_tools converts the same as one that did not. Verified on real files in our regression corpus. On a successful conversion the result panel names what it recognized: “mmd rig”.
What can go wrong with a MMD file
A conversion that cannot finish tells you which of these it hit, and returns the credit — you are never charged for a failure.
CHOOSE_MODEL
The archive holds several model files — an MMD distribution often ships one .pmx per costume — and nothing is converted until one is chosen.
Pick the costume you want from the list the converter shows; the others stay in the archive untouched.
NO_TEXTURES
The rig converted, but every texture the model asks for is missing, so it would come out grey.
Zip the exported model together with the tex/ folder and convert the .zip. Your credit is returned.
TEXTURES_UNREFERENCED
The upload does contain images, but the model file never references any of them, so there is no way to tell which texture belongs to which part.
Rename each image after the material it should cover — the failure message lists the material names — or send the files straight from the result panel.
RAR_IN_ZIP
RAR archives are unpacked here, but this one would not open — usually password-protected, damaged, or one part of a multi-part set.
Unpack the .rar on your computer and re-pack the model folder as a plain .zip.
Frequently asked questions
Can I convert a PMX file to VRM?
Yes, directly: upload the .pmx or .pmd, or better a zip of the model folder with its tex/ textures. The converter reads it through Blender's mmd_tools importer, maps the Japanese bone names to the VRM humanoid and turns the standard mouth and eye morphs into VRM expressions. If you already exported the model to FBX or glTF from Blender, that still works too — zip it with the textures.
Does the converter understand Japanese bone names?
Yes, as-is: センター becomes the VRM hips, 上半身 the spine, 上半身2 the chest, 首 and 頭 the neck and head, 腕 / ひじ / 手首 the arm chain and 足 / ひざ / 足首 / つま先 the leg chain, plus all five finger chains. Elbows and knees written in kanji (肘, 膝) resolve the same as the hiragana forms, and the .L/.R suffixes mmd_tools produces are read alongside the 左/右 prefixes. There is nothing to rename before uploading.
Why do MMD models come out without textures?
Because the model file does not contain them — it points at them by filename, and MMD distributions keep the images in a tex/ folder next to the model. If only the .pmx is uploaded, every texture it asks for is missing and the conversion stops with NO_TEXTURES rather than handing you a grey avatar; the credit comes back. Zip the exported model together with the tex/ folder and convert the .zip.
Is 下半身 missing from my converted model?
It is left out on purpose. In MMD, 上半身 and 下半身 sit side by side under センター rather than in one chain, so the VRM hips has to be センター — mapping it to 下半身 would leave the spine outside the hips subtree and break the hierarchy VRM apps expect. Seeing 下半身 in the unmatched list is the correct outcome.
Will the converted model work in VSeeFace?
The converter writes VRM 0.x, which is the version VSeeFace reads, so it loads directly. If your target app is on the other side of the split — Desktop Mate's Custom Avatar Loader wants VRM 1.0 — the version converter rewrites the file either way, keeping bones, expressions, look-at, spring bones and MToon materials. Open the VRM 1.0 ↔ 0.x converter →
What does it cost?
The first conversion is free. After that, credits, and a credit is only spent on a successful conversion: failures refund automatically, and a result that looks wrong in the 3D preview can be refunded self-serve before you download it. Inspect the model in the preview above before spending the download.
Need an FBX, not a VRM?
PMX to FBX keeps the MMD bone names, morphs as shape keys, textures embedded.
Mixamo character instead?
mixamorig: bones are mapped, and motion clips get their own mode.
Character Creator, AccuRig or ActorCore?
CC_Base_ bones are mapped and limb twist bones folded in.
Every other input format
The same converter takes FBX, GLB, glTF, .blend and Sketchfab-style ZIPs.
No 3D model at all?
Create a photorealistic VRM avatar from a single selfie instead.
No model of your own yet? VTubeMe is also a VTuber maker: upload one selfie and get a rigged VRM avatar.