Skip to content
STLBench

Free online glTF to STL converter

glTF to STL — from a scene to a single solid

Drop a .gltf or .glb and download an .stl, written here in the browser with no upload involved. Two conversions happen at once. The unit: glTF counts in metres, printers count in millimetres, so every coordinate is multiplied by a thousand and the factor is shown. And the structure: a glTF is a tree of nodes with transforms, an STL is a flat pile of triangles, so each transform is baked into the vertices before the tree is discarded — which is why nothing moves even though everything merges.

  • 100% free
  • No signup
  • Transforms baked
  • Watertight check
  • Nothing uploaded
Convert to

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 glTF to STL

Three steps, and two numbers worth reading before you download.

  1. Drop the .gltf or .glb

    Both open. If the .gltf points at a .bin and textures beside it, drop those as well — or the whole folder, or a zip of it — and they are read out of memory rather than fetched. A .glb needs none of that, because everything is already inside it.

  2. Confirm the millimetres

    glTF stores metres, so a printable-sized model reads as a fraction of one. Multiplied by a thousand here, a 0.042 model becomes 42 mm — and if instead you get 42 000 mm, the original was authored in millimetres by an exporter that ignored the specification, and the file needs dividing rather than multiplying.

  3. Check it closes, then download

    The panel counts edges used by only one triangle. Zero means the surface encloses a volume and the millilitre figure beside it is real. Anything else means the mesh needs repair before a slicer will make sense of it.

Technical specifications

Reads.gltf and .glb — self-contained files
Writes.stl — binary, one body
UnitMetres in, millimetres out — factor ×1000, printed in the panel
TransformsEvery node transform baked into the vertices, so nothing shifts
CheckedOpen edges, non-manifold edges, enclosed volume in millilitres
LostMaterials, textures, animation, node names, the scene tree
File sizeNo fixed limit — past 100 MB you are told what it will cost this tab, then it opens

Frequently asked questions

My model came out enormous. Why?

Because it was already in millimetres and got treated as metres. The specification says a glTF unit is a metre and this page applies that, multiplying by a thousand — correct for any file written by a compliant exporter. Some tools, particularly CAD-adjacent ones, write millimetre numbers into a glTF anyway. You can spot it instantly: if the bounding box shown before conversion reads in the tens rather than in hundredths, the file is lying about its unit and the output needs scaling down by a thousand.

Everything merged into one object.

That is what STL is. A glTF describes a scene tree — nodes, parents, transforms, named meshes — and an STL is a flat list of triangles with no names and no structure. Every node's transform is baked into its vertices first, so nothing moves; the parts simply stop being distinguishable. Most slicers can split a loaded mesh back into parts by connectivity.

Can I print something downloaded from Sketchfab?

Sometimes, and the panel tells you which. Models made for viewing are frequently hollow shells, single-sided surfaces, or intersecting pieces that were never meant to be one solid — perfectly fine in a browser, unprintable without repair. The open-edge count is the test. A closed mesh with a sensible volume is ready; anything else needs a repair pass in a mesh tool, whatever the picture looks like.

What about the colours and textures?

Gone, because STL has nowhere to put them. It stores triangles and nothing else — no material, no texture coordinates, not even a name. If colour matters for a multi-material print, 3MF is the format that keeps it, and converting there instead preserves both the colour and the stated unit.

Draco or KTX2 in the error message?

Those are compression extensions that need decoders this page does not ship — around a megabyte of WebAssembly that every visitor would pay for to serve a small minority of files. Re-export without them and the file opens. The geometry is unaffected either way.

Is the file uploaded?

No. It is read, scaled, measured and rewritten in this tab, and the download comes out of your browser's own memory.

About models built to be looked at, not made

Nearly every glTF in existence was authored for a screen. That shapes the mesh in ways that are invisible until a slicer reads it: surfaces with no thickness because you were never going to see the other side, parts that intersect instead of joining because intersection is free to a renderer, shells left open where a camera could not reach. None of that is sloppiness. It is the correct answer to a different question.

A printer asks whether a point is inside the object or outside it, and that question only has an answer when the surface is closed. So the useful number on this page is not the triangle count but the open-edge count, and the useful habit is reading it before spending a night of filament rather than after. Where it is zero, the enclosed volume in the panel is a real figure — multiply it by your material's density and you have the cost.

STL cannot carry colour into a multi-material print, whereas 3MF can. When the destination is a renderer or a sculpting tool instead, OBJ keeps the UVs and the names that an STL throws away.

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: models downloaded from marketplaces come with licence terms, and re-uploading one to a third-party converter is a step those terms often do not cover. Here there is no upload at all, so the licence question never arises.