Repairing a non-manifold STL: holes, normals and open shells
Slicers and splitters need a closed solid. When a file has holes, flipped faces or overlapping shells, prints lose layers and cuts fail. Here is what each defect means and how to fix it.
What “non-manifold” means
A printable mesh describes a closed volume: every edge is shared by exactly two triangles, all triangles face outward and the surface never passes through itself. Such a mesh is called manifold, or watertight. The usual defects:
| Defect | What it is | Typical cause |
|---|---|---|
| Holes (open edges) | Edges used by only one triangle, so the surface has gaps | Scans, models made for rendering, bad exports |
| Non-manifold edges | Edges shared by three or more triangles | Two bodies touching along an edge, internal faces |
| Flipped normals | Triangles facing inward, so inside and outside get confused | Mirroring, careless modelling |
| Self-intersections | The surface passes through itself | Parts placed overlapping instead of merged |
| Overlapping shells | Several closed bodies nested inside each other | Kitbashed figures, game assets |
| Degenerate faces | Zero-area triangles, duplicate vertices | Export and conversion errors |
Why slicers and splitters fail on them
A slicer cuts the mesh into layers and needs a closed outline on each one to know where the inside is. With an open edge it has to guess: you get missing layers, walls that stop in mid-air, or infill where the model should be hollow. Flipped normals make it treat inside as outside.
A splitter hits the problem even earlier. Each cut must be capped with a flat face, which is only possible if the cross-section is a closed loop, and subtracting holes for pins or magnets is a Boolean operation that needs a well-defined solid. That is why SplitSTL checks every model on import.
How to detect problems
- Open the file in the free STL viewer. It runs in your browser, uploads nothing, and reports whether the mesh is watertight and how many open edges it has.
- Load it in your slicer: most show a warning when they had to fix errors on import.
- In Blender, Select › Select All by Trait › Non Manifold in Edit Mode highlights the bad edges, and the 3D-Print Toolbox extension runs a full set of checks.
- Look for faces that render dark or see-through: they are often flipped normals.
Fixing options, from quickest to most thorough
| Option | Good for | Limits |
|---|---|---|
| Slicer auto-repair (Bambu Studio, PrusaSlicer, OrcaSlicer) | Small holes and flipped normals, with no effort | Unreliable on large holes and overlapping shells |
| Meshmixer (Inspector, Make Solid) | Quick hole filling; Make Solid rebuilds a closed body | No longer developed by Autodesk; Make Solid can soften detail |
| Blender (Merge by Distance, Fill Holes, Recalculate Outside, 3D-Print Toolbox) | Precise manual repair that keeps every detail | Learning curve, tedious on badly broken meshes |
| SplitSTL GPU repair | Badly broken files, overlapping shells, scans, game assets | Rebuilt mesh: small details can soften slightly; needs a free account |
Start with the simplest: if the slicer repairs the file without complaint and the layer preview looks clean, you are done.
Rebuilding a solid with SplitSTL GPU repair
The SplitSTL editor checks every model on import. Small defects (holes, flipped normals, duplicate faces) are fixed automatically and the editor tells you so. When a mesh is too broken for that, it is marked as not watertight and you can rebuild it on our GPU:
- Sign in with a free account.
- Click “Repair on the GPU” and choose the precision: the higher it is, the more detail is kept.
- The server sorts inside from outside on a fine voxel grid, then rebuilds the surface as one watertight solid, even across holes and overlapping shells.
- Check the result in the 3D view, then split it as usual.
Because the surface is rebuilt, details smaller than the grid, such as very thin edges or shallow engraving, can soften a little. For a mechanical part with exact dimensions, repair it in your CAD software instead.
Frequently asked questions
Is non-manifold the same as not watertight?
Almost. Watertight means the surface has no holes; manifold also means every edge joins exactly two faces. A printable file should be both.
Can I print a non-manifold STL anyway?
Often, if the slicer repairs it on import. Check the sliced preview layer by layer before printing: missing walls, gaps or infill in the wrong place.
Why does my model have so many open edges?
Typical sources are 3D scans, models made for animation or games (single-sided surfaces, separate eyes and clothes) and some exports from sculpting apps.
Will GPU repair change my model?
It builds a new watertight mesh from the original shape. The overall form and size stay the same; very fine details can soften slightly, so compare before printing.