STL to GLB Converter
Take a 3D-print STL into the modern web. Single-file GLB output works in three.js, model-viewer, Babylon, A-Frame, and AR product configurators.
Drop your STL file here
Converts to .glb — stays on your device
Why convert STL to GLB?
- Embedding a printable model in a product page via Google's <model-viewer> tag.
- Loading a customer-uploaded STL into a three.js scene for in-browser preview.
- Bringing a print-ready model into an AR product configurator on iOS or Android.
- Converting a customizable STL into GLB for a Babylon.js or A-Frame scene.
- Producing a GLB asset for a marketplace listing (Sketchfab, P3D, CGTrader) from an STL source.
- Creating a web-viewable preview of a print model alongside the downloadable STL.
How our converter works
Your STL is parsed by three.js's STLLoader (handles ASCII or binary auto-detect) into a BufferGeometry. We wrap it in a Mesh with a default PBR material (light gray) and run the scene through three.js's GLTFExporter in binary mode. The result is a single .glb file — geometry, normals, and material packed into one binary container. The GLB output works in every modern web 3D framework. Everything runs in your browser.
Frequently asked questions
Will the GLB load in <model-viewer>?
Yes. The output is standard glTF 2.0 binary, which Google's <model-viewer> tag, three.js's GLTFLoader, Babylon's loader, and A-Frame all read natively. Drop the .glb into your assets folder and reference it via the src attribute.
What material does the GLB get?
A default PBR (physically based rendering) material in light gray with standard roughness and metalness values. STL has no material data, so the receiver assigns a neutral default. Override it in your scene if you need a specific look.
How does GLB compare to STL in file size?
GLB is usually larger because it includes per-vertex data (positions, normals) in JSON-described binary buffers, plus the embedded material descriptor. For a typical 5MB binary STL you'd see ~7-10MB of GLB.
Can I make this work in WebXR/AR?
Yes — GLB is the standard format for both WebXR and Apple's USDZ Quick Look (which can ingest GLB and convert to USDZ via tooling). Most AR/VR pipelines treat GLB as the canonical input.
Are my files uploaded?
No. STLLoader, GLTFExporter, and the file I/O all run as JavaScript on this page — your model stays on your device.
About the STL format
STL is the format every 3D printer reads — minimal, geometry-only, optimized for fabrication. GLB (binary glTF 2.0) is the format every modern web/AR/VR pipeline reads — a single binary file containing geometry, materials, textures, and animation. Converting STL→GLB is what you do when a printable model needs to live online: a product configurator, a Sketchfab listing, an AR Quick Look, or a three.js scene. The conversion adds a default PBR material so the GLB renders cleanly out of the box, and packs everything into a single .glb file rather than the multi-file alternatives (separate .gltf + .bin + textures) — single-file is what every web framework's loader prefers.