What a GLB is and why it looks better than an STL
GLB is the binary form of glTF 2.0, the format used by web viewers, augmented reality on phones, Three.js and Babylon.js sites, and most game engines. One file holds a JSON description of the scene, a binary block with vertices, normals, UVs and indices, and optionally the texture images themselves. Materials follow the physically based model: base colour, metalness, roughness, normal map, emissive. That is why a GLB of a product looks like a product, while the same mesh as an STL is a grey lump: STL has no materials at all.
This GLB viewer loads the whole scene, including multiple meshes and their transforms, and shows it with the materials the file carries. Lighting is a fixed studio setup, so the look is consistent between files. Wireframe, section plane, dimensions, measurement and screenshot all work as they do for STL.
Like every tool on this site, the work happens in your browser. The file is read from your device, parsed in memory and drawn with WebGL; no copy is sent anywhere. Open the network panel of your browser's developer tools while you load a model and you will see no upload. Close the tab and the model is gone.
Worked example: checking a 1.2 MB GLB of a chair before publishing it
An interior designer receives chair.glb from a modeller and wants to confirm it is suitable for a product page before handing it to the web team.
- Drop the file. The status line shows
chair.glb,3 meshes,48,220 triangles. The seat, frame and cushion each appear as their own mesh with their own material. - The dimensions panel reads
0.52 x 0.55 x 0.84. glTF stores metres, so this is a 52 by 55 by 84 centimetre chair, which is right for a dining chair. The unit warning appears because the numbers are small when read as millimetres; for a GLB headed to a website that warning can be ignored, but for a GLB headed to a slicer it matters (see below). - Orbit under the chair. If the underside of the seat looks see-through, those faces have inward normals and single-sided rendering hides them; many web viewers will show the same hole. Ask the modeller to flip them, or convert to STL and run STL repair if you only need the shape.
- Switch on Wireframe. 48,000 triangles for a chair is fine for the web; over 500,000 and a phone will struggle.
- Click two points across the seat to check the width and take a Screenshot for the ticket.
Nothing here needed Blender, and the file did not leave the laptop.
GLB and 3D printing
Slicers do not read GLB. If a model you want to print only exists as a GLB (a game asset, an AR download, a Sketchfab export), open it here, check the size, then use GLB to STL (the same converter handles OBJ, GLB, PLY and 3MF). Two things change on the way. Materials and textures are dropped, because STL cannot hold them. And units: glTF is in metres, STL is read as millimetres, so a 0.84 unit chair becomes an 0.84 mm chair unless you scale it by 1000. Do that in the slicer (scale 100000 percent) or in a modelling tool before export. The dimensions panel tells you exactly what factor you need.
Going the other way, STL to GLB turns a print file into something a web page or a phone can display.
Limitations
- A
.gltfthat references a separate.binor image files cannot load those from your disk. Use.glb, or a.gltfwith embedded (data URI) buffers and images. - Animations, cameras and lights inside the file are ignored; the scene is shown in its rest pose under the viewer's own lighting.
- Draco or Meshopt compressed meshes and KTX2 textures are not decoded.
- Dimensions are reported in the file's own units, treated as millimetres. glTF is normally in metres, so multiply by 1000 in your head or scale before converting.
- The whole file is held in memory; GLBs over a few hundred MB may not open on a phone.
Last updated 2026-09-16. Runs in your browser; nothing is uploaded.