OBJ Repair
Upload an OBJ that your slicer or engine flags as broken. We close holes, remove stray and duplicate faces and turn inside-out parts outward without moving a vertex, and you get an OBJ back with its materials and UVs.
Invalid, duplicate and stray triangles are removed, faces are turned to agree with their shell, inside-out shells are turned outward and every hole up to 500 edges around is closed. No vertex is moved, and a file with nothing to fix comes back unchanged.
Your file is uploaded to our server to be processed, so it does leave your device. Temporary files are removed as soon as processing finishes, and the uploaded original is deleted automatically within 120 minutes at the latest. Nothing is stored permanently.
About
A broken OBJ usually announces itself somewhere else: the slicer reports non-manifold edges, Blender's 3D Print toolbox lights up, a game engine shows a see-through or black patch, or a boolean in your modeller fails. The cause is in the mesh: triangles that collapse to a line, the same triangle written twice, stray faces hanging off an edge, faces pointing inward, or small holes left by a scan or an AI generator. Most repair tools fix that by converting to STL, which costs you the materials and the texture mapping. This one repairs the OBJ and returns an OBJ.
What it does, in order. Triangles with invalid coordinates (NaN or infinity), zero-area triangles and duplicates are removed; where the same triangle appears twice with opposite winding, the one the surrounding surface agrees with is kept, otherwise both go. On an edge shared by three or more faces, only the extra faces hanging off it with an open edge are removed; closed surfaces are never touched. Faces are then turned to agree with their neighbours in each shell, and a closed shell that is inside out is turned outward, while a hollow part keeps its cavity. Last, every hole with a rim of up to 500 edges is closed by ear cutting that checks the new triangles do not cross the surface. No vertex is moved.
Groups and materials stay as they were, along with the mtllib line, so the repaired file still finds its .mtl and textures in the same folder. Each triangle that closes a hole takes the group, the material and the texture coordinates of the face next to it, so the patch uses the same texture as its surroundings. Its normals are borrowed from neighbouring faces that point within 45 degrees of it; where none do, the patch gets its own smooth normal. The work runs on a native C++ repair engine on our server, applied to the OBJ's own data, not to a converted copy.
The report is measured on the file you download: holes found and closed, open edges, triangles and watertightness before and after. Open sheets, single stray triangles and openings over 500 edges are left open, because closing them would invent geometry, and a file with nothing to fix comes back byte for byte identical. Repair is free, files up to 300 MB are accepted, and every upload is deleted within 15 minutes of your download, at most 120 minutes otherwise. Need the OBJ lighter as well? The OBJ File Size Reducer takes it from here.
How it works
- 1Drop the broken .obj (up to 300 MB) on the upload area.
- 2Start the repair; no settings are needed.
- 3Read the report: holes closed, open edges and triangles before and after, watertight or not.
- 4Download the repaired .obj and keep it next to its .mtl and textures.