GLB Viewer

Open a GLB file (binary glTF) and see it as it was made, right in your browser. The viewer shows the model with its own materials and textures, plays its animations (pick a clip, pause, change speed, scrub) and gives every morph target a slider. Next to the 3D view it lists what is inside the file: meshes, triangles, vertices, materials, each embedded image with its type and size, animations with their length, cameras and the glTF extensions used. A file size breakdown shows how much of the GLB is geometry, textures and animation, and basic checks flag broken references or bounds that do not match the data. Draco and meshopt compressed GLBs open too. Save the view as a PNG, with a transparent background if you like. Nothing is uploaded.

100% private — everything runs in your browser. Everything runs in your browser; your model files are never uploaded.

100% private — runs in your browser
Drop a GLB file here or click to chooseBinary glTF (.glb) with its textures, animations and morph targets. A .gltf with its .bin and images works too.
Loading the 3D viewer…

File details

View

Model

Screenshot

Runs in your browser: your files are read on your device and never uploaded, and web addresses inside a model are not fetched. The 3D engine (three.js) loads from the jsDelivr CDN. You may use what you make here, including commercially, with no credit needed. The rights in your own models stay as they were.

How to open a GLB file online

  1. Drop a .glb on the box, or click Try a sample.
  2. Drag to orbit and scroll to zoom; pick a view from Look from.
  3. Play an animation or move a morph target slider.
  4. Read the file details, textures, extensions and size breakdown, then click Save view as PNG.

What you can use it for

  • Check a GLB from a 3D shop, a scan app or an AI 3D generator before you use it
  • See why a GLB is so large before you put it on a website
  • Check that a model’s animations and morph targets came through an export
  • Save a clean PNG of a product model for a listing or a slide
  • Find which glTF extensions a file needs before loading it in your own app
  • Check the size of a model in metres, millimetres or inches

What the viewer lists from a GLB

PanelWhat it shows
File detailsFormat and glTF version, file size, meshes, triangles, vertices, materials, textures, animations, morph targets, cameras, nodes, the program that made it, size
Textures and imagesEach image: name, type (PNG, JPEG, WebP, KTX2), stored inside the GLB or as a data URI, and its size in bytes
AnimationEvery clip with its length; play, pause, 0.25× to 2× speed, scrub
Morph targetsOne slider per target, named as in the file
Extensions and camerasEach glTF extension, whether the file requires it, and the cameras in the file
File size breakdownBytes of geometry, textures, animation and skins, morph targets and other data, plus the GLB’s JSON and BIN chunks
ChecksBroken references, buffer and accessor sizes, position bounds against the data
glTF JSON (tree)The file’s JSON, opened level by level

What the sample model contains

ItemIn the sample
Meshes2
Triangles24
Vertices (as stored)48
Materials2
Textures1
AnimationsSpin (2 s, rotation); Stretch (1.5 s, weights)
Morph targetsCrateMesh: Stretch
CamerasFront camera (perspective)
Size40 × 22 × 40 mm (stored in metres)

Computed by the viewer’s own code from the file behind Try a sample: a checker-textured crate on a red base, with a spin animation and a stretch morph target. It passes every check in the Checks list.

Inside a GLB file

PartWhat the glTF 2.0 specification says
Header12 bytes: the magic number 0x46546C67 (the letters glTF), the container version (2) and the total length
JSON chunkThe scene description; comes first and is padded with spaces to a 4-byte boundary
BIN chunkThe binary payload: geometry, animation key frames, skins and images; padded with zeros
Units and axesDistances are in metres, angles in radians; +Y is up and the front faces +Z
Position boundsEvery POSITION accessor must have min and max, and they must match the data

The viewer reads the header and chunks itself and shows whether the length in the header matches the file and whether each chunk is 4-byte aligned. The sample’s chunks: JSON aligned yes; BIN aligned yes.

Extensions it handles

ExtensionHere
KHR_draco_mesh_compressionDecoded (Draco decoder from the pinned three.js package)
EXT_meshopt_compression, KHR_mesh_quantizationDecoded
KHR_materials_* (emissive strength, clearcoat, transmission, sheen, IOR and others), KHR_texture_transform, KHR_lights_punctualShown by the three.js glTF loader
EXT_texture_webp, EXT_texture_avifShown when the browser can decode the image
KHR_texture_basisu (KTX2 textures)Not supported here yet: the file is listed, not drawn

Units: why a model can look the wrong size

Units in the file1 unit =
Millimetres1 mm
Centimetres10 mm
Metres1000 mm
Inches25.4 mm
Feet304.8 mm

STL, OBJ and PLY files store plain numbers with no unit, so the viewer reads them as millimetres (most 3D printing models use mm) and tells you when that gives an unlikely size. glTF and GLB are always in metres, as the glTF 2.0 specification says, and Y is up.

Next steps

Need the model for 3D printing? GLB to STL converts it to millimetres with Z up, and the STL viewer checks it is watertight. For a technical drawing of the model, try Orthographic Drawing. To shrink a texture before you rebuild a GLB, use the Image Compressor.

Sources

Sources: Khronos Group: glTF 2.0 Specification (coordinate system and units, GLB file format, accessor bounds).

More free tools

Working with 3D models?

View, measure and convert 3D files with free maker tools that run privately in your browser, with no sign-up and no watermark.

See all free tools →

Frequently asked questions

What is a GLB file?

GLB is the binary form of glTF, an open 3D format from the Khronos Group. One .glb file holds the model’s JSON description and its binary data (geometry, animation and usually the textures) together, so it is easy to share.

What is the difference between GLB and glTF?

They describe the same thing. A .gltf is a JSON text file that usually points to a separate .bin file and image files; a .glb packs all of that into one binary file. Both open here; for a .gltf, add its .bin and images too.

Does it show textures and animations?

Yes. Materials and textures are shown as the file sets them, and every animation clip can be played, paused, sped up or scrubbed. Morph targets get a slider each.

Why is my GLB file so big?

Open it and look at File size breakdown: it shows how many bytes go to geometry, textures, animation and morph targets. Large textures are the usual reason; the Textures and images list gives each image’s type and size.

Does it open Draco-compressed GLB files?

Yes. Draco and meshopt compressed meshes are decoded in your browser. Files that need KTX2 (Basis) textures are not supported here yet; the viewer says so and still lists what is in the file.

What do the checks look for?

Broken references (to materials, meshes, textures, images, buffers or nodes that do not exist), data that runs past the end of its buffer, a missing min/max on positions, and min/max values that do not match the data. It is a quick check, not the full Khronos glTF Validator.

What size is my model?

glTF and GLB files are in metres, so a model 0.04 units wide is 40 mm. The size is shown in millimetres and inches under the view; change Units in the file if a model was exported at the wrong scale.

Can I save a picture of the model?

Yes. Turn the model to the view you want and click Save view as PNG. Choose Twice the view for a sharper image, and the Transparent background for a cut-out PNG.

Is it free?

Yes. There is no sign-up, no watermark, no file limit and no size limit beyond what your device can hold.

Is my model uploaded?

No. The files are read by JavaScript in your browser and never leave your device. Only the 3D engine itself (three.js) is downloaded from a public CDN. If a glTF points to a texture on a web address, the viewer does not fetch it: it lists it and shows grey instead.