
Free · No sign-up · Nothing uploaded
About this viewer
glTF Validator
The Character XYZ glTF Validator runs the official KhronosGroup glTF-Validator over a .gltf or .glb file in a web browser and reports every error, warning, info and hint it finds, each with its severity and the JSON pointer to the part of the file it came from. It also reports which tool generated the file and which glTF extensions it uses and requires. The file is validated on your own device and is never uploaded.
Works withglTF and GLB. The glTF specification is what the validator checks, so there is nothing for it to say about an FBX, OBJ, PLY or STL.
Reports
What it checks
- The official validator, not an imitation
- The same KhronosGroup/glTF-Validator engine the specification's own tooling runs, executed over the original bytes you dropped in. A file that passes here passes wherever else that engine is run.
- Severity, so you know what to fix
- Errors, warnings, infos and hints are counted separately and shown apart. That distinction is the useful part: an error means the file violates the specification and a strict loader may refuse it, while a hint is usually an efficiency note such as an accessor nothing references.
- A JSON pointer to the actual problem
- Each message carries the pointer into the glTF document it came from, so a complaint about an accessor names which accessor. That is the difference between knowing a file is invalid and knowing what to change.
- The generator that wrote the file
- The exporter's own signature, straight out of the asset. When a problem turns out to be systematic rather than one-off, this is the field that tells you which tool in the pipeline to go and fix.
- Extensions used and required
- Both lists, kept apart. A required extension a target engine does not implement will refuse the file outright, where a merely used one degrades — so which list an extension is in decides whether it is a blocker.
Getting started
How to use it
- 1Open the viewerGo to character.xyz/3d-viewer. There is nothing to install and no account to create.
- 2Drop in your modelDrag .glb, .gltf, .fbx, .obj, .ply, .stl or .vrm onto the page, or use the file picker. The file is read on your own device — for a .gltf, drop its folder so the buffers and textures come with it.
- 3Inspect itOpen the inspector panel to read mesh statistics, materials, skeleton, morph targets, animation clips and texture budgets.
- 4Fix what it findsRun the validation report to see every issue against the glTF specification, then re-export and check again.
Questions
Frequently asked questions
How do I validate a glTF file online?
Drag the .gltf or .glb onto character.xyz/3d-viewer and press Validate. The official Khronos validator runs in your browser over the file's original bytes and lists every issue with its severity and JSON pointer. There is no upload and no account, so a confidential or unreleased asset can be checked safely.
What is the difference between an error and a warning?
An error means the file breaks the glTF 2.0 specification and a strict loader is entitled to refuse it. A warning means it is valid but doing something the specification advises against, which usually still loads. Infos and hints are neither — they are observations, most often about data nothing in the file references, and they are worth reading when a file is unexpectedly large.
My GLB opens in one viewer and not another. Why?
Usually either a spec violation that one loader tolerates and another does not, or a required extension the strict one does not implement. The validation report separates those two: the errors list covers the first, and the required-extensions list covers the second.
Can I validate an FBX or an OBJ?
No, and no tool can — the Khronos validator checks files against the glTF specification, and there is no equivalent specification conformance check for those formats. This viewer still opens FBX, OBJ, PLY and STL and reports what is inside them; it simply does not offer a validation report for files the validator has nothing to say about.
Is my file uploaded to validate it?
No. The validator is a WebAssembly build that runs inside your own browser tab, on bytes that never leave your device. Nothing is transmitted, stored or logged.
Elsewhere
Other checks
By format
Validation is the last step of an export
Character XYZ is a full character pipeline, and this is the same validation our own tools run over every asset before it ships. The viewer is the part we give away.
See the creator toolsDrop a 3D model here
or choose a file — nothing is uploaded
Your file never leaves your browser. There is no upload, no account and no server-side processing.