Tiny Online Tools logoTiny Online ToolssearchSearch tools…grid_viewAll Tools
Homechevron_right3D Toolschevron_rightGLTF & GLB ValidatorGLTF & GLB Validator

GLTF & GLB Validator

Validate GLB and GLTF files against the Khronos glTF 2.0 specification and see every error and warning.

upload_file

Click to browse or drag & drop files here

Select a GLB or glTF file to validate

Accepted: .glb,.gltf

Companion files (recommended for .gltf)upload_file

Click to browse or drag & drop files here

Add the .bin buffers and texture images a .gltf references, or every reference will report as missing

Companion files can be added before or after the main file — validation re-runs automatically whenever this list changes.

Similar Tools

GLB & GLTF Packager

GLB & GLTF Packager

Pack a .gltf and its textures into a single .glb, or unpack a .glb back into editable files.

3D Dependency Inspector

3D Dependency Inspector

Audit what a GLB or GLTF file references against what it actually contains.

3D Model Compressor

3D Model Compressor

Compress GLB and GLTF files online for free and cut 3D model size by up to 95%.

3D Material Editor

3D Material Editor

Open a GLB or GLTF model and edit every PBR material it contains — free, in your browser, with nothing uploaded.

Video Compressor

Video Compressor

Video Compressor helps you reduce video file size while keeping useful quality directly in your browser. Use it for fast, private media cleanup, publishing, lessons, demos, and everyday video or audio editing.

3D Web Optimizer

3D Web Optimizer

Optimize a 3D model for the web against a real performance budget, free and entirely in your browser.

IBAN Generator

IBAN Generator

Generate valid IBAN numbers for more than 30 countries with correct check digits (ISO 13616 mod-97).

apps

More Tools

Browse our full collection of free online tools.

The official validator, in your browser

This is not a reimplementation. It runs the Khronos glTF-Validator — the same engine behind the official online validator and the export checks built into several DCC tools — compiled to JavaScript and executed locally on your machine.

That distinction matters when you are the one telling a supplier their export is broken. "The official Khronos validator reports ACCESSOR_INDEX_OOB at /meshes/3/primitives/0/indices" is a conversation that ends quickly. "Some website said it looked wrong" is not.

Reading the severities

The validator reports four levels, and they are not equally alarming.

Errors mean the file violates the glTF 2.0 specification. A permissive viewer may still open it — three.js in particular is forgiving — but you have no guarantee any other implementation will. Fix these.

Warnings flag things that are legal but almost certainly unintended: an accessor whose declared min/max do not match its data, a texture with no image, a node with an identity transform and no children.

Information and hints are advisory. UNUSED_OBJECT and NODE_EMPTY show up in plenty of perfectly good production assets — an exporter left a helper node behind, nothing more. A clean file with nine hints is a clean file.

Validating a .gltf with external files

A .gltf is a JSON document that points at separate .bin buffers and image files. If you validate the JSON on its own, every one of those references reports as a missing resource and the report is useless.

Add the companion files in the second picker and they will be resolved properly. Anything still missing is listed explicitly — which is itself a genuine finding, because a .gltf shipped without its .bin is a broken delivery.

Common findings and what they mean

  • ACCESSOR_INDEX_OOB — an index buffer references a vertex that does not exist. Almost always a broken exporter or a truncated file.
  • ACCESSOR_MIN_MISMATCH / ACCESSOR_MAX_MISMATCH — the declared bounds disagree with the actual data. Breaks frustum culling and any consumer that trusts the header.
  • MESH_PRIMITIVE_NO_POSITION — a primitive with no vertex positions. Nothing can render it.
  • UNSUPPORTED_EXTENSION — the file uses an extension the validator does not know. Not necessarily wrong, but worth checking against your target engine.
  • MESH_PRIMITIVE_TANGENT_WITHOUT_NORMAL — tangents with no normals, which is meaningless.
  • UNUSED_OBJECT — something is defined and never referenced. Harmless, but it is dead weight in the file.

The asset summary

Beyond the issue list, the validator reports the numbers that matter for performance: draw calls, total vertices and triangles, maximum UV sets, and maximum bone influences per vertex. That last one is worth watching — many mobile pipelines cap at four influences, and a model authored with eight will deform incorrectly rather than fail loudly.

Privacy

The validator runs as JavaScript in your browser. No file, buffer or texture is uploaded, which makes it safe for client work and unreleased assets.