Repair an STL file in your browser
Fill holes, turn flipped triangles and remove duplicates, then download a watertight STL. Your file never leaves your machine.
Drop your STL file here
Runs entirely in your browser. Your file is never uploaded, and there is no sign-up.
How to repair an STL file
- Drop your .stl file onto the panel, or try the broken sample.
- The mesh is repaired on your own machine: holes are filled, reversed triangles are turned, and duplicates are removed.
- Check the report, then download the repaired STL.
What gets repaired
| Problem | What your slicer does | What this tool does |
|---|---|---|
| Holes | Missing walls, or a failed slice | Closes each hole with a fan of triangles |
| Flipped normals | Dark patches, inverted walls | Turns each triangle to agree with its neighbours |
| Inside-out shells | The whole part reads as a hole | Turns closed shells outward |
| Duplicate triangles | Non-manifold warnings | Removes the extra copies |
| Zero-area triangles | Warnings, slicing artefacts | Removes them |
Why STL files break
An STL stores each triangle on its own, with its own three corners. Nothing in the format says which triangles touch. So the file cannot enforce a closed surface, and every exporter, scanner and mesh edit is a chance to leave a gap or a triangle facing the wrong way. Common causes are scans with areas the scanner could not see, models made of several meshes merged together, and booleans in sculpting tools.
The repair starts by joining the corners that sit at the same point, so it can tell which triangles share an edge. From there it can see every edge that only one triangle uses, and those edges form the outline of each hole.
When to use a bigger tool
This tool fixes the faults that stop most prints. It does not rebuild a mesh, so a model that passes through itself or has a wall shared by three surfaces still needs a full repair. The report says when that is the case. PrusaSlicer and Bambu Studio both repair on import, and Meshmixer's Inspector can fix self-intersections.
Your file never leaves your browser
This tool is JavaScript running on your own machine. Your file is read into memory, processed there, and gone when you close the tab. It is never sent to us, so there is no upload, no queue, no retention period, and no account to create. You can disconnect from the network after the page loads and it will still work.
No 3D model yet?
Turn a single product photo into a realistic 3D model, usually in about 5 minutes. Explore it, view it in AR at real size, embed it, or export it to any of 7 formats. Make your first model for $2.
Your first model is $2, refunded in full within 14 days if you do not like it. Try it with a sample photo
Frequently asked
How do I fix an STL file for free?
Drop the .stl on this page. It is repaired in your browser in a second or two: holes are filled, reversed triangles are turned, and duplicate and zero-area triangles are removed. Check the report, then download the repaired STL. No install, no account.
What does "watertight" mean?
Every edge of the mesh is shared by exactly two triangles, so the surface is closed with no gaps. A slicer needs that to tell inside from outside. A mesh with open edges can slice with missing walls, or not slice at all.
What can this tool not fix?
Self-intersections, where the surface passes through itself, and edges shared by three or more triangles. The report counts any edges that are still open or shared that way. For those, try the repair in PrusaSlicer or Bambu Studio, or Meshmixer's Inspector.
Will the repair change the shape of my model?
Only where it was broken. Triangles are never moved. Duplicates and zero-area triangles are removed, reversed triangles keep their corners and change only their facing, and new triangles appear only inside holes. Large, curved holes are closed flat, so check them in the viewer.
Is my file uploaded?
No. The repair is JavaScript running on your own machine. The file is never sent to a server.
Does it work on ASCII and binary STL?
Yes, both. The repaired file is always written as binary STL, which is smaller for the same mesh and what every slicer expects. Units and orientation are not changed.
Made with 2dto3D
See the full galleryLast updated 2026-11-06





























