Make STL Watertight
Close holes, fix boundary gaps, and turn an STL file into a strictly watertight mesh — verified by re-parsing the actual repaired output, not just assumed from the repair steps.
Your STL stays on this device. MeshWrench repairs it locally in your browser.
Binary or ASCII STL, up to 150 MB. This limit protects your browser from freezing — it isn't a Pro restriction.
Processed locally — nothing was uploaded.
Planned operations
Operations
Unresolved problems
None — every targeted problem was resolved.
Hole-fill details
Repairing many files? Batch repair is planned for Pro.
Before / after
| Measure | Before | After |
|---|---|---|
| Watertight verdict | ||
| Triangles | ||
| Unique vertices | ||
| Shells | ||
| Boundary edges | ||
| Non-manifold edges | ||
| Winding conflicts | ||
| Self-intersections |
Batch processing is a Pro capability.
Pro batch tools are being prepared. Purchasing is not available yet.
Drag files here, or click to browse
STL files only, same limits as single-file repair.
Manage presets
Review the plan before anything is changed
- Detected issues
- Planned operations
- Skipped operations
- Eligibility
- Warnings
Steps to a watertight STL
- Select your STL file — MeshWrench analyzes it locally and shows every open edge and boundary loop it finds.
- Review the plan: which loops are eligible for automatic filling, and why any aren't.
- Run the repair, then check the before/after comparison — boundary edges should read zero.
- Download the watertight STL, plus a JSON report documenting exactly what closed.
Why STL files aren't watertight
- Missing faces from an incomplete CAD export or a scan with a shadowed region.
- Seams — two edges meant to meet, separated by a tiny gap (a welding candidate, not a hole).
- Branched or non-simple boundaries — usually a sign of a deeper topology problem, not a simple hole; these are reported, not force-filled.
How boundary loops are classified
Every boundary edge is grouped into a connected component and classified precisely: a closed simple loop (a genuine, fillable hole candidate), an open chain, a branched junction, or a non-simple shape. Only closed simple loops that also pass explicit size, perimeter, area, planarity and self-intersection checks are triangulated and patched in — using the same proven polygon triangulator MeshWrench's OBJ and PLY converters already rely on, never unconditional fan triangulation that can corrupt a concave hole's shape.
Limitations
- A hole whose boundary self-intersects, or deviates too far from a flat plane, is skipped and reported — never guessed at.
- Branched and non-simple boundary components are never treated as simple holes.
- Making a file watertight doesn't guarantee it will print successfully — wall thickness, scale and your printer's own limits are outside this tool's scope.
Frequently asked questions
What does "watertight" actually require?
Zero boundary (open) edges, zero non-manifold edges, zero winding conflicts, zero duplicate faces, and a completed self-intersection check that finds none — the same strict, disclosed policy MeshWrench's STL Checker uses to verify the result.
Will this close every hole in my file?
Only simple, closed boundary loops that pass size, flatness and self-intersection safety checks are filled automatically. A hole with a genuinely non-simple or branched boundary is reported, not forced closed — closing it incorrectly could distort your model.
Do I need to upload my file to make it watertight?
No. Every step — analysis, hole detection, triangulation, and verification — happens locally in a Web Worker in your browser. Nothing is ever sent anywhere.
How is the result verified as actually watertight?
The repaired geometry is serialized to a real binary STL, that exact file is re-parsed with MeshWrench's own STL parser, and the full diagnostics pipeline runs on it again. "Fully repaired" only appears when that verification pass itself comes back clean.
What if my file has small gaps rather than a real hole?
That's usually a seam — two edges that should meet but are a tiny distance apart. Standard mode's tolerance-based vertex welding (with the exact tolerance always shown in model units) closes these before hole-filling runs.
Explore free tools