Free online OBJ viewer
Drop an .obj with its .mtl and textures, or the folder they came in. Nothing is uploaded — rendering happens in your browser.
Why an OBJ needs three files, not one
The .obj itself is a list of vertices and faces in plain text. The line mtllib model.mtl near its top names a second file holding the materials, and that file names the image files beside it. Drop all of them together, or the folder, and the viewer matches them by filename. Drop the .obj alone and it renders in flat grey — not a failure, just everything the file actually carries.
What OBJ cannot do
No skeleton and no animation: the format predates both, and a file that seems to have them was converted from something else. There are no PBR channels either — an .mtl describes diffuse colour, a specular exponent and a texture, so metal and roughness are approximated rather than read. For a character meant to move, FBX and glTF carry what OBJ leaves out, and both have a viewer here.
Frequently asked questions
My OBJ opens grey. Where are the colours?
An .obj holds geometry and nothing else. Its materials live in a .mtl file named inside it, and the images that .mtl points at sit beside that. Select all three together — the .obj, the .mtl and the texture files — or drop the whole folder. With only the .obj, grey is the correct rendering of what the file contains.
Can an OBJ carry animation or a skeleton?
No. The format has no bones and no clips: it is a snapshot of a surface. A rigged, animated version of the same character has to come as FBX, glTF or VRM, and those have their own viewers here.
Is my file uploaded anywhere?
No. Rendering happens in your browser with WebGL; the file is read from your disk and never sent to a server. The only network requests are for the viewer's own code. You can go offline after the page loads.
It is a huge scan — will it open?
Usually. A photogrammetry or 3D-scan .obj of a few million triangles loads, though a large one takes a moment and needs the memory to hold it; the mesh list shows what came in and lets you hide parts. Vertex colours written by scanners are read as they are.
Can I turn this OBJ into a VTuber avatar?
Not directly: an avatar needs a skeleton and an OBJ has none. Rig it first — Mixamo's auto-rigger is the free route and gives back an FBX — then the FBX to VRM converter turns that into a .vrm for VSeeFace, Warudo, VNyan and VRChat.
What about STL, FBX or GLB?
FBX and GLB / glTF have their own pages here. STL is not read yet — it is a printing format with no materials, and the audience for it is different enough that it has not been built.
Need this model rigged?
An OBJ has no bones, so it cannot become an avatar as it is. Rig it first — Mixamo gives back an FBX free — and the FBX to VRM converter turns that into a .vrm. Other formats open on their own pages: FBX and GLB / glTF.
Convert a rigged FBX to VRM