Free GLB to STL converter
Drop in a GLB or glTF file and get an STL back. The conversion runs in your browser, so nothing is uploaded. The panel shows the size the STL will have in millimetres, which is the part most converters leave you to discover in the slicer.
Drag and drop a GLB file here, or
Accepts .glb and .gltf. Nothing is uploaded.
glTF measures distance in metres. STL carries no unit at all, and slicers read it as millimetres, so x1000 is the correct factor for a file that follows the spec. Compare the output size against the size you expect before downloading.
The file is read and converted on your device. It is never uploaded to a server.
Why a converted GLB usually arrives 1000 times too small
The glTF specification states that the unit for all linear distances is the metre. STL specifies no unit whatsoever, and slicers such as PrusaSlicer, Cura and Bambu Studio interpret the numbers as millimetres. A 60mm figurine is therefore stored in the GLB as 0.06, and a straight export produces an STL that the slicer reads as 0.06mm. That is the origin of the invisible speck in the corner of the build plate, and it is not a fault in either file.
Multiplying by 1000 resolves it for any file that follows the spec. Not every exporter does, so the panel prints the source bounding box next to the output size in millimetres. If your model should be about 60mm tall and the output line says 60, the factor is right. If it says 60000, the source was already in millimetres and the factor should be 1.
What the conversion leaves behind
STL stores a triangle soup and nothing else, so everything a GLB carries beyond raw geometry is dropped in the conversion. That is a property of the target format rather than a limitation of any particular converter.
- Textures, materials and vertex colours. A painted model exports as plain geometry and appears grey.
- The object hierarchy. STL has no concept of separate objects, so a multi-part GLB becomes one continuous mesh. The mesh count in the panel tells you how many parts are about to be merged.
- Animation, skinning, cameras and lights. A rigged character exports in whatever pose the bind pose describes.
- Shared vertices. STL repeats the coordinates of every triangle corner independently, which is why the file is larger than the triangle count alone suggests.
Binary or ASCII
Keep binary unless something specifically requires text. Binary STL spends a fixed 50 bytes per triangle, while ASCII writes each triangle out as several lines of decimal numbers, so the same mesh lands several times larger, by a ratio that moves with how long those numbers are. Both describe identical geometry, and every mainstream slicer reads both.
Questions
- Is my file uploaded anywhere?
- No. The GLB is parsed and the STL is written by JavaScript running in your own browser tab, so the file never leaves your device. You can confirm this by opening the network tab of your browser developer tools during a conversion, or by disconnecting from the internet after the page has loaded and converting anyway.
- Why is my model grey after converting?
- Because STL has no standard way to store colour, textures or materials. Two non-standard conventions reuse the attribute byte pair in binary STL for a per-triangle colour, but they are not part of the format and support is inconsistent. For a coloured print, 3MF is the format to use instead, since it carries colour and is read by current slicers.
- Is the STL ready to print straight away?
- Not necessarily. The conversion preserves the geometry exactly as it was, including any problems it already had. A mesh that is not watertight, has flipped normals or has non-manifold edges will carry all of that into the STL, and the slicer will report it there rather than here.
- What is the file size limit?
- There is no server-side limit because there is no server involved. The practical ceiling is your device memory, since the model is held in RAM while it is converted. Files of a few hundred megabytes are usually fine on a desktop machine and may fail on a phone.