100% local processing — your files never leave your computer

GLB Viewer

Open and inspect GLB models directly in your browser. Explore scenes, nodes, materials and embedded textures without uploading your file.

Your GLB stays on this device. MeshWrench reads and renders it locally in your browser.

Up to 150 MB. Embedded base-color textures render directly from the file; other texture maps and external resources are never fetched.

Waiting for a file

Interactive 3D preview of your GLB model. Drag to rotate, scroll to zoom. Nodes and primitives can be shown or hidden using the panel below.

How to view a GLB file

  1. Select a GLB file using the picker above.
  2. MeshWrench resolves it locally, in a background worker — nothing leaves your device.
  3. Once resolution finishes, drag to rotate, scroll to zoom, and use the panel below the viewport to fit the view, toggle wireframe, switch material display, or show and hide individual nodes and primitives.

What the GLB Viewer displays

After a file loads, the panel below the viewport shows file size, glTF version, the selected scene, scene and node counts, mesh and primitive counts, resolved node-instance count, source vertex and rendered triangle counts, line and point counts, material/texture/embedded-image counts, animation/skin/morph-target counts, and whether source normals, tangents and vertex colors are present. A node tree lists every node and primitive so you can inspect — and individually show or hide — the pieces of a multi-node scene.

Scenes, nodes and mesh instances

A GLB file organizes geometry as a real scene graph: a scene selects one or more root nodes, each node can have child nodes and its own transform, and a node references a mesh made of one or more primitives. This viewer walks that real structure — the same default-scene selection and node hierarchy the GLB to STL converter uses — rather than inventing object boundaries. A single mesh referenced by more than one node renders as separate, independently placed and independently visible instances.

How embedded materials and textures work

This viewer supports the core metallic-roughness material model at a practical first-viewer level: base-color factor and texture, metallic and roughness factors, emissive color, alpha mode and double-sided rendering. Base-color textures embedded directly in the GLB file (as PNG or JPEG image bytes) are decoded and shown — MeshWrench never fetches an external image. Metallic-roughness, normal and occlusion texture maps are detected and reported but not decoded in this phase; affected surfaces still render using their material factors. "Neutral material," "Vertex colors" and "Color by node" display modes are also available — the last one uses a deterministic internal palette purely as a visualization aid, never presented as the file's real appearance.

How dimensions are shown

glTF always uses meters as its coordinate unit. This viewer shows dimensions in meters and converts them to millimeters for reference, but never applies a rendering scale to the model itself — unlike MeshWrench's GLB to STL converter, which deliberately scales its STL output ×1000 for millimeter-based slicers. What you see here is the file's own, unscaled geometry.

What happens to animations and skins

This viewer renders the file's static base scene only. Animation channels aren't played, skin deformation isn't applied, and morph targets aren't applied — if a file includes any of these, a clear warning says so. What's shown is the model's default pose, not an animated or posed result.

GLB versus STL

GLB is a compact binary container for a full glTF scene — real hierarchy, materials, embedded textures, vertex colors and (optionally) animation, all in one file. STL stores only raw triangle geometry, with no units, no materials and no metadata at all. This viewer can show GLB's richer structure that a converter's flat STL output can't carry over.

Why a GLB may not open

Is the GLB uploaded?

No. There is no server-side file-processing route in MeshWrench at all. Your browser reads the file, resolves its scene graph, decodes any embedded texture images, and renders the result with WebGL — all on your device. You can verify this yourself: open your browser's developer tools, watch the network tab, and load a file. No request containing your file, or any image or metadata found inside it, will appear.

Frequently asked questions

Is my GLB file uploaded?

No. The file is read and resolved entirely in your browser, inside a background Web Worker. It's never sent to a server — check your browser's network tab while a file loads to confirm this yourself.

Does this viewer show the file's real materials and textures?

Yes, at a practical first-viewer level: base-color factors, base-color textures embedded in the file, metallic/roughness factors, emissive color and alpha mode all render. Other texture maps (metallic-roughness, normal, occlusion) are detected and reported, but not decoded in this phase — MeshWrench never fetches a texture from anywhere; only image bytes already embedded in the file are used.

What unit are the dimensions shown in?

glTF always uses meters. This viewer shows dimensions in meters and converts them to millimeters for reference — no rendering scale is applied to the model, unlike MeshWrench's GLB to STL converter, which scales its output ×1000 for millimeter-based slicers.

Does this tool play animations or apply a skin?

No. This viewer renders the file's static base scene only — animation channels, skin deformation and morph targets are detected and disclosed, but never applied. What you see is the model's default pose, not an animated or posed result.

Does it support Draco or Meshopt-compressed files?

No. Files that require Draco mesh compression or Meshopt compression to read their geometry are rejected with a clear error — MeshWrench doesn't fetch or run a compression decoder.

Which browsers are supported?

Any recent version of Chrome, Firefox, Safari or Edge with WebGL and Web Worker support.