What an OBJ file is and what the viewer reads
An OBJ is a plain text file that lists vertices (lines starting with v), optional normals (vn) and texture coordinates (vt), and then faces (f) that point back at those vertices by number. Faces can have three, four or more corners. Because it is text, an OBJ from Blender, Maya, ZBrush, Meshroom or a scanner app opens in any editor, and it is the format most modelling tools agree on when they disagree on everything else.
This OBJ viewer reads the vertex, normal and face lines, triangulates any quads and n-gons, and shows the result with a neutral material you can recolour. Object and group names are kept so a multi-part file still renders as one scene. Material definitions live in a separate .mtl file and texture images in separate image files; the viewer does not fetch those from your disk, so what you see is the shape, not the paint. For a print check that is exactly what matters.
Like every tool on this site, the work happens in your browser. The file is read from your device, parsed in memory and drawn with WebGL; no copy is sent anywhere. Open the network panel of your browser's developer tools while you load a model and you will see no upload. Close the tab and the model is gone.
Worked example: a 5,000-triangle OBJ from a scan cleanup
Say you cleaned up a phone scan of a coffee mug in Blender and exported mug.obj. Drop it on this page.
- The status line reads something like
mug.obj,5,012 triangles,2,540 vertices. If the file had quads, the triangle count is higher than the face count in Blender, because each quad became two triangles. - The dimensions panel shows
0.09 x 0.09 x 0.11. That is the scene in metres, which Blender uses by default. The viewer flags it: a model 0.11 units tall would print smaller than a grain of rice if a slicer read it as millimetres. Scale by 1000 before you export, or export the OBJ again with the scale set to 1000. - Switch on Wireframe. A cleaned scan should show reasonably even triangles; long slivers along the handle mean the decimation was uneven and the surface will show facets when printed.
- Look at the watertight line. A mug scanned from the outside usually reports open edges around the rim and the base, where the scanner saw nothing.
Watertight: no, 214 open edgestells you the model needs closing in a mesh editor before slicing. This viewer reports the problem; it does not fill holes. - Click two points on the rim to measure the diameter, then take a Screenshot to send to whoever asked for it.
Five steps, no software installed, and you know the three things a slicer will not tell you clearly: the file is in the wrong units, it has open edges, and roughly how dense the mesh is.
Checking an OBJ before printing or converting
- Units. OBJ has no unit field. Read the bounding box and compare it with the size you expect. A 25.4 factor means inches; a 1000 factor means metres.
- Closed surface. A watertight mesh has every edge shared by exactly two triangles. Open edges show up here as a count; a slicer will still try to print the file but may fill or drop the region unpredictably.
- Face orientation. If parts of the model look dark or transparent from some angles, some faces point inwards. The STL repair tool unifies normals after you convert.
- Convert when needed. Slicers want STL or 3MF. OBJ to STL writes a binary STL from what you see here, with the same triangle count.
Limitations
- Materials (
.mtl) and texture images are separate files and are not loaded. The mesh is drawn in a single colour of your choice. - Faces with more than three corners are triangulated on load. The triangle count reported here is therefore higher than the face count in your modelling tool.
- Files with curves or free-form surfaces (rare OBJ extensions) are not supported; only polygonal geometry.
- The whole file is held in memory. Very large scans (several hundred MB of text) can exceed what a phone browser allows.
- No hole filling and no remeshing. The viewer reports open edges so you can fix them in a mesh editor.
Last updated 2026-09-16. Runs in your browser; nothing is uploaded.