How to Check if an STL Is Watertight
Watertight is the property everything else in 3D printing depends on: a mesh that encloses volume completely, so a slicer can decide what is inside the part and what is not. When a file is not watertight, slicers refuse it, auto-repair it silently, or produce toolpaths with missing walls. Checking takes under a minute and does not require modifying the file. This guide covers what the word actually means, three ways to check, and how to read the numbers you get back.
What Watertight Means, Precisely
A mesh is watertight when every edge is shared by exactly two triangles. That single rule guarantees a closed envelope: no edge sits on a boundary (a hole), and no edge is shared by three or more faces (a non-manifold junction where inside and outside stop being well defined). An edge shared by only one triangle is called a boundary edge, and the count of boundary edges is the most useful number in any mesh report: zero means closed, and a nonzero count tells you roughly how big the opening is.
Three Ways to Check
| Method | Effort | What you learn |
|---|---|---|
| Browser check (our STL checker, check mode) | Upload, read report | Watertight yes/no, boundary edge count, non-manifold edges, shells, dimensions, volume — file untouched |
| Blender: Select All by Trait → Non Manifold | Requires Blender comfort | Visually highlights every problem edge; best when you want to fix things by hand |
| Your slicer’s warning | Free, already installed | A yes/no complaint, usually without numbers or locations |
The browser check is the fastest path to actual numbers. Upload the file in check mode and the report comes back without anything being repaired or modified:
— Inspection — Triangles: 84,212 | Vertices: 42,108 | Shells: 3 Dimensions: 120.4 x 88.0 x 45.2 (model units) Volume: 148,220.1 (unreliable: mesh is not a closed solid) Issues found: - not watertight (48 open boundary edges) - 2 non-manifold edges Verdict: NOT PRINT-READY
Check your STL now. Check mode analyses the mesh and gives you this report without touching the file.
Run a Free Watertight CheckReading the Numbers
Boundary edges: a handful (under ~20) usually means a small hole or a cracked seam, very likely auto-repairable. Hundreds means large missing regions, typical of scans, still often fixable but worth looking at in a viewer first. Non-manifold edges usually come from boolean operations that left internal walls; also auto-fixable. Shells matter too: a count above one means disconnected pieces, which is either intentional (a multi-part file) or debris. And when the report says the volume is unreliable, believe it; volume is only meaningful for a closed mesh.
Watertight Is Necessary, Not Sufficient
A mesh can be watertight and still not printable. Flipped normals make regions read as inside-out even though the envelope is closed. A watertight mesh can also be an open surface that was capped into a sliver with no real thickness. And watertightness says nothing about wall thickness or overhangs, which decide whether the printed part survives. So the practical checklist is: watertight, consistent winding, zero non-manifold edges, then the physical checks. A good checker reports all of it at once.
If your file fails the check, the repair is usually automatic and takes seconds. The repair guide covers what each fix does and, more importantly, the one repair that can move your geometry and how to verify nothing drifted.
Failed the check? The repair guide explains each defect and how the automatic fixes work.
How to Repair an STLFrequently Asked Questions
How do I know if my STL is watertight?
Count the boundary edges: a watertight mesh has zero edges that belong to only one triangle. Any mesh checker reports this in seconds. Our browser tool does it in check mode without modifying the file; Blender highlights the same edges interactively via Select All by Trait → Non Manifold.
Why does my slicer print a non-watertight file anyway?
Modern slicers auto-repair on import: they cap holes and pick an interpretation of ambiguous geometry. Often that guess is fine. When it is not, you get missing walls or filled voids with no warning about which parts were guessed. Checking first tells you whether the slicer is slicing your part or its own reconstruction of it.
Can a watertight STL still fail to print?
Yes: flipped normals, walls thinner than your process can build, and heavy unsupported overhangs all survive a watertightness check. Watertight means the geometry is well defined, not that it is physically printable. Check thickness and overhangs separately.
What causes an STL to not be watertight?
Exports interrupted or done at too loose a tolerance, boolean operations leaving internal faces and cracks, 3D scans with unscanned regions, and meshes merged without being unioned. The cause matters mainly upstream: if you own the source CAD, re-exporting properly beats repairing the mesh.
This guide covers one problem. For the full set of 3D converters, checkers, and calculators, visit the hub.
Browse 3D Tools