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