Your slicer shows a yellow warning, a layer is missing halfway up, or a section of the print comes out as loose spaghetti where a solid wall should be. Often the cause is not your printer at all: the model is not a watertight mesh. It has a hole, a seam that doesn't quite meet, or faces pointing the wrong way, and the slicer has to guess what is inside and what is outside.
Here is what watertight (also called "closed" or "manifold") means in plain terms, how a failure shows up, what a viewer's check can and can't tell you, and where the fix happens.
Short answer: A watertight mesh is a fully closed surface: if you filled it with water, none would leak out. Every edge is shared by exactly two triangles, and all faces point outward. Slicers need this to tell inside from outside. A viewer can detect open edges and inward faces; repairing them happens in a mesh repair tool or the original CAD.
What "watertight" means, simply
A 3D print file is a skin made of triangles. Imagine it as a balloon. For the slicer to fill it with layers, the balloon has to be sealed. In technical terms, a watertight (or 2-manifold) mesh has:
- No open edges: every triangle edge is shared by exactly two triangles. An edge used by only one triangle is the rim of a hole.
- No non-manifold edges: no edge shared by three or more triangles, as happens when two shells touch along a line.
- Consistent normals: every triangle's "outside" direction points away from the solid. If some point inward, the model is partly "inside out".
A simple cube has 12 triangles and 18 edges, each shared by exactly two triangles. Delete one triangle and you get three open edges and a mesh that is no longer watertight.
Where non-watertight meshes come from
| Source | Typical defect |
|---|---|
| 3D scans and photogrammetry | Holes where the scanner couldn't see (the base, deep recesses) |
| Models made for games or rendering | Separate open shells: eyes, hair, clothing panels |
| AI-generated models | Holes, self-intersections, floating fragments |
| Surface (not solid) CAD models | Gaps along seams between surfaces |
| Boolean operations gone wrong | Tiny slivers, duplicate faces, flipped normals |
| Interrupted downloads | Truncated file, missing triangles at the end |
Symptoms in the slicer and the print
- A warning about errors, open edges or non-manifold geometry on import.
- Missing layers or walls in the slice preview, often at one height.
- Infill drawn where there should be air, or air where there should be infill.
- Strange spikes or bridges across a hole.
- A volume or weight that looks impossible: negative, zero, or far too big.
Many slicers quietly auto-repair small problems, which is why some broken files still print fine. Bigger defects defeat the auto-repair, and you only find out halfway through the print.
What the watertight check in a viewer tells you
STL Viewer's info panel runs a closed-mesh check and shows one of four results:
| Result | Meaning | What to do |
|---|---|---|
| Yes | Closed, faces point outward | Volume and filament estimate are reliable |
| No, it has holes or open edges | At least one gap in the surface | Repair before printing, or accept the slicer's auto-repair |
| Yes, but some faces point inward | Closed, but normals are flipped | Recalculate normals in a mesh tool |
| Not checked | The check was skipped | Volume assumes the model has no holes |
When the mesh isn't closed or has inward faces, the app says so next to the volume and filament numbers instead of showing a misleading value: volume is only meaningful for a closed solid. The model info guide shows where to find it.
The limits of a quick check
Be honest about what any quick check does and doesn't catch. A model can pass as closed and still have problems that matter for printing: two closed shells overlapping each other, self-intersecting faces, or walls that are closed but only 0.2 mm thick. Those need a dedicated repair or analysis tool, or a look inside with x-ray or a cross-section (see cross-sections for wall thickness).
Finding the hole yourself
- Open the model and switch to x-ray: overlapping shells and loose internal parts become visible.
- Switch to wireframe and orbit slowly; a hole often appears as an area with no lines where there should be a surface.
- With Premium, use Section: where the mesh is open, the app reports an "open outline: the model isn't watertight here", which pinpoints the height of the problem.
- Check the base and recessed areas first, especially on scans.
Fixing a non-watertight mesh
Repairs happen outside the viewer. Your options, from easiest:
- Re-export from the source. If it's your CAD model, export again from a solid body rather than surfaces, or at a different resolution.
- Your slicer's repair function. Many slicers can fix small holes and flipped normals on import.
- A free open-source mesh editor. Look for "fill holes", "make manifold", "recalculate normals" and "remove duplicate faces".
- Ask the designer for a fixed file if it came from someone else.
After repairing, open the new file and confirm the result says "Yes". A practical example: a scanned vase shows "No, it has holes or open edges". You fill the hole in a mesh editor, export again and the check reads "Yes"; the volume, 186 cm³, now appears, and the filament estimate is meaningful.
Note: STL Viewer detects; it does not repair. It never edits your file.
To check your own files, get STL Viewer from Google Play. Related reads: the 8-point pre-print checklist, checking AI-generated models and viewing 3D scans.
The info panel and its other numbers are described on the STL Viewer website.
Frequently asked questions
What does watertight mean in 3D printing?
It means the model's surface is fully closed, with every edge shared by exactly two triangles and all faces pointing outward, so the slicer can tell inside from outside.
Can a non-watertight STL still print?
Sometimes. Slicers auto-repair small defects, but larger holes can cause missing layers or walls. Repairing first is safer.
How do I check if my STL is watertight?
Slicers and mesh tools report errors, and STL Viewer's info panel shows a watertight result on your phone.
How do I fix a mesh that isn't watertight?
Re-export from CAD as a solid, use your slicer's repair function, or fill holes and recalculate normals in a mesh editing tool.