STL Volume Calculator
Measure an STL and estimate the filament it needs.
File
Result
Your converted file will appear here.
About the STL Volume Calculator converter
Slicing a model just to find out how big it is, or what it will cost in filament, is a slow way to answer a quick question.
Drop the STL in and get its real dimensions, volume and triangle count straight away, along with a material estimate for the plastic you use.
Volume measured properly
The volume comes from the signed-tetrahedron method: every triangle forms a tetrahedron with the origin, and the signed volumes cancel everywhere except inside the solid. For a closed mesh that is exact, not an approximation.
It also detects a mesh whose normals point inwards — a common export fault. Slicers usually cope, but if a print comes out hollow it is worth knowing why.
Both kinds of STL
STL exists as plain text and as binary. Telling them apart by looking for the word "solid" at the start is the usual approach and it is wrong, because many exporters write that same word into the binary header.
This checks the arithmetic instead: a binary file is exactly 84 bytes plus 50 per triangle. A file that matches is binary, whatever it says at the front.
What the material estimate can and cannot tell you
The 100% row is real: that is the solid volume converted to weight using the density of the plastic and the price of your spool. It is the most material the part could possibly need.
The lower rows scale that straight down, which ignores the walls and the solid top and bottom layers. A real print at 20% infill uses considerably more than the 20% row says. Treat it as a floor, the 100% row as a ceiling, and your slicer as the only thing that knows the truth.
Frequently asked questions
Why does my slicer report a different weight?
Because the slicer knows things this cannot: your wall count, top and bottom layers, supports, brim and the exact infill pattern. This measures the geometry; the slicer simulates the actual toolpath.
What units is the model in?
STL does not record units. Almost everything treats the numbers as millimetres, which is what is assumed here. If your model was authored in inches the figures will be out by a factor of 25.4.
It says the normals are inverted.
The mesh is wound inside-out. The volume is still reported correctly, but it is a sign the export went wrong. Most slicers repair it silently; if yours does not, run the file through a mesh repair tool.
Is my model uploaded?
No. The STL is parsed in your browser, which matters when the file is a client’s part or something you have not published yet. It also means a 200 MB mesh is read at disk speed rather than upload speed.