Free · runs in your browser · nothing is uploaded

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.

Loading the SMD to OBJ converter...

How to convert SMD to OBJ

  1. 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. 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. 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. 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

nodesThe bone list: id, name and parent. Shown as a count; bones are not exported.
skeletonBone positions per frame. A reference SMD has one frame; an animation SMD has many and no triangles.
trianglesA material name, then three vertices: bone, position, normal, UV and optional weights. These become the mesh.
OBJ + MTLPositions, UVs, normals and one material per SMD material, with map_Kd pointing at a PNG of the same name.
GLBOne binary glTF with the mesh and its material groups, Y-up in metres, for web viewers, Unity, Godot and three.js.
STLTriangles only, Z-up, scaled to millimetres, for 3D printing a prop or figure.
Not keptBones, 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

Drop the .smd on this page and press Download OBJ + MTL. The file is read in your browser and nothing is uploaded.
Animation SMDs hold bone poses and no triangles, so there is no mesh to export. Open the reference SMD instead; Crowbar puts animations in a separate _anims folder.
Source is Z-up and Blender's OBJ importer expects Y-up by default. Keep Turn Z-up to Y-up on, or turn it off and set the up axis in Blender's import options.
No. OBJ, STL and this GLB export keep the mesh, UVs, normals and materials only. To keep the rig, import the SMD into Blender with Blender Source Tools.
Yes. Download the STL, which is scaled to millimetres, and check it in your slicer. Game meshes may have holes, so repair them in your slicer or Blender if needed.
Decompile it with Crowbar first. That gives a QC and SMD files, and the reference SMD opens here.

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.