Is my STL watertight?

Check an STL print file before the slicer: watertight or not, open edges and holes, non-manifold edges, flipped normals, inside-out shells, degenerate and duplicate faces, separate shells and faces that cross, with its size, volume and area, and a 3D view of where each problem is. Checked on this device: the file is never uploaded.

What each line means

Watertight
Every edge is shared by exactly two faces, so the surface closes with no gap. A slicer needs this to know what is inside the part.
Open edges and holes
An edge used by one face only: the rim of a gap. The edges that join end to end make one hole; the 3D view draws them in red.
Non-manifold edges
An edge shared by three faces or more, as where two cubes touch along an edge. A slicer cannot tell which side is inside.
Flipped faces
A face wound the other way from the faces around it, so its normal points in while theirs point out. Inside-out shells are whole parts wound inward.
Degenerate and duplicate faces
Faces with no area, or the same three corners twice. Most slicers drop them; the mended copy does too.
Shells and crossing faces
Separate closed parts in one file, and faces that pass through each other (often two parts overlapping without being joined).
Vertices and the weld
An STL repeats each corner for every face that uses it. Corners within the weld distance are counted once, the way slicers read them.