Convert OBJ to MDL
Convert OBJ meshes into the correct engine-specific or Animation:Master MDL format.
Convert OBJ files online
We don’t have a dedicated online converter for OBJ to MDL yet, but you can convert OBJ files online to these and more formats:
How to convert obj to mdl file
- 3D modeling
- Rating: 5.0/5
A game mod or legacy 3D application may require an MDL asset even when the source model is available only as an OBJ. Conversion is therefore needed to make the mesh loadable in a specific engine, editor, or Animation:Master project.
What the OBJ format is
OBJ is a plain-text interchange format for static 3D geometry. It can store vertices, texture coordinates, normals, polygon faces, smoothing groups, and references to named materials.
Material definitions normally reside in a separate .mtl file, and the referenced image textures remain separate files such as PNG, JPG, or TGA. OBJ does not reliably contain bones, skin weights, animations, collision geometry, engine shaders, attachment points, or level-of-detail data.
Blender, Maya, 3ds Max, Cinema 4D, ZBrush, MeshLab, and many CAD and game-content applications can import or export OBJ. It is commonly used to exchange a static mesh when the original application project is unavailable.
What the MDL format is
MDL is a family of unrelated, application-specific formats rather than one universal standard. The target program or game must be identified before choosing a converter.
In GoldSrc and Source-engine games, MDL is a compiled model asset. Depending on the engine and version, it is accompanied by files such as .VVD, .VTX, .PHY, material files, and engine-specific metadata. A compiled model can connect the mesh with bones, animations, collision data, hitboxes, material references, and engine settings. It is often more efficient for runtime use than a text OBJ, but it is not simply a renamed OBJ.
Quake-family games use another MDL variant with different limits and tools. Hash Animation:Master also uses an application-specific .mdl format; that file is not interchangeable with a Quake, GoldSrc, or Source model.
How to convert the mesh
First determine the exact target: Source, GoldSrc, Quake, Animation:Master, or another application. A Source compiler cannot create a GoldSrc or Animation:Master MDL, and a file extension change does not perform conversion.
- Keep the OBJ, its matching
.mtl, and all referenced texture images together. In Blender, use File → Import → Wavefront (.obj). Reassign materials if texture paths are broken. - Inspect the imported mesh and remove hidden geometry, duplicate vertices, non-manifold sections, and unsupported modifiers. Apply scale and rotation, recalculate normals, verify UVs, and triangulate if the target compiler requires predictable triangles.
- Check the model's dimensions and axis orientation against the target application. OBJ files do not enforce a universal unit, up-axis, or coordinate convention.
- For Source, install Blender Source Tools, assign materials and, for animated models, create a skeleton with vertex weights. Export a reference mesh as
.SMDor.DMX. A static prop needs a reference mesh; an animated model also needs bones, animations, and usually a physics mesh. - Create a Source compiler script, normally a
.qcfile. It defines the output path, mesh, material directory, surface properties, sequences, collision model, and other options. A minimal static example is:
$modelname "props/example.mdl"
$body "Body" "example.smd"
$staticprop
$surfaceprop "metal"
$sequence "idle" "example.smd" fps 1
$cdmaterials "models/props"
- Compile the script with Crowbar's Compile tab or the matching Source SDK
studiomdl.exe. The compiler produces the MDL and the companion files required by the selected Source branch. - Copy the compiled files and engine material assets into the game's required directories, then test the model in the target game. Correct errors involving material paths, bone names, vertex limits, missing sequences, or collision data at the source or compiler-script level.
For GoldSrc, use a GoldSrc-compatible exporter and studiomdl version, because its skeleton, limits, QC commands, and output files differ from Source. For Quake MDL, use a tool that explicitly supports the required Quake revision; Noesis can handle some Quake model variants when the relevant import and export plugins are installed, but plugin support and animation handling vary.
For Animation:Master, use Animation:Master's supported OBJ import command and save the imported model in its native MDL format if that version supports the required OBJ features. Blender, Crowbar, and Source Tools do not produce Animation:Master MDL files.
Online and desktop options
Desktop conversion is usually the correct choice because game MDL creation requires a specific compiler and often requires rebuilding materials, skeletons, animations, and collision geometry. Blender with Blender Source Tools plus Crowbar is a practical Source workflow; the target engine's own exporter and compiler are preferable for other MDL variants.
CloudConvert, Convertio, and similar reputable online services can be useful for ordinary OBJ interchange or for producing an intermediate format, but they generally do not create a valid Source, GoldSrc, Quake, or Animation:Master MDL. Use an online service only when its format list names the exact MDL variant and its documented output includes the required companion files. Do not upload proprietary models or textures unless the service's privacy and retention terms are acceptable.
Quality and compatibility limits
Most OBJ files contain only a surface mesh. Bones, weights, animations, hitboxes, physics meshes, attachment points, engine shaders, and compile metadata must be created separately, so conversion cannot preserve information that was never present in the OBJ.
Missing .mtl files, absolute texture paths, unsupported material parameters, and incorrect case in material directories commonly produce an untextured model. Rebuild materials using the target engine's material scripts instead of assuming OBJ material names become usable shaders.
Apply transforms before export and verify scale with a known dimension. Check the target engine's polygon, vertex, bone, texture, UV, and material limits; a valid OBJ can still fail compilation or display incorrectly after conversion. Preserve the compiler logs and source files, because the generated MDL is normally a derived binary asset rather than an editable master model.
The database currently does not contain any direct obj file converter links.
Frequently asked questions
Will my OBJ materials and textures transfer to MDL?
Not necessarily; OBJ material information is commonly stored in a separate MTL file, while MDL uses application-specific material definitions. Texture paths, shaders, and unsupported material settings may need to be reassigned in the target application.
Will an OBJ animation or rig be preserved when converting to MDL?
No, a standard OBJ contains static mesh geometry and does not store a character rig or animation. Any animation, bones, or skin weights must be created or imported separately if the particular MDL format supports them.
Why does my OBJ fail to convert to MDL?
The .mdl extension is used by multiple engine-specific and Animation:Master formats, so an OBJ cannot be converted correctly without knowing the intended MDL variant and its required mesh structure. Unsupported polygons, normals, UVs, materials, or missing referenced files can also cause errors.
Will converting OBJ to MDL keep the model editable?
The mesh may remain editable in the application that supports the chosen MDL format, but it is not guaranteed to preserve all OBJ data or remain interchangeable with other MDL formats. The result is usually tied to the target engine or modeling application.
Additional formats for
obj file conversion
- obj to pmx
- obj to dff
- obj to vrm
- obj to rfa
- obj to json
- obj to b3d
- obj to blend
- obj to f3d
- obj to c4d
- obj to sldprt
- obj to 3d
- obj to 3de
- obj to 3dm
- obj to 3dmf
- obj to 3dp
- obj to 3ds
- obj to 3mf
- obj to a3d
- obj to abc
- obj to ac
- obj to adsk
- obj to ai
- obj to an8
- obj to asc
- obj to ase
- obj to avi
- obj to bip
- obj to blend1
- obj to blender
- obj to bmp
- obj to bvh
- obj to c3d
- obj to cob
- obj to crz
- obj to csm
- obj to dae
- obj to daz
- obj to dds
- obj to dem
- obj to dsf
- obj to duf
- obj to dxobj
- obj to e3d
- obj to eps
- obj to fbx
- obj to flt
- obj to fpx
- obj to gif
- obj to glb
- obj to gltf
- obj to idf
- obj to iv
- obj to ive
- obj to jpeg
- obj to jpg
- obj to kml
- obj to kmz
- obj to ksp
- obj to las
- obj to lob
- obj to lwo
- obj to lxo
- obj to m
- obj to ma
- obj to mac
- obj to max
- obj to mb
- obj to md2
- obj to mdd
- obj to mix
- obj to nmf
- obj to obz
- obj to off
- obj to p2z
- obj to pdf
- obj to pdo
- obj to ply
- obj to pmd
- obj to png
- obj to pov
- obj to pp2
- obj to prj
- obj to psd
- obj to pts
- obj to pz2
- obj to pz3
- obj to sat
- obj to scn
- obj to sh3d
- obj to sh3f
- obj to sh3t
- obj to shapr
- obj to skl
- obj to skp
- obj to slp
- obj to spt
- obj to srf
- obj to ste
- obj to stl
- obj to svg
- obj to t3d
- obj to tga
- obj to tif
- obj to tiff
- obj to txt
- obj to u3d
- obj to usd
- obj to usda
- obj to usdc
- obj to usdz
- obj to v3d
- obj to vrl
- obj to vrml
- obj to vtk
- obj to vtx
- obj to w3d
- obj to webp
- obj to wrl
- obj to x
- obj to x3d
- obj to xaml
- obj to xcf
- obj to xsi
- obj to z3d