Free tool
Free Online OBJ File Viewer
Open an .obj file in 3D and see what is inside it: faces, triangles, materials and size. Add its .mtl and texture images to see the colours. The files stay in your browser and no account is needed.
Two OBJ files, measured
We opened two files in this viewer and wrote down what the report said, so you can see what the numbers look like before you try your own. The first is the standard Suzanne monkey head, exported by Blender. The second is a small cabin written by hand to show a .mtl with two materials.
| File | Vertices | Faces | Triangles | Materials | What to notice |
|---|---|---|---|---|---|
| Suzanne, Blender export | 507 | 500 (468 quads) | 968 | 0 | No material, so it opens grey. More UVs than vertices: texture seams duplicate points. |
| Cabin, OBJ plus MTL | 10 | 9 (7 quads) | 16 | 2 | Two materials from one .mtl. Drop only the .obj and both turn grey. |
The gap between 500 faces and 968 triangles for Suzanne is why the report shows both. The same head is described by either number, and a limit in a game engine or an upload form usually means the bigger one.
What the OBJ viewer tells you about a file
An OBJ is plain text. Every line starts with a keyword: v for a point, vt for a texture coordinate, vn for a normal, f for a face, usemtl for the material a face uses. Once a file is open, this viewer counts those lines and prints the totals under the model, because the totals explain most of the problems people hit.
- Faces and triangles
- A face can have three, four or more corners. A slicer or a game engine counts triangles, so a quad counts twice and a face with n corners counts n minus 2. The report shows both, so you know which number a 100,000-triangle limit is talking about.
- Normals and UVs
- Missing normals make a model look faceted or flat-lit; missing UVs mean a texture has nowhere to go. Both are counted separately from vertices, because OBJ stores the three lists independently.
- Materials and .mtl files
- The names the OBJ asks for with
usemtl, and the .mtl files it expects on itsmtllibline. If one is not in the files you selected, the viewer tells you its name. - Raw size
- The bounding box in the units written in the file. OBJ has no unit, so 2.7 might be metres, inches or millimetres; only the program that exported it knows.
- Broken faces
- Faces that point at a vertex number that does not exist, which is the usual sign of a truncated download or a bad export.
Why an OBJ opens grey, and how to fix it
The OBJ file never contains colour. It contains the shape, and a note saying “look in cabin.mtl for the materials”. The .mtl file contains colours and the names of the image files used as textures. If the viewer only receives the .obj, it has the shape and nothing else, so it draws everything in grey. That is not a bug in the file.
- Select all the files at once. In the file picker hold Ctrl (or Cmd) and pick the .obj, the .mtl and the image files, or drag them onto the box together.
- Check the names. The viewer uses the .mtl you select (the one the OBJ names, if you picked several). Texture lines in it are matched to your image files by file name, ignoring capital letters. A texture called
wood.PNGin the .mtl butwood_diffuse.pngon disk will not load. A notice under the model names any .mtl the OBJ asks for that you did not select. - Look for absolute paths. Some exporters write a full path such as
C:\Users\you\wood.pnginto the .mtl. This viewer uses only the last part of the path, so it still finds the file if you selected it. - Still grey? The OBJ may use no
usemtlline at all. The report shows how many materials the OBJ actually uses.
What OBJ keeps, and what GLB and STL keep
| Feature | OBJ | GLB | STL |
|---|---|---|---|
| Stored as | Text, plus .mtl and image files | One binary file | Binary or text triangles |
| Colour and textures | Yes, through a separate .mtl | Yes, inside the file | No |
| Face shape | Triangles, quads or larger | Triangles | Triangles |
| Animation | No | Yes | No |
| Unit | None | Metres | None, millimetres by convention |
Because OBJ and STL carry no unit, a model can arrive tiny or huge in the next program. If the Raw size line looks wrong, scale on import rather than editing the file. For a print, the free OBJ to STL converter can rotate Y up to Z up, and the STL repair tool closes simple holes afterwards. A .glb opens in the GLB viewer.
OBJ viewer questions
Is this OBJ file viewer free?
Yes. It needs no account and no credits. The file is read and drawn by your browser; this page has no upload endpoint, so nothing you open leaves your device.
Why does my OBJ open grey with no colour or texture?
An OBJ holds only geometry. Colours live in a separate .mtl file and pictures in image files, and the OBJ names the .mtl on its mtllib line. Select the .obj, the .mtl and the texture images together (or drop them at once) and the viewer matches the textures by file name. A notice under the model names any .mtl the OBJ asks for that is missing.
Which files can I open?
A Wavefront .obj, plus an optional .mtl and PNG, JPG or WebP texture images. Other formats open elsewhere: a .glb in the GLB viewer, a Gaussian splat .ply in the splat viewer.
Why does the report show more triangles than faces?
OBJ faces can have four or more corners. A quad is two triangles and a face with n corners is n minus 2, which is what a slicer or game engine counts. Our Suzanne sample is 500 faces and 968 triangles.
Why is the model tiny, huge or lying on its side?
OBJ stores no unit and no up direction. The size line shows the raw numbers in the file. Many programs write Y up, while slicers expect Z up. This viewer only shows the file; the OBJ to STL converter can rotate Y up to Z up.
Can this viewer convert or save the OBJ?
No, it only opens and reports. For an STL from an OBJ you already have, use the free OBJ to STL converter.
All Sculptly tools
Make printable geometry
- 3D text generator
Turn a word into loose letters, a name plate, or a keychain.
- Image to STL
Turn a photo into a printable 3D model and export STL.
- Free image to 3D model
See the free image reconstruction workflow and its limits.
- PNG to STL
Trace a logo or silhouette and extrude it with an optional plate.
Convert and prepare files
- 3MF to STL
Extract printable parts from a 3MF as one STL or a zip.
- STL to 3MF
Combine printable meshes in a unit-aware 3MF.
- OBJ to STL
Convert between OBJ and STL in your browser.
- STL simplifier
Reduce triangle count while checking the resulting size.
- Mesh repair
Find and close simple open boundaries in STL and GLB meshes.
Inspect and arrange
- GLB viewer
Inspect a GLB model without uploading it.
- OBJ file viewer
Open an OBJ with its MTL and textures, and read its face report.
- Scene composer
Arrange several models together in one browser scene.
- Gaussian splat viewer
Open and inspect a compatible splat PLY file.
Sculptly turns one photo into a 3D mesh in your browser. Try it free first; OBJ and the other print formats are a one-time unlock per model.
Make a model from a photo →