Skip to main content
Model Mender

Browser-local converter

glTF to OBJ converter

Convert a .gltf scene into a Wavefront OBJ locally, keeping the normals, uv coordinates and material colours that OBJ is able to hold. Add the .bin buffer to the queue with the .gltf and the two are read as a pair.

Drop your glTF files here

STL, OBJ, PLY, GLB, glTF, 3MF, SVG and DXF. Nothing is uploaded: files are read and converted inside this tab. Checking what this device can handle...

Queue

No files yet. Drop models above, or use the file picker.

Add a model to see it here.

Output

Units

Size and placement

Repair and cleanup

These can change the shape, so they need a before-and-after review before export.

Inspection

Add a model to see its dimensions, mesh health and estimated volume.

What this glTF to OBJ conversion does and does not do

  • A .gltf usually references an external .bin. Add it to the queue; nothing is fetched over the network to satisfy a reference, so a missing buffer is reported rather than resolved.
  • Material colours and opacity are written to a companion .mtl file. Keep the .obj and the .mtl together, because OBJ links them by filename.
  • Texture images are never read or written. A .gltf references its images as separate files or embeds them, and neither is opened here, so no map_Kd is emitted.
  • glTF is metres and OBJ is unitless, so the numbers written are in whatever unit you select in the workspace. Choose it deliberately.
  • The scene graph is flattened to OBJ objects. Hierarchy, animation, skins, morph targets, cameras and lights are all lost, because OBJ is a static surface format.
  • Draco and meshopt compressed geometry is refused rather than partly read.

Troubleshooting

The .gltf will not open

It almost certainly needs its .bin buffer, which must be added to the queue under the filename the .gltf references. A self-contained .glb avoids the problem entirely.

No materials in the OBJ

Load the .obj rather than the .mtl in your target tool, and keep both files in the same folder. If the glTF genuinely had no materials, the workspace will have said so.

The scale is wrong

glTF measures in metres and OBJ records no unit. Set the unit in the workspace before exporting so the numbers mean what you intend.

The uv coordinates look wrong in my renderer

OBJ and glTF disagree on the vertical direction of texture space. Flip the V axis in your renderer or texture tool if the mapping appears upside down.

Questions

Does OBJ keep more than STL would?

Considerably more: normals, uv coordinates, object names and material colours all survive into OBJ, where STL would discard every one of them.

Will the OBJ open in Blender and Maya?

Yes. It is written to the standard with global 1-based indices, and each export is re-parsed and compared against the source before download.

Can I rename the .obj afterwards?

Rename the .obj freely, but not the .mtl: the .obj contains an mtllib line naming its sidecar, so renaming the .mtl silently breaks the material link. Rename both and edit that line to match.

More tools