A glTF viewer is a browser page that loads a .gltf or .glb file and draws it on screen so you can inspect it before it ships. It lets you catch the mistakes that are expensive later — wrong scale, missing textures, broken normals, models stuck in the wrong pose — in seconds rather than after a build. This guide covers what to check and how to open a file without uploading it anywhere.
Why Inspect glTF Before Shipping
glTF is a delivery format, not a working format. By the time a model reaches glTF it has usually passed through an exporter that quietly changed something: a unit scale, a texture path, an axis convention, a material that no longer resolves. Opening the file in the same kind of loader your audience will use — a web viewer built on three.js and WebGL — is the closest thing to a preview of how it will actually appear.
The alternative is finding out from a user, a bug report or a failed asset import. A ten-second browser check is cheaper than any of those.
What a glTF Viewer Actually Shows You
A browser glTF viewer reads the scene with the three.js GLTFLoader, centres and frames it, and draws it on a dark stage you can orbit, zoom and pan. On the page at our glTF viewer, materials and textures stored inside the file are shown, the model is displayed in its stored pose, and there is a reset-camera button plus a fullscreen mode for a closer look at the geometry.
Two honest limitations are worth knowing up front. First, animation clips are not played — you see the rest pose, not the motion. Second, a .gltf file often points at separate .bin and image files, and a viewer that accepts a single selected file cannot fetch those companions. That is precisely why the viewer recommends a .glb or an embedded .gltf when the model looks broken.
What to Check, and What Each Check Catches
Run through this list every time a model leaves your hands. Each row names a check and the class of bug it exposes.
| Check | What to look for | What it catches |
|---|---|---|
| Loads at all | File appears, no error | Corrupt files, wrong extension, missing companions, non-embedded glTF |
| Scale | Model is a sensible size in frame | Wrong unit conversion, mm/metre mix-ups, exports scaled ×100 |
| Materials | Correct colours and roughness | Dropped or unresolved materials, defaults overriding PBR values |
| Textures | Images appear on surfaces | Missing image paths, textures not embedded in the GLB |
| Normals | Lit surfaces, no black patches | Inverted or missing normals, shading artefacts |
| Pose | Body reads in its rest shape | Skinning exported at the wrong frame, broken bind pose |
| Geometry | No holes, spikes or stray parts | Failed decimation, unmerged objects, loose vertices |
| Orientation | Up axis looks correct | Y-up / Z-up mismatch after export |
Scale
Scale errors are the most common and the most embarrassing. A chair that is two metres tall or a character one centimetre high usually means the exporter applied the wrong unit. Because the viewer auto-frames the model, you may not notice an absolute scale problem from the frame alone — rotate, and compare parts against each other, or import a known reference object in your DCC and export both together.
Materials and textures
Look for surfaces that are flat grey when they should be textured. In a GLB, materials and images are packed inside the file and should render. In a plain .gltf, if the .bin or the image files are separate, the single-file viewer cannot reach them — so either the model fails or it renders untextured. This is one of the clearest signals that you should re-export as GLB before delivery.
Normals
Normals decide how light hits a surface. If a model looks patchy, inside-out or black in places, suspect inverted or missing normals. A good viewer with realistic lighting exposes this immediately; a flat, unlit preview can hide it, so always judge shading, not just silhouette.
Animation and pose
A viewer that does not play animation still shows you the rest pose. Inspect it. If limbs are stretched, feet float, or the mesh collapses at the joints, the skinning or bind pose was exported incorrectly — and no amount of playback would fix it. Motion itself has to be verified elsewhere, for example by importing the file into an engine. Our own generator exports animated FBX motion data for engines, which is the format those pipelines expect for playback.
How to Open a glTF or GLB Without Uploading It
Opening a model locally is simpler than most people expect, and it avoids handing your unreleased asset to a third-party server. You can try it right here: the viewer below is the same tool as the glTF viewer page.
- Go to the viewer. Open the glTF viewer page. Everything it does happens in the tab.
- Pick the file. Choose the
.glb(preferred) or an embedded.gltffrom your device. The file is read locally with JavaScript; nothing is uploaded. - Wait for the parse. Large files take a moment. The model appears centred on a dark stage once it is ready.
- Inspect from every angle. Drag to orbit, scroll or pinch to zoom, and right-click drag or two-finger drag to pan. Use reset camera to snap back, or fullscreen for detail.
- Fix and re-export. If something is wrong, go back to the DCC tool, fix it, and repeat. Because nothing was uploaded, you can do this as many times as you like.
If you need the model in a different format after inspection, the browser 3D converter turns GLB, glTF, OBJ, STL, PLY and VOX into glTF, OBJ, STL or PLY, also entirely on your device.
A Practical Shipping Checklist
- Open the exact file you plan to ship, not the source project.
- Confirm the extension matches the real format and the file is not truncated.
- Check scale against a reference.
- Confirm textures and materials render in a GLB.
- Scan surfaces for inverted normals and shading artefacts.
- Inspect the rest pose for skinning errors.
- Verify orientation — up should face up.
- Confirm animation plays in a target engine, since a browser viewer will not play it.
FAQ
Is my glTF file uploaded when I use a browser viewer?
No. The viewer reads the file from your device and parses it locally with JavaScript, so nothing is sent to a server. Closing or reloading the page discards the model entirely.
Why does my .gltf file show no textures or fail to load?
A .gltf file usually references separate .bin and image files. Because you select only one file, the viewer cannot fetch those companions, so the model may appear untextured or fail. Use a .glb, or export the glTF with buffers and textures embedded.
Does a glTF viewer play animations?
Not the one described here. Animation clips stored in glTF, GLB or FBX are not played; the model is shown in its stored pose. You can still orbit and inspect it from any angle, but verify motion in an engine or DCC tool.
What should I check first when inspecting a glTF model?
Start with whether it loads at all, then scale, then materials and textures. These three catch the majority of broken exports. Follow with normals and the rest pose if the model is rigged.
How large a glTF or GLB file can a browser viewer open?
The tool sets no size limit of its own. What works depends on your device's memory and graphics hardware, so very dense models may load slowly or fail, especially on phones. If a file is too heavy, reduce its polygon count and try again.
Is a browser glTF viewer enough to verify a model is production-ready?
No. It is a fast check for geometry, materials and pose, but it does not play animation and cannot confirm that a target engine will import the file. Treat it as the first gate, not the only one.