RUNS IN YOUR BROWSER

glTF and GLB Inspector

Drop a .gltf or .glb file, or paste glTF JSON, and this glTF structure checker reads it inside this page. For GLB it reports the 12-byte header and each chunk's offset, length, type and padding. For both formats it lists the declared glTF version, generator and copyright, counts scenes, nodes, meshes, primitives, accessors, buffer views, buffers, materials, textures, images, samplers, skins and animations, and gives you a node hierarchy viewer that stops at cycles and at 256 levels and shows the offending path. Each accessor is checked against its buffer view's byte length (accessor out of bounds, misaligned offsets), each buffer view against its buffer, and the index references of scenes, nodes, meshes, materials, textures and images against the lists they point into. External URIs are listed exactly as written with flags such as parent-directory or absolute path, embedded data URIs are measured by decoded byte size, duplicate JSON keys and keys like __proto__ are reported, and the full result can be downloaded as a JSON report. It works online in a modern browser with nothing to install.

File types: .gltf, .glbProcessing: This browser

or drop a file here

✓ Stays on this deviceMaximum size: 200 MB
HOW TO USE IT

How to use glTF and GLB Inspector

01

Add your file

Choose or drop a .gltf or .glb file. You can paste the contents instead.

02

Let it read the file

The file is read and parsed in this browser — nothing is uploaded.

03

Check the result

Look over what came back, then copy it, download it, or move on.

Common questions

How do I open a GLB file in the browser to see what is inside it?

Drop or choose the .glb file and the inspector reads its header, chunks and embedded glTF JSON right in the page, then shows counts and tables. You get scenes, the node hierarchy, meshes, accessors, materials, textures, images and GLB chunk offsets, plus a JSON report to download. It does not draw the model, so use a 3D viewer when you need to see how it looks.

Can I paste glTF JSON text instead of choosing a .gltf file?

Yes, pasted glTF JSON is inspected exactly like a .gltf file, and a leading byte order mark is removed and noted instead of breaking the parse. Pasted text carries no file name, so the downloadable report is called gltf-inspection.json. Pasting only works for the JSON form; a binary GLB has to be chosen as a file.

Is my glTF or GLB file uploaded to a server when I inspect it?

No, the file is read and parsed inside your browser tab and the inspection makes no network request at all. Buffers and images that the glTF points to by external URI are listed as text and marked not retrieved, so inspecting a model never contacts the hosts those URIs name.

How do I check a GLB file on Windows or Mac without installing Blender?

Open this page in a current browser such as Chrome, Edge, Firefox or Safari on Windows, macOS or Linux and drop the .glb onto it; no 3D software or account is needed. The result is a structural report rather than a rendered view, which is usually what you need to find out why another program refuses the file.

Can I inspect a GLB file on an iPhone or Android phone?

Yes, a current mobile browser can pick the .glb from the Files app or the downloads folder and produce the same report as a desktop. Files up to the 200 MB limit are accepted, but phones have less memory, so a very large GLB is the case most likely to make the tab reload before the report appears.

Why does my GLB file fail with ERR_GLB_LENGTH_MISMATCH or a chunk length mismatch error?

The GLB header stores the total file length and each chunk stores its own length; this error means those numbers do not match the bytes actually present. The error reports the declared and actual lengths. A file shorter than declared usually comes from an interrupted download or copy, so fetch or export it again; ERR_CHUNK_LENGTH_EXCEEDS_INPUT means one chunk claims more bytes than remain after it.

Why is my glTF file rejected with ERR_UNSUPPORTED_GLTF_VERSION?

Only glTF 2.0 is read, so this appears when asset.version is missing, is not a 2.x string (1.0, for example), or when asset.minVersion asks for more than 2.0. The declared strings are reported so you can see exactly what the file claims. Re-export the model as glTF 2.0; older files are refused rather than guessed at.

What is the glTF and GLB file size limit, and how deep can the hierarchy go?

Each file can be up to 209,715,200 bytes (200 MB). The glTF JSON may nest at most 128 levels and hold at most 4,000,000 values, the node hierarchy is followed to 256 levels, and each table shows at most 5,000 rows. A warning names anything that was shortened, and the downloadable report is capped at 3,000,000 characters.

Can the inspector read Draco or meshopt compressed GLB files?

It opens them, but when KHR_draco_mesh_compression, EXT_meshopt_compression or a texture extension such as KHR_texture_basisu is listed as required, the affected sections are marked uninterpreted and the report states it is incomplete. The required extensions it does understand are KHR_mesh_quantization, KHR_texture_transform, KHR_materials_unlit and KHR_materials_emissive_strength.

Is a GLB file downloaded from the internet safe to open?

Inspecting it here renders and executes nothing, but the tool cannot declare a file safe and does no malware scanning. It flags external URIs containing ../ segments, absolute or network paths, Windows drive letters or file: schemes, reports keys such as __proto__ without letting them touch the page, and shows names containing script tags or javascript: links as escaped text. A 3D app you open the file in later may still fetch those URIs.

If the glTF structure checker shows no findings, does that mean the model is valid and will load?

No, an empty findings list only means none of the listed checks fired; it is not a full specification validation and not a promise that any engine will load the file. Vertex values, animations and skins are not decoded, and generator, copyright and extras are the file's own claims. The JSON report names exactly which checks were performed.

What is the difference between a .gltf file and a .glb file?

A .gltf file is JSON text whose buffers and images live in separate files or data URIs, while a .glb packs the same JSON plus one binary chunk into a single file behind a 12-byte header. The inspector reads both; a file named .gltf that is really binary is refused with ERR_EXTENSION_MISMATCH, and renaming it to .glb fixes that.