Skip to content
STL File ViewerOpen 3D file(s)

glTF Viewer

Open a glTF file with its .bin buffer and texture files, then see exactly which relative paths resolved and which did not.

No file open

Local only · Nothing uploaded

Stage / Empty

Open a 3D file

Drop a model and its companion files anywhere on this stage.

STL · OBJ · GLB · glTF · FBX · 3MF

For OBJ or glTF models, select the MTL, BIN, and texture files together.

Display

Projection

Helpers

Up axis

Background

Scale

Background

The current view, at the size set here.

Ready

How to open a glTF file with its resources

The .gltf file is JSON. On its own it has no geometry: vertices live in a buffer, usually a .bin beside it, and materials point at image files. Select everything together:

scene.gltf
scene.bin
textures/basecolor.png
textures/normal.png
  1. Select the group

    Drop the .gltf with its .bin and images, or press Open 3D file(s) and choose all of them. The JSON alone cannot be read into a scene.

  2. Watch the dependency list

    The viewer reads the URIs before parsing. Files that are missing are named in Issues before a single triangle is built.

  3. Inspect and save

    Overview, Materials and Animations describe the scene; Export PNG saves the current view.

What the .gltf file points at

Two arrays carry the dependencies. buffers[].uri names the .bin or uses a data: URI; images[].uri names a PNG or JPEG, uses a data: URI, or points at a buffer view inside a binary container.

Relative paths are resolved against the selected files, not against a folder on a server. A model keeps working after it moves, as long as its file names are still unique among the files that were selected with it.

When a reference does not resolve

  • Missing buffer

    Fatal: without vertex data there is no model. The load stops, and the .bin the file expects is named in the message.

  • Missing image

    The model opens and the material shows without that map. Issues lists each missing image by the path the file wrote.

  • Two files with the same name

    Both are listed and neither is chosen. Opening the model again with one file of that name resolves it; the ambiguity is never settled by guessing.

  • A path to another site

    Refused before any request is made. There is no remote fetch for model resources.

  • A path with ..

    Refused as well: it would point outside the selected files, and there is no filesystem here to escape to.

glTF 2.0: required and optional extensions

extensionsRequired lists the extensions a reader must implement to open the file at all. extensionsUsed lists the ones the file benefits from. The viewer checks the required list first: an extension it does not implement stops the load, and the id is printed with the reason.

Draco geometry and meshopt buffers are implemented and decoded in the browser. KTX2 textures are not supported. Optional extensions that are not implemented are skipped, and the scene loads without that effect rather than failing.

Inspecting scenes, materials and animations

The panels are the ones the GLB viewer uses. The difference is provenance: a texture slot can name an external file, show as embedded for a data: URI, or come from a buffer view in a binary file. The Materials panel says which of the three it is.

Animations lists clips with their names and durations, and plays the selected one. A glTF scene carries animation the same way a GLB does: as JSON plus sampler accessors.

glTF or GLB?

glTF keeps the scene and its resources apart, which suits pipelines that share a .bin or regenerate textures without touching the scene. GLB packs everything into one file, which suits delivery.

The GLB viewer for packed single-file scenes covers the other side of the same choice.

Limits and questions

Why is one .gltf file not enough?

Geometry and images are separate files that the JSON points at. Without them there is nothing to draw.

Are data URIs supported?

Yes. A scene with embedded buffers and images needs no companions, and those resources are listed as embedded rather than missing.

Why did the model break after the folder moved?

Relative URIs are resolved against the files selected with the model. Move the whole folder, or keep the file names unique.

Can a .gltf that points at a CDN be opened?

No. References to other sites are refused, so the model opens only from files on the device.

Are files uploaded?

No. Everything is read in the browser.