Skip to main content
Model Mender

Browser-local converter

STL to GLB converter

Turn an STL into a GLB you can drop into a web viewer, a game engine or an AR scene. The important part is the unit: glTF is defined in metres and an STL is almost always drawn in millimetres, so the conversion scales the geometry instead of leaving you a model a thousand times too large.

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

  • glTF measures in metres. An STL states no unit, so you tell the workspace what its numbers mean and the geometry is scaled accordingly on the way out. Leave that wrong and your model arrives 1000 times too big or too small.
  • STL carries no colour, materials or texture coordinates, so the GLB is written with geometry only. It will render untextured grey in most viewers until you assign a material downstream.
  • STL stores no smooth normals. Recalculate normals with smoothing in the workspace before exporting, or the GLB will look faceted, which is a faithful rendering of what the STL actually contains.
  • An unwelded STL has three unshared vertices per triangle, which makes a needlessly large GLB. Welding first is usually worth it for anything served over a network.
  • The GLB is written uncompressed. Draco and meshopt compression are not applied, because that needs an encoder this site does not ship.

Troubleshooting

The model is enormous in my viewer

The source unit was almost certainly not what you told the workspace. A 100 mm part treated as metres becomes 100 metres. Set the unit correctly and export again.

It looks flat-shaded and faceted

That is what the STL holds: flat triangles with no shared normals. Run recalculate normals with smoothing before exporting and the GLB will carry per-vertex normals.

The GLB file is very large

Weld duplicate vertices first. An STL repeats every vertex for every triangle that touches it, and the GLB faithfully writes what it is given.

It renders grey with no colour

Expected: STL has no material data at all. Assign a material in the workspace, or set one in the tool you are importing into.

Questions

Is the GLB standards-compliant?

Yes. Positions carry the specification-required accessor minimum and maximum, buffer views are 4-byte aligned and the chunks are padded exactly as the container demands, so it passes strict validators.

Will it work in model-viewer, three.js and Babylon?

Yes, and every export is re-opened by the same parser a third-party tool would use, with triangle count, mesh count and bounding box compared against the source before you download.

Can I get a glTF plus .bin instead of a single GLB?

No. GLB is written because one self-contained file has no way to lose its buffer. A .gltf and its sidecar can be separated, and then neither half works.

More tools