Skip to content
STL File ViewerOpen 3D file(s)

GLB Viewer

Open a self-contained GLB file, inspect its PBR materials and animation clips, and confirm it renders before it goes into an engine.

No file open

Local only · Nothing uploaded

Stage / Empty

Open a 3D file

Drop a model and its companion files anywhere on this stage.

STL · OBJ · GLB · glTF · FBX · 3MF

For OBJ or glTF models, select the MTL, BIN, and texture files together.

Display

Projection

Helpers

Up axis

Background

Scale

Background

The current view, at the size set here.

Ready

How to open a GLB file online

A GLB is a single file, so there is nothing else to select. Drop it on the panel above, or press Open 3D file(s) and choose it.

  1. Open the file

    The scene is parsed and framed to fit. A model with several 4K textures takes a moment longer than the geometry alone, because the images are decoded before the first frame.

  2. Read the panels

    Overview gives meshes, triangles, vertices and the bounding box. Materials lists each material, its type and every populated texture slot.

  3. Check the animation

    Animations lists every clip with its duration. Select one to play it, pause it, or change the speed to 0.5×, 1× or 2×.

Export PNG saves the current view at 1× or 2×, on the stage colour or with a transparent background.

What is inside a GLB file

A GLB is a binary container around a glTF scene. A 12-byte header is followed by chunks: the first is JSON and describes nodes, meshes, materials and animations; the second is binary and holds vertex data, animation samplers and, in most files, the images. The JSON points at buffer views inside the same file, which is why a GLB needs neither a .bin nor a texture folder.

It can still point outside. An image described by a URI instead of a buffer view is resolved from the files selected with the model, and the usual name rules apply. A GLB that embeds everything never has this problem, which is the reason the format exists.

Inspecting PBR materials and animation clips

Materials lists each material by the name in the file, the three.js type it becomes, and the texture slots that are populated: base colour, normal, roughness, metalness, emissive, ambient occlusion and the rest of the standard set. Each slot shows the image size and a thumbnail. A material with no maps is normal for a flat-shaded asset.

Animations lists every clip with its name, duration and track count. The transport plays the selected clip, pauses it, and switches the speed. A clip that exists but barely moves the model is still listed: the panel reports what the file declares, not what the animation looks like.

Compressed geometry: Draco and meshopt

Draco and meshopt compress geometry, not textures. Both decoders are served from this site and downloaded only when a file needs them, so an uncompressed GLB never pays for them.

A file that requires Draco (KHR_draco_mesh_compression) or meshopt (EXT_meshopt_compression) opens like any other GLB. A file that requires an extension the viewer does not implement is refused by name instead of rendering a partial scene, and the extension id is printed with the reason.

KTX2 textures are not supported in this viewer.

Why is my GLB black, untextured, or missing its animation?

  • Black or grey surfaces

    Usually a texture that did not decode, or a material whose maps are missing. Materials shows which slots hold an image, and Issues names a file that could not be resolved.

  • No textures at all

    The file may reference images by URI that were not selected with it. A GLB that embeds its images never has this problem.

  • No animation

    Plenty of files that look animated in a DCC tool contain a single rest pose. When the file declares no clips, the panel says so; that is a property of the file, not a player failure.

  • Different colours than in the editor

    The viewer renders the glTF material model, not a DCC shader graph. A fully metallic material has no environment to reflect here, so it can look darker than in an engine.

GLB or glTF?

GLB packs the JSON, the buffers and the images into one file. glTF keeps the scene apart from its resources, so a pipeline can share a buffer or swap textures without rewriting the scene. A file that has to arrive in one piece is usually GLB; a file produced by a build step is often glTF.

The glTF viewer for external buffers and textures covers the split case, including the list of files a .gltf expects beside it.

Limits and questions

Does the viewer play animations?

Yes. Select a clip, play or pause it, and change the speed. Bones and morph targets follow the clip as the loader built it.

Which compressed files open?

Draco and meshopt geometry. KTX2 textures are not supported.

Is there a size limit?

Yes: 100 MB for one file and 200 MB for one opening, checked before the data is read. Embedded textures make GLB files large, so a scene with several 4K images is where the ceiling is reached first.

Are files uploaded?

No. The file is read in the browser and never leaves the device.

Can a GLB be saved back to disk?

The viewer exports the current view as a PNG. It does not write a model file.