What is the BMD file format?
.bmd is Nintendo's proprietary binary 3D model format used within the J3DGraph library, part of the internal JSYSTEM framework that powered GameCube and Wii first-party game development. It stores a complete 3D model including geometry, skeleton, materials, and embedded textures in a single file.
Files begin with the 8-byte ASCII magic J3D2bmd3 - J3D names the J3DGraph library, 2 is library revision 2, bmd is the format type, and 3 is format revision 3. A 32-bit big-endian file size follows at offset 8, then a chunk count at offset 12. The file is divided into named binary sections:
INF1- scene graph and node hierarchyVTX1- vertex attributes (positions, normals, UVs, vertex colours)EVP1/DRW1- envelope skinning weights and draw matrix tableJNT1- joint and skeleton definitionsSHP1- geometry shapes and draw callsMAT3- materials with TEV shader stage configurations and texture referencesTEX1- embedded textures in BTI format
The closely related .bdl format adds an MDL3 section of pre-compiled GameCube GX hardware display lists. Notable games using .bmd include Super Mario Sunshine, Mario Kart: Double Dash!!, and Pikmin. Community tools SuperBMD and J3D-Model-Viewer enable model extraction and re-import for preservation and modding; Dolphin Emulator renders .bmd assets natively.
Security & safety
RISK: LOWBMD is a passive 3D model data file. No executable code. Risk is negligible unless the file is embedded in a ROM that is used for emulation, in which case standard emulation-related legal considerations apply (owning the original game disc is the legal baseline for emulator use).
Format details
in a nutshell- MU Online / WEBZEN BMD (Battle Motion Data) - WEBZEN's MU Online MMORPG uses .bmd for 3D model data; completely unrelated binary format from the Nintendo J3D BMD.
- BlackMagic Design BMD - Some Blackmagic Design applications may use .bmd for project/config data; unrelated to game models.
Programs that open BMD files
Technical details
deep spec| Magic bytes | `4A 33 44 32 62 6D 64 33` ("J3D2bmd3") at offset 0 |
| Byte order | Big-endian (PowerPC architecture of GameCube and Wii) |
| Container | JSYSTEM named binary chunk format (J3DGraph library) |
| Library / format version | J3DGraph revision 2, BMD format revision 3 (encoded in the 8-byte magic string) |
| File header | 8-byte magic + 4-byte file size (big-endian) + 4-byte chunk count (big-endian) at offsets 0, 8, 12 |
| Key sections | `INF1` (scene graph), `VTX1` (vertices), `JNT1` (skeleton), `SHP1` (shapes), `MAT3` (materials), `TEX1` (textures) |
| Skinning system | Envelope-based: `EVP1` stores per-vertex blend weights; `DRW1` holds the draw matrix table |
| Embedded texture format | BTI (Binary Texture Image) stored within the `TEX1` section |
| TEV shading | `MAT3` stores up to 16 TEV (Texture Environment) stage configurations per material for the GameCube/Wii fixed-function GPU |
| Compression | None within the file; parent `.szs` / `.arc` archives may use Yaz0 or LZ77 compression |
| Typical file size | 20 KB - 5 MB |
| Related format | `.bdl` (Binary Display List) extends `.bmd` with an `MDL3` section of pre-compiled GX hardware display lists |
| Released | 2001 (Luigi's Mansion, Nintendo GameCube) |
| Latest version | J3D2bmd3 (revision 3 of the BMD format, revision 2 of the J3D library) - frozen; last used in Wii-era games |
| Specification | wiki.cloudmodding.com |
BMD conversions
Community Q&A
asked by usersNo questions yet - be the first to ask about BMD files.