What is an OBJ file?
OBJ, the Wavefront object format
OBJ is the format 3D models travel in. Created by Wavefront in the 1980s, it is about as universally readable as a 3D format gets, which is why models move between Blender, ZBrush, Cinema 4D, game engines and marketplaces as .obj. Its defining quirk is that an OBJ almost never travels alone.
What's inside an OBJ
OBJ is a plain-text format that lists a model's vertices, texture coordinates (UVs), normals and the faces that connect them. Because it is text, you can open an OBJ in any editor and read it — which also makes the files several times larger than a binary format holding the same mesh.
The colors and materials are not in the .obj itself. They live in a companion “material” file, the .mtl, which names each material and points at the actual texture images sitting alongside. So a fully textured OBJ is really three things: the .obj geometry, the .mtl, and a folder of image files. Hand a viewer only the .obj and it has the shape but not the paint — which is why an OBJ so often opens untextured.
Where it fits
OBJ is the plain-mesh interchange standard: when you need to move geometry from one tool to another with the least friction, OBJ is the safe bet. It carries UVs, so a model keeps its texture layout, and it handles multiple named groups within one file.
What it doesn't do is animation or rigging — an OBJ is a static snapshot of a mesh. For a rigged, animated character you want FBX or glTF; for the web you want GLB; for 3D printing you want STL. OBJ is the neutral middle ground everything can read.
OBJ files — FAQ
- Why does my OBJ have no texture / open grey?
- Because a lone .obj is geometry only. Its colors live in a companion .mtl file plus image textures in the same folder. Open the whole folder (.obj + .mtl + images) in a 3D app to see it textured; a single-file viewer shows the untextured mesh, which is fine for checking the shape.
- How do I open an OBJ file?
- Almost any 3D application opens an OBJ — Blender, Maya, Cinema 4D, ZBrush, and most game engines. To just view one in the browser without installing anything, use an OBJ viewer.
- What is the .mtl file next to my OBJ?
- The .mtl (material) file names the OBJ's materials and points at its texture images. Keep it in the same folder as the .obj — without it, the model opens untextured.
- OBJ or STL for 3D printing?
- STL. Both store the mesh a slicer needs, but STL is the safer bet — every slicer takes it, and OBJ's separate material file is dead weight for printing. Convert OBJ to STL and slice that.
- Why is my OBJ file so large?
- OBJ is a text format: every vertex and face is written out as readable numbers, so files run several times bigger than a binary format like GLB or FBX holding the same mesh. Convert to GLB if size matters, especially for the web.
Working with OBJ files
Need a 3D model, not just the file format?
Describe it or drop in a photo — Sculptor generates a 3D model and exports it as OBJ, GLB, STL or OBJ in about a minute.
Generate a 3D model