SMD to OBJ Converter
Drop a reference .smd, such as one Crowbar wrote when it decompiled a model, to see it in 3D and save it as OBJ with an MTL, as GLB or as STL. You can turn Source's Z-up to Y-up and scale inches to metres for Blender, Unity or a 3D printer. It runs in your browser, so the file never leaves your device.
How to convert SMD to OBJ
- 1
Get the SMD
Decompile an MDL with Crowbar, or export from Blender Source Tools. Use the reference SMD (the mesh), not the files in the _anims folder.
- 2
Drop it here
The mesh is shown in 3D with each material in its own colour, plus its triangle, bone and material counts.
- 3
Pick the axis and scale
Y-up is on by default for OBJ, since most apps expect it. Turn on metres to make 1 Source unit 0.0254 m.
- 4
Download
Save OBJ + MTL as a ZIP, OBJ alone, GLB (always Y-up in metres) or STL (Z-up in millimetres for slicers).
The SMD format and what each export keeps
| nodes | The bone list: id, name and parent. Shown as a count; bones are not exported. |
|---|---|
| skeleton | Bone positions per frame. A reference SMD has one frame; an animation SMD has many and no triangles. |
| triangles | A material name, then three vertices: bone, position, normal, UV and optional weights. These become the mesh. |
| OBJ + MTL | Positions, UVs, normals and one material per SMD material, with map_Kd pointing at a PNG of the same name. |
| GLB | One binary glTF with the mesh and its material groups, Y-up in metres, for web viewers, Unity, Godot and three.js. |
| STL | Triangles only, Z-up, scaled to millimetres, for 3D printing a prop or figure. |
| Not kept | Bones, weights, flexes and animations. OBJ and STL cannot store them. |
Where SMD files come from
SMD is the text format studiomdl compiles into Source and GoldSrc models. You rarely get one directly from a game: games ship compiled MDL files, and Crowbar decompiles them back into a QC script and SMDs. The biggest SMD (or the one named after the model) is the reference mesh; smaller ones may be LODs or physics meshes, and the _anims folder holds animations.
Textures for the converted model
The MTL names a PNG for each material. Find the VTFs the model uses (the QC's $cdmaterials path, inside the game's VPK), convert them with the VTF to PNG converter, and put the PNGs next to the OBJ. Blender, Unity and most viewers then pick them up by name.
Need a new model or texture for your mod?
Make a 3D model from a photo or a short text prompt with AI, or generate a seamless texture, then bring it into your Source or GoldSrc project with these free converters.
More free 3D converters
SMD to OBJ questions
Valve, Source, Garry's Mod, Team Fortress 2 and Counter-Strike are trademarks of Valve Corporation, named only to describe file compatibility; The3DAI is not affiliated with or endorsed by Valve.