VisioMakeAll converters

Convert OBJ to GLB

OBJ to GLB, converted in your browser. Drop the .mtl and textures alongside and they end up inside the GLB.

What breaks when you convert OBJ to GLB

Three files become one

This is the main reason to make the trip. An OBJ is a loose set of files that has to travel together and breaks the moment somebody moves one of them; a GLB is a single self-contained file with the textures inside it. Supply the .mtl and the images here and the result is one file you can hand to anyone.

We cannot verify the scale, only preserve it

OBJ has no field for units, so we have no way to know whether your numbers mean millimetres or metres, and we will not invent an answer. The geometry passes through unscaled and the report tells you the resulting dimensions — if they do not look like real-world sizes, use the output-units control to correct them.

Smoothing groups do not survive as such

OBJ records smoothing with group statements, while glTF stores explicit per-vertex normals. The conversion resolves one into the other, and where an OBJ relied on smoothing groups without supplying normals, hard edges can come out softer than you drew them. Exporting the OBJ with normals included avoids this entirely.

Each material becomes its own primitive

glTF splits a mesh by material, so an OBJ with four materials arrives as four primitives under one mesh. This is usually what you want and it is how the format is meant to work, but it does mean the object count in your viewer will not match what the OBJ appeared to contain.

Questions

Do I need to include the MTL file?
Only if you want materials in the result. Without it the geometry still converts, but it arrives untextured and grey.
Are the textures embedded in the GLB?
Yes, provided you supplied them. That is the point of GLB: one file, everything inside.
Can I drop a zip?
Yes, and for OBJ it is usually the easiest way — zip the model with its .mtl and texture folder and drop the archive.
What if my model comes out the wrong size?
Set the output units above and convert again. OBJ declares nothing, so this is a choice only you can make.

Related converters