Fill Holes in an STL File
A hole in a mesh is not a cosmetic problem. It is the difference between a surface and a solid — and slicers can only print solids.
Drop your STL file here
or
Nothing is uploaded — the repair runs on your own machine.
What counts as a hole
In topology terms a hole shows up as a boundary edge: an edge connected to only one triangle instead of two. Follow those edges and they form a loop — the rim of the opening. A mesh with no boundary edges at all is watertight, meaning the surface fully encloses a volume with no way in or out.
This is what a slicer needs. It fills a model by asking, for each point in space, whether that point is inside the object. Through a hole, that question has no answer.
Where holes come from
Rarely from someone deliberately deleting faces. The usual sources are 3D scan data, where the scanner could not see into a recess or under an overhang; exports from CAD where a surface was not stitched to its neighbours; and models assembled from multiple parts that were never merged into one volume. Scans are the biggest offender — incomplete surfaces and irregular topology are normal in raw scan data, not exceptional.
How holes get closed — and the honest limitation
Each boundary loop is triangulated to cap the opening. That works cleanly for the small gaps that make up most real defects.
The limitation you should know about: a cap is flat across the gap. It does not reconstruct curvature that was never in the file. Close a small hole on a curved surface and nobody will notice. Close a large missing region and you get a visible faceted patch — watertight and printable, but obviously a patch. No repair tool can invent the geometry that is missing; anything that claims to is guessing, and you should want to know when that is happening.
For that reason a hole-filling step should have a size limit rather than blindly bridging everything. If a genuinely large chunk of your model is missing, the right fix is to re-scan or re-model that region, not to cap it.
What you get back
The repair report states how many holes were filled and how many triangles were added to close them, then whether the result is watertight and forms a valid solid. If the added triangle count is small relative to the model, the fill was cosmetic and your shape is intact. If it is large, look at the model before you print — that is a sign something substantial was bridged.
Frequently asked questions
How do I know if my STL has holes?
Drop it into the tool above. The report states whether the mesh is watertight and how many holes were closed. Many slicers also warn about open edges on import, though not all of them do it prominently.
Does filling a hole restore the original shape?
No. The patch is flat across the opening. It cannot recreate curvature or detail that was never in the file. For small gaps this is invisible; for a large missing region you will see a faceted patch. It will print, but it will not look like the original surface.
My model has a deliberate opening — will it be sealed?
A genuinely open design, like a cup or a vase, is not the same as a defect, but automated repair works on topology and cannot read intent. Check the report: if holes were filled and you expected none, compare the result before printing.
What does watertight mean?
Every edge is shared by exactly two triangles, so the surface fully encloses a volume with no gaps. It is the geometric requirement that lets a slicer decide what is inside the object and fill it.