STL 3D Model Inspector (Volume, Bed Fit)
Drop a .stl file and see triangle count, bounding box, size, volume, surface area, a watertight check, and whether it fits common 3D-printer beds.
How to use
- Drop a .stl file onto the dashed area or use the Choose file button.
- Switch units between mm, cm, m, and inches (STL files don't store units, so mm is the universal print convention).
- Inspect the stat grid, three orthographic projections, and the bed-fit table to see which printers will accept the part.
- Click Reset to load a different file.
About this tool
ShowHide
Inspect any STL (StereoLithography) mesh entirely in your browser — no upload. Auto-detects binary or ASCII STL, parses every triangle, and reports the count, the unique-vertex count vs raw vertex count (a measure of how aggressively the mesh shares vertices — STL stores each triangle's three vertices separately, so a watertight mesh has roughly 1/6 the unique vertices of raw), the axis-aligned bounding box, X×Y×Z size and center point, signed-tetrahedra volume (Σ (v₀ · (v₁ × v₂)) / 6 across all triangles), total surface area, and a watertight check (every undirected edge must be shared by exactly two triangles). Three orthographic SVG previews (top XY / front XZ / side YZ) let you eyeball the part, and a bed-fit table tells you which popular printers (Bambu A1 Mini / X1C, Prusa MK4, Ender 3 V3, Voron 2.4) will accept it.
Frequently asked questions
Is my STL uploaded?
No. The file is read with file.arrayBuffer(), parsed and rendered entirely in your browser — nothing goes to a server. You can verify by watching DevTools → Network when you load a file.
What does 'watertight' actually mean here?
Every interior edge in a closed mesh is shared by exactly two triangles. This tool builds a map of undirected edges and checks the count: anything but 2 means a hole, an unwelded duplicate vertex, or a non-manifold join. Slicers like PrusaSlicer / OrcaSlicer can sometimes repair small holes automatically, but a watertight mesh is required for a reliable solid volume calculation.
How is volume computed?
By the signed-tetrahedron method: every triangle (v₀, v₁, v₂) and the origin form a tetrahedron with signed volume (v₀ · (v₁ × v₂)) / 6. Summing across all triangles gives the enclosed volume — exact for any closed surface, regardless of where the origin is. The shown value is the absolute value so winding-order issues don't flip the sign.
STL has no unit info — what unit is the file in?
STL doesn't encode units. The de-facto convention for 3D printing is millimeters; for CAD exchange it's often inches. If a 100 mm cube measures 100 in this tool, it's mm. If it measures 3.94, it's probably inches. Switch units in the dropdown until the numbers match expectation.
Why is the preview just line outlines, not shaded?
Because SVG without WebGL can comfortably handle thousands of line segments but not depth-sorted filled polygons with shading. The orthographic outline view still tells you the silhouette and gives a quick sanity check on orientation and size — for full 3D rendering, open the STL in a slicer or a viewer like Cura / Bambu Studio.
Related tools
GeoJSON Inspector & Validator (RFC 7946)
Paste or upload GeoJSON and get RFC 7946 validation, per-geometry counts, WGS-84 polygon area, haversine length, bounding box and an SVG preview.
File
MP4 / ISO Base Media File Inspector
Open an MP4, M4A, M4V or MOV in your browser: brands, the fast-start check, the whole box tree, every track codec and duration, and iTunes tags.
File
Font File Inspector
Open a .ttf, .otf or .woff and read its real family name, glyph and character counts, version, licence text and embedding permissions.
File
Java Class File Inspector
Read a compiled .class file in the browser: class file version and JDK release, access flags, constant pool, fields, methods and referenced classes.
File
WAV File Inspector
Drop a .wav file and read its format, channels, sample rate, bit depth, duration, all RIFF chunks, and embedded LIST/INFO tags — fully client-side.
File
Gettext .mo Catalogue Inspector
Read a compiled GNU gettext .mo catalogue in your browser: byte order, header, every msgid and translation, contexts, plural forms and untranslated strings.
File