Turn an image into an OBJ file
OBJ is the format to reach for when the thing at the other end is old, picky, or unknown · geometry and UVs, in plain text, that everything can read.
-
01
Upload your photo
JPG, PNG or WebP. The input matters more than the export format · one subject, well lit, clearly separated from what is behind it.
-
02
Generate
Around ninety seconds. The mesh comes back textured regardless of which format you eventually take it away in.
-
03
Export the OBJ
It arrives with an MTL file and the texture images alongside it. Keep the three together · an OBJ separated from its MTL opens grey.
Three files, not one
This is the one thing that surprises people. An OBJ holds geometry and UVs; the material lives in a .mtl next to it, and the textures are separate images again. That is why the export arrives as an archive. Move the OBJ on its own and it will open, correctly, with no material on it at all.
What it cannot do
No rig, no animation, and a material model that predates PBR by two decades · the MTL describes a shininess value, not a metallic-roughness workflow. For a character that has to move, take the FBX. For anything where the material has to look the way it looked here, take the GLB.
Why it is still the right answer sometimes
Because it always works. OBJ is plain text, it is trivially parsed, and every sculpting tool, mesh repairer, CAD bridge and thirty-year-old pipeline reads it. When something refuses every modern format, this is the one that gets the geometry through.
Sculpting
Bring the geometry in, sculpt on top of it, and use the generation as a base rather than as a finished asset.
Mesh repair and cleanup
The whole family of mesh repair tools is happiest with an OBJ.
Older pipelines
If the tool at the other end is more than a decade old, this is the format it will accept.
Inspecting the geometry
It is a text file. You can open it and read it, which is occasionally exactly what you need.
Why does the OBJ download as a zip?
Because an OBJ is not self-contained. The material is in a separate .mtl and the textures are separate images again, so all of it travels together or the model opens untextured.
Does OBJ support PBR materials?
Not properly. The MTL format predates PBR and describes an older shading model. The texture maps are all there in the archive, but you may need to wire them up on the other side. GLB carries the material definition intact.
Can an OBJ hold a rig?
No. The format has no concept of bones or animation. Use FBX for anything that moves.
Is OBJ better than GLB?
Only for compatibility. GLB is one file, carries PBR materials correctly, and is what the pipeline writes natively. Take OBJ when something specifically wants it.