How to Use a 3D Model Viewer Online
How GLBKit loads a 3D file in your browser, how to orbit and frame it, what the ten workspace panels actually change, and how to capture a clean image of the result.
What a browser 3D model viewer actually does
A browser-based 3D model viewer does three things a desktop application also does: it reads the file, it builds a scene graph in memory, and it draws that scene with WebGL every frame. What it does not do is install anything. There is no binary to fetch, no license to accept and no project to open first, which is why a viewer is the fastest way to answer a narrow question about a file — is this mesh closed, did the textures survive, does this clip still animate.
GLBKit's viewer is built around that narrow purpose. The workspace is a viewport plus ten sidebar panels, and each panel either changes how the model is displayed or reports something about what the file contains. Nothing writes to your model, and most confusion in a viewer comes from mistaking a display override for a change to the asset.
Two panels report on the file without altering it: Info gives a plain inventory, and Analyzer turns that inventory into counts, memory estimates and a hierarchy tree. Camera, Material, Background, Lights and Environment change the picture you see, Screenshot captures it, and Convert exports a new file. The original is never modified.
Before you load a file
The workspace accepts 25 file extensions: .glb, .gltf, .obj, .fbx, .stl, .ply, .pcd, .usd, .usda, .usdc, .usdz, .zip, .3mf, .dae, .x3d, .vrm, .off, .wrl, .vrml, .las, .laz, .step, .stp, .3ds, .x. Two details save most of the troubleshooting described later in this guide.
If you mostly work with one format, there is a dedicated page for it: GLB, glTF, OBJ, FBX, STL, PLY, VRM, USD, STEP, LAZ.
Bundle companion files into a zip
A .gltf, .obj or .dae is usually a manifest that points at other files: geometry in a .bin, appearance in an .mtl, images in PNG or JPEG. Uploading the manifest on its own gives you geometry with no surface detail. Uploading a .zip of the whole folder solves it: GLBKit unpacks the archive in the browser and resolves the relative paths inside it.
If you want a single self-contained file out of that archive, the ZIP to GLB converter packs it into one GLB.
Stay under the upload limit
The drop zone enforces a 150 MB ceiling and says so on the panel itself, so an oversized file is rejected before anything is parsed rather than after.
Step by step
Open the 3D Model Viewer
Load GLBKit's 3D Model Viewer in your browser. Everything runs locally on your machine, so no account or install is needed.
Drop a model onto the viewer
Drag a file onto the drop zone or use Browse Files. GLBKit accepts .glb, .gltf, .obj, .fbx, .stl, .ply, .pcd, .usd, .usda, .usdc, .usdz, .zip, .3mf, .dae, .x3d, .vrm, .off, .wrl, .vrml, .las, .laz, .step, .stp, .3ds, .x, and a .zip works too when your model depends on companion files. Files above 150 MB are rejected before parsing.
Wait for the scene to finish building
The loader runs in your browser. CAD files, point clouds and zip archives take longest, because the geometry has to be parsed and decompressed before anything is drawn.
Orbit, zoom and pan to inspect the model
Left-drag orbits, the scroll wheel zooms, and right-drag pans at any time. Switch to PAN in the bottom bar to make left-drag pan instead, and use VIEW for fixed camera angles.
Open Info to see what the file contains
The Info panel lists the file's meshes, materials, textures, animation clips and scene hierarchy. It reads the file as it arrived, which makes it the fastest way to spot a missing texture or an unexpected node count.
Adjust the scene until it reads correctly
Use Material to override base colour, metalness, roughness and opacity; Background, Lights and Environment to change how the scene is lit; and Camera for framing, field of view and the projection type.
Capture the framed view
Open Screenshot, choose PNG or JPEG, a resolution up to 3840 × 2160, and a transparent, white or black background. Click Capture Screenshot, then Download Image.
The ten workspace panels
The sidebar groups the panels the way you would reach for them rather than alphabetically. Reading the group heading tells you whether a tab changes the scene or reports on the file.
| Tab | Group |
|---|---|
| Viewer | View |
| Info | View |
| Camera | Scene |
| Material | Scene |
| Background | Scene |
| Lights | Scene |
| Environment | Scene |
| Convert | Tools |
| Screenshot | Tools |
| Analyzer | Tools |

