glTF Viewer
Open a glTF model in your browser together with the files it needs. A .gltf is a text file that points to other files: a .bin with the geometry and image files for the textures. Select them all at once, drop the folder, or click Open a folder, and the viewer matches every file the model asks for. Anything that is missing is listed by the exact name written in the .gltf, so you know what to look for, and the model still opens when only a texture is missing. Basic checks look for broken references, sizes that run past the end of a buffer and position bounds that do not match the data, and a JSON tree lets you read the file level by level. Animations, morph targets, materials and textures are shown as made. GLB files open too. Nothing is uploaded.
100% private — everything runs in your browser. Everything runs in your browser; your model files are never uploaded.
File details
Parts (show or hide)
Textures and images
Files the model refers to
Checks
Extensions and cameras
File size breakdown
glTF JSON (tree)
View
Model
Screenshot
Animation
Morph targets
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 glTF file online
- Select the .gltf with its .bin and texture files (or drop the folder, or click Open a folder). Or click Try a sample.
- Read Files the model refers to: each file is found or listed as missing by name.
- Drag to orbit and scroll to zoom; play animations if the model has them.
- Check the Checks list and the glTF JSON tree, then save the view as a PNG.
What you can use it for
- Open a glTF that came as a folder or a ZIP (unzip it first) with separate textures
- Find out which texture or .bin file a glTF is missing
- Check a glTF exported from a 3D program before loading it in your own app or game
- Read the JSON of a glTF without a code editor
- Check that animations and materials came through an export
- Measure a glTF model in metres, millimetres or inches
How the files of a glTF fit together
| File the sample .gltf refers to | Kind | With the folder | Without the texture | Only the .gltf |
|---|---|---|---|---|
| scene.bin | buffer | found | found | missing |
| textures/checker.png | image | found | missing | missing |
Computed by the viewer’s own matching code from the sample model’s files (24 triangles, 2 animations). A missing texture still lets the model open in grey; a missing .bin stops it, and the viewer says which file to add.
What the viewer checks
| Check | Why it matters |
|---|---|
| Every file the .gltf refers to (buffers, images) | Found by path or name, missing, or a web address that is not fetched |
| References between parts (materials, meshes, textures, images, nodes) | A broken reference can stop a model from loading in other apps |
| Buffer views and accessors fit inside their data | Data that runs past the end of a buffer is an error in the file |
| POSITION min / max present and equal to the data | The glTF 2.0 specification requires them and says they must match |
| Required extensions | Lists any the file needs that this viewer cannot show (for example KTX2 textures) |
These are quick checks made in your browser, not the full Khronos glTF Validator.
What you can do with a model
| Control | What it does |
|---|---|
| Orbit, zoom, pan | Drag to turn, scroll or pinch to zoom, right-drag (or two fingers) to pan |
| Look from | Corner, front, back, left, right, top or bottom view |
| Wireframe, floor grid, bounding box | See the triangles, the size against a grid (square size shown) and the box around the model |
| Units and up axis | Read the file in mm, cm, m, inches or feet; stand the model on Y or Z |
| Shading normals | As in the file, flat (faceted) or smooth |
| Parts | Show or hide each object, group or mesh |
| Save view as PNG | The current view at the view size or twice that, background optional |
Units and axes
| glTF rule | What the viewer does |
|---|---|
| Distances are in metres | Shows the size in mm and inches (0.04 units = 40 mm); change Units in the file for models exported at the wrong scale |
| +Y is up, the front faces +Z | Stands the model on Y; switch Up axis to Z for files from Z-up programs |
| Binary data and images may be embedded as data URIs | Opens them from the .gltf alone and lists their sizes |
Next steps
Need the model for 3D printing? GLB to STL also reads .gltf files and writes millimetres with Z up; check the result in the STL viewer. Tidy a .gltf’s JSON with the JSON Formatter, or shrink its textures with the Image Compressor.
Sources
Sources: Khronos Group: glTF 2.0 Specification (file extensions, data URIs, units, 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.
Frequently asked questions
Why does my glTF not show its textures?
The textures are separate image files, and they were not added with the .gltf. Select the .gltf, the .bin and the images together, or open the folder. The list of files the model refers to names each missing file exactly as the .gltf writes it.
What is the .bin file?
It holds the binary data of a .gltf: vertex positions, normals, texture coordinates, triangle indices and animation keys. Without it the model has no shape, so the viewer asks for it by name instead of opening an empty scene.
Can I drop a whole folder?
Yes. Drop the folder on the box or click Open a folder. Files in sub-folders (for example textures/wood.png) are matched by their path, and by file name if the path differs.
What is the difference between glTF and GLB?
Both are the same glTF 2.0 format. A .gltf is JSON text that usually points to separate files; a .glb packs the JSON, the binary data and usually the textures into one file. Both open here.
What do the checks look for?
References to materials, meshes, textures, images, buffers or nodes that do not exist, buffer views and accessors that run past the end of their data, a missing min/max on positions, min/max values that do not match the data, and required extensions this viewer cannot show. It is a quick check, not the full Khronos glTF Validator.
Does it fetch textures from the web?
No. If a .gltf points to an image on a web address, the viewer does not download it, to keep your work private; it lists the address and shows grey instead.
Can I save a picture of the model?
Yes. Turn the model to the view you want and click Save view as PNG: at the view size or twice that, with a transparent background if you choose it.
Is it free?
Yes. There is no sign-up, no watermark and no file limit beyond what your device can hold.
Are my files uploaded?
No. The model and its files are read by JavaScript in your browser and never leave your device. Only the 3D engine (three.js) is downloaded from a public CDN. A texture that points to a web address is not fetched: it is listed and shown in grey.