OBJ Viewer
Open OBJ files with their MTL materials and textures in your browser. Free, no upload, nothing to install.
Drop your OBJ file here
View OBJ files online, with their materials
This OBJ viewer opens Wavefront .obj files in your browser, together with their .mtl material file and texture images. Drop the files on the page and the model appears; nothing is uploaded, and there is nothing to install.
OBJ is one of the most widely supported 3D formats. Blender, Maya, 3ds Max, Cinema 4D, ZBrush, SketchUp, photogrammetry software and most model marketplaces read and write it. That makes it a common way to hand a static model from one program to another, and a common thing to receive without knowing what is in it.
Why OBJ models show up grey: the MTL and texture files
An OBJ file holds only geometry. Colors and textures live in two other places: a .mtl file (named by a "mtllib" line in the OBJ) that defines the materials, and image files (named by lines such as "map_Kd" in the MTL) that hold the textures. If you open only the .obj, you get the right shape in plain grey.
To see the model as intended, select the .obj, the .mtl and every texture image at the same time in the file picker (Ctrl-click or Cmd-click), or drag them all onto the page together. Models downloaded as a ZIP usually contain all of these; unzip first, then drop the contents.
- Model is grey
- The .mtl file was not opened with the .obj. Open them together.
- Colors show, textures don't
- The MTL was found but the images were not. Add the image files to the selection.
- Some textures still missing
- Open the .mtl in a text editor and read the map_Kd (and map_Bump, map_d) lines. The viewer matches textures by file name and ignores the folder, so a path from the author's own computer is fine. If the name itself differs from your image file, rename the image to match or edit the line. PSD textures can't be shown, and TIFF only in Safari; save those as PNG or JPEG.
- No .mtl file at all
- The author exported geometry only. The model can only be shown in a single color.
What an OBJ file can store
OBJ was created by Wavefront Technologies in the 1980s for its Advanced Visualizer software, and the format has barely changed since. It is plain text, so you can open it in any editor: lines starting with "v" are vertex positions, "vt" texture coordinates, "vn" normals and "f" faces. Faces can have any number of corners; this viewer splits quads and larger polygons into triangles, so the triangle count in the info panel may be higher than the face count in your modeling program.
Groups ("g") and objects ("o") divide the file into named parts, and "usemtl" switches material. This viewer reads all of these.
What OBJ cannot hold: animation, skeletons, cameras, lights, units and scene hierarchy. Its material model is the old Phong-style one from the MTL spec (diffuse, specular, shininess), so modern PBR materials from a game engine lose detail on the way to OBJ. There are no units either; the numbers mean whatever the exporting program meant, often meters or centimeters.
Common OBJ problems
Model far too large or too small: the file has no units, so a model exported in millimeters looks a thousand times bigger than one in meters. Check the bounding-box size in the info panel to see the raw numbers.
Model lying on its side: most OBJ files are Y-up, but files exported from CAD tools are often Z-up. Use the up-axis toggle.
Faceted or blotchy shading: the file has no normals ("vn" lines) or has broken ones. Re-export with normals enabled.
Very slow to open: OBJ is text, so a high-poly scan can easily reach hundreds of megabytes. A binary format such as GLB stores the same mesh much more compactly.
For a smaller file that keeps materials and textures in one place, convert with OBJ to GLB.
Saving an OBJ in another format
Use "Download as" to save the model as GLB, glTF, STL, PLY or USDZ. GLB and USDZ keep the materials and textures that were loaded. STL keeps only the shape, which is what a slicer needs for 3D printing.
To prepare an OBJ model for a 3D printer, use OBJ to STL.
Frequently asked questions
Why does the OBJ viewer show my model without color?
Because the materials are in a separate .mtl file and the textures in image files. Open the .obj, .mtl and images together, either by multi-selecting them or by dragging them all onto the page at once.
Can I open an OBJ file without the MTL file?
Yes. The geometry loads normally and is shown in a neutral grey. Only the materials and textures are missing.
Are my OBJ files uploaded?
No. The viewer runs in your browser and reads the files locally. Nothing is sent to a server.
Does OBJ support animation?
No. OBJ stores a single static mesh. Some programs export an animation as a numbered sequence of OBJ files, one per frame, but each file is still a static model. For animation, use FBX, glTF or GLB.
Why is my OBJ file so big?
OBJ writes every coordinate as text, which takes several times more space than binary storage. Scans and sculpts with millions of polygons can reach hundreds of megabytes. Converting to GLB usually gives a much smaller file.
What is the difference between OBJ and STL?
Both store meshes, but OBJ also stores texture coordinates, normals, named groups and materials (through the MTL file), and it can use polygons with more than three sides. STL stores triangles only and is used almost exclusively for 3D printing.
Can I view an OBJ file on my phone?
Yes. Open the page in a mobile browser and choose the files from your phone's storage. On iPhone, save the files to the Files app first so you can select the .obj, .mtl and images together.