Camera, Material, Background, Lights and Environment all work the same way: pick a value, see the viewport respond, and undo with that panel's Reset button. Info, Screenshot and Analyzer produce output instead — a file listing, an image, or a statistics report.
Display modes and viewport toggles
The bottom bar changes how the viewport renders and how you move through it, rather than how the model itself looks. Some buttons are navigation modes and some are display modes, which is worth separating because they behave differently when something goes wrong.
| Control | What it changes |
|---|---|
| WIREFRAME | Switches the material to a line-only rendering. Use it to see topology, edge density and holes that a shaded surface hides. |
| PAN | Switches drag from orbit to panning, so the model stays put and the camera slides sideways. |
| ZOOM | Turns the on-screen zoom control on so you can dolly without the wheel. |
| HOME | Returns to the default orbit state and leaves any other active mode. |
| ANIMATION | Toggles the turntable auto-rotation, not a file's own animation. |
| VIEW | Resets the camera and grid to defaults. |
The top-right of the viewport adds three toggles over the rendered scene: the grid, the transform gizmos, and a bounding box around the model. The bounding box is the one to reach for when a model looks bigger or smaller than expected, because it shows the extents the scene is actually using rather than the size of the geometry itself.
Framing the model with the camera
Dragging gives you an interactive camera, but a reproducible one comes from the Camera panel. It exposes the projection type, seven fixed viewpoints, and two numeric controls that together decide how much of the scene is in frame.
View presets
The panel offers 7 presets: Front, Back, Top, Bottom, Left, Right, Isometric. Isometric is the default on reset, and the same set is reachable from the VIEW button in the bottom toolbar under the shorter label Iso.
Projection, field of view and zoom
Camera Type switches between Perspective and Orthographic. Perspective respects the Field of View slider (20° to 100°, default 40°), which is hidden in orthographic mode because that projection has no field of view. Zoom runs from 0.25x to 5x, default 1x and applies to both.
Orthographic is the one to reach for when checking a flat panel or a technical drawing, because parallel projection shows distortion-free proportions. For anything meant to look like a product render, stay in Perspective.
Fixing a material that looks wrong
When a model looks wrong, the question is always whether the material is wrong or the texture failed to load. The Material panel answers it: select the material from the list at the top of the panel and override its properties. A surface that corrects itself under an override had a texture problem; one that does not had a material problem.
| Control | What it changes |
|---|---|
| Base Color | Colour picker plus a hex field, applied to the material you select in the list above. |
| Metalness | 0 to 1 in 0.01 steps. Raise it for a reflective surface, lower it for a dielectric one. |
| Roughness | 0 to 1 in 0.01 steps. 0 is a mirror finish, 1 is fully diffuse. |
| Opacity | 0 to 1 in 0.01 steps. Anything below 1 makes the material transparent. |
Reset Materials restores the values the model arrived with. Because these are session settings, nothing about the file changes.
Capturing a clean image
The Screenshot panel renders the canvas at a chosen size and hands back an image. Three settings decide the result.
| Setting | Options |
|---|---|
| Image Format | PNG or JPEG |
| Resolution | 1280 × 720 (HD), 1920 × 1080 (Full HD), 3840 × 2160 (4K) |
| Background | Transparent, White, Black |
Transparent only behaves as transparency with PNG — JPEG has no alpha channel, so pick White or Black there. Capture Screenshot fills the preview buffer, and Download Image becomes available at that point. The filename combines the model name, the resolution and the format.
If capturing images is the main job, the dedicated 3D Model Screenshot tool opens straight into this workflow, and How to Take GLB Screenshots covers the camera and lighting choices behind a publishable render.
Large and complex models
Every file is parsed in memory, so the practical ceiling is the machine's memory and the GPU's ability to draw the triangle count within a frame. Two things scale badly: draw calls and texture memory.
A file with a hundred thousand triangles in one mesh draws fine. The same triangles spread across ten thousand separate meshes does not, because each mesh becomes its own draw call and the per-mesh overhead dominates. That is why the Analyzer's mesh count matters as much as its triangle count.
Textures dominate memory instead. An uncompressed 4096 × 4096 RGBA texture with a full mip chain runs to roughly 85 MB once the GPU has it resident, and a model with four of those asks for a third of a gigabyte before a single extra effect is enabled. Texture size is usually the easier thing to reduce, because dropping a map from 4K to 2K is close to invisible at typical viewing distances.
If a large file is slow to appear, watch whether it is slow to appear all at once or slow to become interactive. A long wait followed by a responsive model usually means parsing and uploading; a model that renders but stutters while you orbit is drawing too much per frame, and the answer is fewer meshes or fewer pixels rather than a smaller file. Run it through the Analyzer first so you know which of the two you are dealing with.
Once you know which one it is, the usual fixes are GPU texture compression (KTX2 with Basis Universal) for memory and mesh compression (Meshopt or Draco) for download size. Tools such as glTF Transform can apply them, and the Khronos KTX documentation explains the texture format.
When a file will not open
The model loads untextured
Missing companion files. Check the Textures block in the Info panel: if a texture is listed but does not appear on the model, the manifest resolved but the image did not. Repack the folder as a zip and upload that.
The file is rejected outright
Check the extension against the list of supported extensions near the top of this guide, then check the size against the 150 MB cap. A supported extension with a corrupt payload fails during parsing, which usually means a truncated download or an exporter that wrote an incomplete file.
The scene loads slowly
CAD, point cloud and zip files are parsed before anything is drawn, so the wait is expected. If it never resolves, the archive probably contains no recognised model — GLBKit reports that case rather than loading an empty scene.
The model looks nothing like the source
Turn the Environment HDRI toggle off and work from the Lights panel alone. An HDRI contributes its own reflections and ambient colour, and it changes with every preset you switch between. Isolating the lights is the fastest way to see what the asset actually looks like.
FAQ
Does GLBKit upload my model to a server?
No. The viewer parses and renders the file with WebGL in your browser. Nothing is sent to a server for viewing, inspection or capture, so an unpublished model stays on your machine.
Which formats can I open?
The workspace accepts .glb, .gltf, .obj, .fbx, .stl, .ply, .pcd, .usd, .usda, .usdc, .usdz, .zip, .3mf, .dae, .x3d, .vrm, .off, .wrl, .vrml, .las, .laz, .step, .stp, .3ds, .x. ZIP archives are unwrapped in the browser and the first supported model inside becomes the scene, which is the easiest way to open a .gltf or .obj that references textures and .bin buffers.
Why does my model show up without textures?
The most common cause is a missing companion file rather than a viewer bug. A .gltf, .obj or .dae that points at external textures renders untextured if those files are absent, so upload the whole folder as a single .zip and check the Textures section of the Info panel.
Does changing the Material panel modify my file?
No. Material, Background, Lights, Environment and Camera are display settings held in the browser session. Your file on disk is untouched.
Can I convert a file from inside the viewer?
Yes. The Convert panel lists the targets available for the format you loaded — the available outputs depend on the source format (for example GLB offers GLTF, OBJ, STL, PLY, 3MF, FBX, OFF). Conversion runs in the browser.
Do I need to install anything to use the viewer?
No. The viewer is a web page. A current version of Chrome, Edge, Firefox or Safari is enough, and there is nothing to install, no plugin to enable and no account to create.
Related guides
Open the 3D Model Viewer
Load a model and the workspace opens with all ten panels available. Nothing is uploaded, and the file stays on your machine.