Skip to main content
Model Mender

Browser-local converter

OBJ to GLB converter

Package a Wavefront OBJ as a single GLB file, entirely on your own machine. Add the .mtl alongside the .obj and its colours become real glTF materials, and the unit you assign is converted into the metres that glTF requires.

Drop your OBJ 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 OBJ to GLB conversion does and does not do

  • OBJ records no unit and glTF is defined in metres, so the unit you assign in the workspace decides the scale of the output. This is the single most common way this conversion goes wrong.
  • Add the .mtl file to the queue with the .obj to carry materials across. Diffuse colour and opacity become a glTF base colour factor; without the .mtl the GLB has no materials.
  • Texture images are never read, fetched or embedded. OBJ references them by filename and this site does not open those files, so the GLB carries no image data and the workspace tells you which textures were referenced.
  • Faces with more than three sides are split with a triangle fan. That is exact for convex faces; a strongly concave n-gon may triangulate differently from your modeller.
  • Named OBJ objects and groups become separate glTF nodes and meshes, but OBJ has no real hierarchy to preserve, so the result is a flat list rather than a tree.
  • Many OBJ exporters write Y-up while print tooling expects Z-up. glTF is Y-up by specification, so an OBJ from a 3D application usually needs no rotation, and one prepared for printing usually does.

Troubleshooting

The colours did not come through

The .mtl was probably not in the queue. OBJ keeps material definitions in a separate file, so add both the .obj and its .mtl and the workspace will report the materials it found.

The model is the wrong size in my viewer

OBJ states no unit, so the workspace has to be told. Assign the correct unit, or use scale-to-size to set a known dimension in millimetres, then export.

The model is lying on its side

That is the Y-up versus Z-up convention. Use the axis control in the workspace before exporting; glTF expects Y-up.

The textures are missing

By design. No texture image is ever read or written here, so a GLB from this converter is untextured. The material colours are carried, and the referenced filenames are listed so you know what to reattach.

Questions

Why GLB rather than glTF?

Because a GLB cannot lose its buffer. A .gltf plus .bin plus images can be separated in a download folder, after which none of the parts are usable on their own.

Is the material conversion lossless?

For colour and opacity, yes. OBJ MTL has a much older lighting model than glTF, so specular and illumination settings have no faithful equivalent and are not guessed at.

How do I know the GLB is correct?

It is re-opened and compared against the source: triangle count, mesh count and bounding box, within a stated tolerance, shown next to the download and recorded in the batch manifest.

More tools