How to repair an STL file
- Drop the STL on the box above, or click Open an STL. The repair runs as soon as the file opens.
- Read the report: what the repair found, what it fixed, and what it could not fix.
- Switch between Before the repair and After the repair to compare. Before the repair, holes and flipped faces show in copper.
- Click Download repaired STL.
The sample is an L-bracket with faults put in on purpose: two holes, three flipped faces, two duplicate faces, and one degenerate face. The repair fixes every one of those faults and gives back the bracket's original volume.
What the repair fixes
The 3MF core specification states what a printable mesh needs. Every triangle edge meets exactly one other triangle edge, neighbouring triangles agree on which side is out, and every face points away from the inside. The repair works through the faults that break those rules, in this order:
- Corners that should be one. Corners on open edges that sit less than a hundred-thousandth of the part's diagonal apart are joined. Rounding in an exporter can leave cracks that narrow.
- Degenerate faces, whose corners collapse to a line or a point, are removed.
- Duplicate faces, which lie exactly on top of another face, are removed.
- Loose faces, with no neighbour on any edge, are removed, because a lone triangle cannot be part of a solid.
- Flipped faces are turned to match their neighbours. In each piece, the repair keeps whichever way most of the faces already point.
- Holes are closed with flat patches that run the opposite way round the hole, so the new faces agree with their neighbours. Flat holes are closed whatever their size, including a ring-shaped opening such as the missing end of a tube. A curved hole is closed if it has up to 250 edges.
- Shells turned inside out are turned the right way. A shell inside another shell is a cavity, so its faces point inward, and the repair keeps them that way.
Every facet normal in the repaired file is written from the order of the triangle's corners. Stored normals that pointed the wrong way are corrected that way too.
What the repair leaves alone
- Edges shared by three or more faces. Two bodies that touch along an edge, or a wall inside the part, cause these. Merge or separate the bodies in your CAD program.
- Large curved holes. A flat patch across a curved opening with more than 250 edges would not be the missing surface. The open bottom of a 3D scan is one example.
- Loose pieces of surface. A sheet that encloses nothing is left open, because closing it would lay a second surface on top of the first.
- Faces that pass through each other. The repair does not look for self-intersections or walls too thin to print.
The report names each fault the repair could not fix. Prusa's help centre notes that modern slicers repair many models without the user noticing, and that not every model can be repaired automatically.
How ThriveAI tested the repair
ThriveAI broke meshes on purpose, one fault at a time and then all together. Every repaired file was then checked with ADMesh, an open source STL checker, and with trimesh and Blender. Apart from two files built to show faults the repair leaves alone, every repaired file came back watertight, with every face pointing outward. Where the holes were flat or single triangles, the repaired volume matched the original part to four decimal places.
Your file is read and repaired in this browser and never uploaded. The page counts how often the repair is used, with the number of triangles and faults, and never records the file or its name.
Repair before you quote
A print quote starts from the part's volume, and an open mesh has no volume to measure. Repairing first gives a volume you can price, and the 3D printing cost calculator turns it into a cost from your own prices. ThriveAI builds quoting systems that read each request for quote and its models and check the files. Each system prices the parts from your own rates for an estimator to approve.