OBJ viewer online
Open OBJ files instantly — measure in mm, cut a section, spot overhangs and check if the model is ready to print. Nothing is uploaded.
What is a OBJ file?
OBJ comes from Wavefront Technologies' Advanced Visualizer software in the 1980s, and it has outlived the product. A file is plain text: lines starting with v define vertices, vt texture coordinates, vn normals, and f faces that reference those lists by index. Faces may be triangles, quads or larger polygons, and the g and o keywords group faces into named objects. Appearance is not in the OBJ at all; a line called mtllib points to a separate .mtl file that lists materials with diffuse colours and texture image names. The format is verbose, has no official unit and no scene hierarchy or animation, but it is trivial to read and write. That is why scanners, photogrammetry tools, sculpting programs and game pipelines still use it to move static meshes around.
What a OBJ file can store
An OBJ stores vertex positions, optional texture coordinates and normals, and polygon faces that may have more than three sides. Named groups or objects split a file into parts. Surface appearance lives in the sidecar MTL file: diffuse, specular and ambient colours plus references to image textures. Some exporters add vertex colours as extra numbers after the position, which is an unofficial extension. There are no units, no animation, no cameras or lights, and no embedded images, so the OBJ, MTL and texture files must travel together.
Apps that open OBJ
Blender, Maya, 3ds Max, ZBrush, MeshLab, Meshmixer, Unity, Unreal Engine, Bambu Studio, PrusaSlicer, Cura.
Strengths
- Opens in practically every 3D application
- Keeps UV coordinates and textured materials
- Human-readable, easy to debug and script
- Supports quads and named objects
Limits
- No unit declaration; scale depends on the exporting tool
- Textures and materials sit in separate files that are easily lost
- Text encoding makes large scans heavy
- No animation, rigging or scene structure
OBJ and 3D printing
Slicers import OBJ geometry and ignore the material file, so what you print is the shape only. Bambu Studio and OrcaSlicer can use the colours from an OBJ for multi-colour assignment on import, but results depend on the exporter. The main trap is orientation and scale. Blender usually writes Y-up files while slicers expect Z-up, so a model may arrive lying on its back, and a model sculpted at one unit per metre can be tiny. MeshShift has an Up-axis fix that rotates Y-up models so they stand upright, shows real dimensions before conversion, and can convert OBJ to STL or 3MF in the browser.
Frequently asked questions
How do I open a OBJ file without installing software?
Drop the OBJ file on this page. It opens in your browser with studio lighting and real dimensions; nothing is uploaded. You can rotate, zoom, measure between two points, cut through the model and check whether it is watertight for printing.
Why does my OBJ import without its colours or textures?
The colour information is in a separate .mtl file and image files. If the MTL or textures are missing, renamed or in another folder, the importer shows plain grey geometry. Keep the OBJ, MTL and images together, or convert to GLB, which packs them in one file.
What unit is an OBJ file in?
None is declared. The numbers are just coordinates, and each application decides what one unit means. Blender defaults to metres, many CAD exports use millimetres. Check the dimensions after import and rescale before slicing if the model looks 1000 times too big or small.
Does MeshShift keep the OBJ materials when converting?
MeshShift reads OBJ with its colours and can write OBJ, GLB, 3MF and PLY, keeping colour where the target format allows. Converting to STL drops colour because STL cannot hold it. Everything is processed in your browser, and the files are not uploaded.