Skip to main content

Convert GLB to STL — Print Web3D Models

You found a 3D model online — Sketchfab download, Three.js demo, AR product preview, game asset — and you want to hold it in your hands. The model is a GLB file. Your 3D printer needs STL. This converter bridges that gap.

Last updated Mar 2026

Data Loss — Converting GLB to STL will not preserve materials, UV coordinates, animations, vertex colors.

1
Upload
2
Convert
3
Download

Drag GLB file here, or click to upload

Supports .glb files up to 150MB

Usually under 3 seconds — depends on file size.

What You Should Know

What Gets Stripped and Why

STL was designed in 1987 for stereolithography — the original 3D printing technology. It stores triangulated geometry and nothing else. The converter extracts all mesh geometry from the GLB, discards everything else (materials, textures, animations, morph targets, skeleton/joints, scene hierarchy, cameras, lights), and writes a Binary STL. Multiple meshes in the GLB are merged into a single mesh. A character model with separate head, body, arms, and legs becomes one continuous triangle list. The meshes keep their spatial positions — a head that was 2 units above the body is still 2 units above the body — but there's no concept of separate objects in the STL. If you need separate STL files per part, use Blender to import the GLB and export each object individually.

The Unit Problem (Read This Before Printing)

glTF defines 1 unit = 1 meter. Cura, PrusaSlicer, and Bambu Studio read STL coordinates as millimeters. This means a 10 cm cup (0.1 meters in GLB, vertex coordinates around 0.1) appears as 0.1 mm in your slicer — essentially invisible. A life-size desk (1.5 meters, coordinates around 1.5) appears as 1.5 mm. The converter preserves coordinates as-is (no automatic scaling). After conversion, you'll almost certainly need to scale: multiply by 1000 to convert meters to millimeters. In Cura: select model → Scale → type 100000% (yes, that's 1000x). In PrusaSlicer: right panel → Scale → 100000%. If the model was authored in a non-standard unit (some game engines use centimeters), you'll need 10x instead. Check the model's real-world size before printing a full plate of wrong-scale geometry.

GLB vs STL: Quick Comparison
FeatureGLBSTL
GeometryTrianglesTriangles
MaterialsPBR materialsNot supported
AnimationsSupportedNot supported
Scene HierarchyMulti-objectFlattened (single mesh)
Primary UseWeb3D, AR/VR3D printing
Slicer SupportRequires conversionNative (all slicers)

Use GLB for Web3D display, AR/VR, and real-time rendering. Use STL for 3D printing.

When to Convert GLB to STL

Sketchfab Model → Physical Print

Sketchfab has millions of downloadable 3D models, most available as GLB. The workflow: download GLB → convert to STL here → import to slicer → scale correctly (see the unit FAQ) → check for mesh errors (Meshmixer Inspector or Cura mesh analysis) → print. Expect to spend 5-10 minutes on cleanup for most Sketchfab models — they're optimized for web viewing, not printing. High-poly models (100K+ triangles) may benefit from decimation in Blender first to reduce print time.

AR/VR Prototype to Physical Mockup

Designed a product in WebXR, tested it in AR on your phone, and now want a physical prototype? Convert the GLB to STL and print it. This is common in industrial design — AR lets you validate proportions and ergonomics virtually, then a physical print catches things AR misses (texture, weight, assembly fit). After conversion, add 1-2mm wall thickness in Blender (Solidify modifier) if the AR model used thin shells — web models often have zero-thickness surfaces that can't be printed.

Game Props and Cosplay

Game asset extraction (from Unity WebGL builds, Godot HTML5 exports, or model rip tools) typically produces GLB files. Converting to STL lets you print swords, helmets, armor pieces, and figurines. Important caveat: game models are heavily optimized for rendering performance — low polygon counts, flat planes for hair/cloth, no interior geometry. For a printable result: (1) Subdivide in Blender (1-2 levels) to smooth out faceting, (2) Add Solidify modifier to flat planes, (3) Run Meshmixer Inspector to fix non-manifold edges. Expect the cleanup to take longer than the conversion itself.

Tabletop Miniatures

The tabletop community frequently converts web-sourced GLB models into printable miniatures. The key challenge is scale — a character model intended for full-screen web display needs to print at 28mm or 32mm scale. After converting to STL: (1) Import to Blender, (2) Measure the model height (N panel > Dimensions), (3) Scale to your target height (32mm is standard for D&D scale), (4) Apply scale (Ctrl+A), (5) Re-export STL. For resin printing (SLA/DLP), the STL is usually fine as-is. For FDM, add supports for overhangs and consider printing at 150-200% scale for better detail.

