IT
Omnvert

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.

📉
Drop an OBJ file here or click to browse
Up to 300 MB · OBJ (.obj)
Choose OBJ file
Or drop several files at once: 3 on the free plan, up to 25 with a Day Pass or Pro.
1
Upload OBJ
2
Repair
3
Download

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.

Pick an OBJ file to continue.
🔒 Files are processed on our server in isolated memory and removed within 15 minutes of your download.
Server-sideProcessed on our server, then deleted

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

  1. 1Drop the broken .obj (up to 300 MB) on the upload area.
  2. 2Start the repair; no settings are needed.
  3. 3Read the report: holes closed, open edges and triangles before and after, watertight or not.
  4. 4Download the repaired .obj and keep it next to its .mtl and textures.

FAQ

›Do I get an OBJ back?
Yes. The OBJ is repaired in its own format and comes back as an OBJ with its groups, materials, texture coordinates and normals.
›Will the repair move my model?
No. No vertex is moved. Broken, duplicate and stray triangles are removed, faces are turned to agree with their neighbours, and holes are closed with new triangles across the existing rim, so dimensions stay exactly as they were.
›Which holes are closed?
Every hole whose rim is up to and including 500 edges long, which covers cracks, missing triangles and small gaps from scans and booleans. The new triangles are checked so they never cut through the surface. Open sheets, single stray triangles and larger openings are left open, because closing them would invent shape you did not model.
›Will the texture still line up on the patches?
The existing surface keeps its texture coordinates untouched. Each patch triangle takes the texture coordinates and material of the face next to it, so it picks up the neighbouring texture; its normals come from neighbours facing within 45 degrees, or it gets its own smooth normal.
›My slicer says the OBJ is non-manifold. Is this the fix?
Usually, yes. In exported OBJs most non-manifold edges come from extra faces hanging off an edge, and those are removed while closed surfaces are left alone. The report shows open edges and watertightness before and after, measured on the repaired file.
›Parts of my model look black or inside out. Can it fix that?
Yes. Face winding is made consistent within each shell, and a closed shell that faces inward is turned outward. A hollow part, such as a cup or a shell with a cavity, keeps its cavity.
›What if nothing is wrong with my OBJ?
Then nothing is changed: a healthy file comes back byte for byte identical, and the report says the mesh was already watertight.
›Is it free, and is my file kept?
Repair is free. Uploads up to 300 MB are accepted and deleted within 15 minutes of your download, at most 120 minutes if you never download.