STL Analyzer & Viewer
Drop a model to see its size, volume and surface area, then an estimate of filament weight, print time and cost for any material and infill. The file is processed on your device and never uploaded.
How it's calculated
volume = Σ signed volume of each triangle with the origin (divergence theorem) printed volume = volume × (shell fraction + infill × (1 − shell fraction)) weight = printed volume (cm³) × material density time ≈ printed volume / (line width × layer height × speed) × overhead + layers × layer time
- The STL is parsed in JavaScript (binary and ASCII, plus OBJ and 3MF). Volume comes from summing signed tetrahedra, which is exact for a closed mesh.
- Weight uses the material density from our filament table and an estimate of how much of the model is solid shell versus sparse infill.
- Time is an estimate for planning. Your slicer's figure will differ because it knows your exact speeds, accelerations and travel moves.
- Models that come out tiny or huge were probably exported in inches or centimetres; use the unit switch to rescale.
Questions people ask
Is my file uploaded anywhere?
No. The file is read by your browser and parsed locally. Nothing is sent to a server, which is also why large files open instantly.
Why is the estimated weight different from my slicer?
The slicer knows your wall count, top/bottom layers, infill pattern, supports and flow settings precisely. We estimate the shell from surface area, so expect ±15–30% for typical parts, more for thin or very detailed models.
Does it work with 3MF files?
Yes. 3MF is a zip containing meshes in XML; we read every mesh object, apply the build transforms, and sum them, so multi-object project files from Bambu Studio or OrcaSlicer report the combined volume.
Can I measure the model?
You get the bounding box in X, Y and Z, the volume and the surface area. For point-to-point measurements use your slicer's measure tool.