Frequently Asked Questions
You can, but you probably shouldn't without checking first. GLB models built for web/game use are optimized for visual appearance, not physical fabrication. Common issues that show up in the slicer: (1) Non-manifold edges — faces that share an edge but have inconsistent winding. Cura shows an orange mesh-error icon, PrusaSlicer highlights problem areas in yellow. (2) Intersecting meshes — a character model where the arm geometry overlaps the body. Looks fine in a viewer, fails in slicing. (3) Zero-thickness walls — planes or shells that look solid on screen but have no volume. Fix: import to Meshmixer (free), run Analysis > Inspector, click "Auto Repair All". For most web-sourced GLB models, this takes care of 80% of print issues in under a minute.
Unit mismatch — the single most common problem with this conversion. glTF specifies meters as the default unit. Most slicers (Cura, PrusaSlicer, Bambu Studio) assume STL is in millimeters. So a 10-centimeter figurine (0.1 meters in GLB) becomes 0.1 millimeters in the slicer — invisible. A 1-meter desk model becomes 1000 millimeters — fills the entire build plate. The fix depends on your direction: if the model is too large, scale by 0.001 in your slicer (or 0.1% in Cura's scale dialog). If too small, scale by 1000 (or 100000%). If you want to fix it before slicing, open the STL in Blender, scale by 1000 (S → 1000 → Enter), apply scale (Ctrl+A > Scale), and re-export.
Not with STL — it's a geometry-only format from the 1980s, designed before materials existed in 3D printing. Every texture, PBR material, vertex color, and alpha channel is discarded. The STL is a single gray mesh. If you need color in your print, you have a few options: (1) If you have a multi-material printer (Bambu Studio X1C, Prusa XL), you can manually assign colors to faces in the slicer — tedious but works. (2) Convert to 3MF instead of STL — 3MF supports per-face colors, and PrusaSlicer/Bambu Studio read it natively. Use [GLB to 3MF](/convert/glb-to-3mf) for that path. (3) Paint the print after printing — the old-fashioned way. For miniatures and figurines, acrylic paint over a gray PLA base is still the most common approach.
The original GLB had multiple separate meshes — common in game models and character rigs where arms, legs, head, and body are separate objects for animation purposes. The converter merges all meshes into a single STL, but "merged" means they're in the same file — not that they're physically connected. If the meshes were floating near each other (with gaps), the STL will have those same gaps. For printing: if the parts overlap (they usually do in character models), most slicers handle this fine — they union overlapping geometry during slicing. If parts have visible gaps, you need to close them: (1) Import to Blender, (2) Select all parts, (3) Apply Boolean modifier (Union) to join them, or (4) Use Meshmixer's "Make Solid" to create a watertight single mesh from overlapping parts.
The converter merges everything into one STL. To extract a specific part, use Blender: (1) File > Import > glTF 2.0, (2) Open the Outliner panel — you'll see all objects from the GLB listed by name, (3) Click the object you want to isolate, (4) File > Export > STL, and check "Selection Only" in the export options. This gives you an STL of just that one object. Alternatively, inspect the GLB first to see what's inside: npx @gltf-transform/cli inspect model.glb lists all mesh names and triangle counts. If you know which mesh you want, Blender's approach is fastest. For batch extraction (e.g., a model with 20 separate parts), write a Blender Python script to loop through objects and export each as a separate STL.
Game models and 3D-printable models have fundamentally different requirements, and most game assets need significant cleanup before printing. Specific issues to watch for: (1) Low poly count — game models use 5K-50K triangles to maintain frame rate, which means visible faceting when printed. Consider subdivision (Blender: Subdivision Surface modifier, 1-2 levels) before converting. (2) Double-sided faces — games render both sides of a polygon, but 3D printers need closed volumes. Open the STL in Meshmixer, check for non-manifold edges. (3) No thickness — game models often use flat planes for things like hair, clothing, or leaves. These have zero volume and can't be printed. You need to add thickness (Blender: Solidify modifier, 1-2mm). (4) Scale — game units vary wildly. Inspect in your slicer and rescale as needed.

Related Converters

What's Next? Try These Tools

Learn More

More GLB Conversions