Mesh repair/Topology

One-click mesh repair (local)

Repair a printable mesh in one local pass. The Worker welds duplicate vertices, removes degenerate and duplicate faces, deletes non-manifold junctions, splits bow-tie vertices, unifies winding, closes simple boundary loops, and optionally removes self-intersecting faces. STL, OBJ, PLY, 3MF, GLB and self-contained glTF input; binary STL output; no upload.

ReadyNo uploadWorkerSTL · OBJ · PLY · 3MF · GLB · glTF

Repaired mesh

No upload

Repaired mesh

One-click repair chains local topology heuristics. Stages can be disabled below; the report lists removal counts and any remaining non-manifold, open-boundary, or self-intersection warnings. Inspect the result before printing.

Drop a mesh to repair

STL, OBJ, PLY, 3MF, GLB, or a self-contained glTF. One Worker pass welds vertices, removes non-manifold junctions, unifies normals, closes simple holes, and optionally removes self-intersecting faces; output is binary STL.

STL · OBJ · PLY · 3MF · GLB · glTF → STL

Drop a mesh to repair

STL, OBJ, PLY, 3MF, GLB, or a self-contained glTF. One Worker pass welds vertices, removes non-manifold junctions, unifies normals, closes simple holes, and optionally removes self-intersecting faces; output is binary STL.

Choose a file

Max file size: 500 MB · No upload

Repair stages

No upload · File.slice() / ArrayBuffer → Worker → repaired STL.

How it works

  1. 1

    Drop an STL, OBJ, PLY, 3MF, GLB, or self-contained glTF file.

  2. 2

    Choose which stages to run: non-manifold repair, hole closing, and self-intersection removal are enabled by default.

  3. 3

    The Worker parses and welds the mesh, runs the selected topology stages, and re-orients the winding.

  4. 4

    Review the before/after triangle and vertex counts, removed-face counts, and any remaining warnings.

  5. 5

    Download the repaired binary STL and confirm the result with manifold-check or your slicer.

What the numbers mean

Transform order

Welding and cleaning run first. Self-intersection removal is attempted next, then non-manifold repair and bow-tie splitting, then a final hole-fill pass and normal unification. The final step does not re-weld, so split bow-tie vertices stay separate.

counts

Removed degenerate and duplicate faces come from welding. Removed faces are excess triangles on non-manifold edges. Split vertices are bow-tie junctions duplicated into separate fans. Holes filled counts simple boundary loops closed after face removal.

warnings

A clean result means the final mesh is watertight, has no non-manifold edges, and the self-intersection pass found no remaining crossings. Warnings identify the checks that still fail; a stage may also be skipped when a mesh exceeds its limit.

Limits

Each stage uses local heuristics. Self-intersection removal deletes every triangle involved in a crossing and keeps a fill only when it stays clean. Complex damage, large self-intersecting regions, and geometry larger than the per-stage triangle caps need voxel remesh or manual CAD repair.

Printing notes

  • Run manifold-check on the downloaded STL and confirm non-manifold edges, boundary edges and intersecting pairs are zero.
  • Compare the before/after triangle counts; a large drop means the repair removed geometry you may still need.
  • If the result is not watertight, run voxel-remesh as a lossy fallback or repair the shell in CAD.
  • Always slice the repaired model before printing; a watertight mesh can still have thin walls or unsupported overhangs.

Questions

References

  • · ISO/ASTM 52900
  • · Mesh repair: welding, manifold topology and winding
  • · Manifold geometry and watertight surfaces