Free online GLB to STL converter
GLB to STL, and the ×1000 nobody warns you about
Drop a .glb and download an .stl, rewritten inside this tab with no upload. The part that goes wrong elsewhere is scale: glTF is metres by specification and STL is millimetres by printing convention, so a bracket that reads 0.04 in the file has to be multiplied by a thousand on the way out. That factor is applied here and printed on screen along with the finished size in millimetres, so a model that arrives four millimetres tall tells you before your slicer does.
- 100% free
- No signup
- Metres → millimetres
- Binary STL out
- Nothing uploaded
Drag a file anywhere on this page to open it. F fits the view, W switches shading, G the grid, R spins it.
How to convert GLB to STL
Three steps, and the middle one is the whole point.
Drop the .glb
The whole scene is opened here — meshes, materials, node hierarchy and all. A .gltf works too, in either packaging: self-contained it opens on its own, and split across a .bin and textures it opens once you drop those with it, or the folder, or a zip.
Read the size, in millimetres
This is the step that matters. A GLB stores metres, so a 40 mm bracket is 0.04 in the file. The panel converts and shows what the STL will actually measure, which is your one chance to notice that the model is 4 mm or 4 metres before a slicer tells you.
Download the STL
Binary STL, every mesh in the scene welded into one body at the positions its nodes placed it. Materials, textures and vertex colours do not come along, because the format has nowhere to put them.
Technical specifications
| Reads | .glb, and self-contained .gltf |
|---|---|
| Writes | .stl — binary, one body |
| Unit | Metres in, millimetres out — every coordinate × 1000 |
| Kept | Every triangle, at its node's world position |
| Lost | Materials, textures, vertex colour, node names and hierarchy |
| Not read | Draco-compressed and KTX2-textured files — re-export without them |
| File size | No fixed limit — past 100 MB you are told what it will cost this tab, then it opens |
Frequently asked questions
Why does my model come out a thousand times too big or too small?
Because of the unit boundary, and it is the single most common failure in this conversion. glTF and GLB are metres by specification; STL has no unit and is millimetres by printing convention. A converter that copies coordinates across without touching them turns a 0.04 m bracket into a 0.04 mm speck, or a 40-unit statue into a 40-metre one. This page multiplies by a thousand and says so on screen, and if the source was authored in something else you can see that immediately in the millimetre figure.
Where did the colours and textures go?
Nowhere they could have gone. STL stores three vertices and a normal per triangle and has no field for colour, material or texture coordinate — a limitation of the format, not of the conversion. If colour matters, convert to 3MF, which carries a colour per object, or keep the GLB for viewing and use the STL only for the printer.
Can I print a GLB downloaded from Sketchfab or a game asset?
Sometimes, and the geometry is usually the problem rather than the format. Assets built for rendering are hollow shells with open edges, single-sided walls of zero thickness, and details that only exist in a normal map. They look solid because a renderer does not care. A slicer does. Convert it, then check the watertight row in the panel below — if it says open edges, the mesh needs repair before it prints.
Does the node hierarchy survive?
The positions do, the structure does not. Each mesh is written at the place its parent nodes put it, so the assembled object keeps its shape, but the names and the parent-child relationships are gone: STL is one anonymous soup of triangles. If you need the parts to stay separate, 3MF keeps them as objects and OBJ keeps them as named groups.
Is the file uploaded?
No. The GLB is unpacked and the STL is written in this tab, which for asset files matters more than it sounds — a licensed model from a marketplace should not be passing through somebody's conversion server on its way to your printer.
About crossing from rendering to printing
GLB and STL come from opposite ends of the industry and it shows in every field they have. glTF was designed in 2015 to move a finished scene to a renderer: it carries materials, textures, animation, a node graph and a unit, because a renderer needs to know all of it. STL was designed in 1987 to drive one stereolithography machine, and it carries triangles because that is what the machine consumed. Converting one to the other is not a translation between equals — it is throwing away everything except the shape.
The scale mismatch is the part that bites, and it bites quietly. Both formats are perfectly happy with the number 0.04, so nothing anywhere errors: the file loads, the viewer frames it to fit, and the mistake surfaces at the printer as a part the size of a grain of rice. The rule to remember, if you take one thing from this page: glTF and GLB are metres, multiply by 1000 for millimetres. It is in the format comparison too, because it catches people on every format that touches glTF.
When a modelling or sculpting package is the destination instead, OBJ keeps more — texture coordinates and part names survive there, and both are gone the moment you choose STL.
Where the conversion happens
Every number on this page is worked out by JavaScript running in the tab you are reading it in. The model you open is read straight off your own disk — it is never uploaded, logged or kept, which is also why these tools carry on working after you disconnect from the network.
One clause specific to this page: GLB files are usually licensed assets, and marketplace licences rarely contemplate a copy sitting on a stranger's conversion server. There is no such copy here — the unpack and the write both run in this tab.