STL analyzer and 3D viewer: volume, weight, cost and mesh check
Volume, watertight check, filament weight and cost of STL, OBJ and 3MF files, no upload.
- Instant
- Free
- Private (processed locally)
- No sign-up
Analyse an STL file: volume, size and printability in seconds
Before you start a 3D print you want to know the volume of the part, its dimensions, its weight in filament and whether the mesh is closed. This STL analyzer reads STL (binary or ASCII), OBJ and 3MF files, computes surface area, volume, centre of mass and shell count, and runs a watertight check: open edges, non-manifold edges, normal orientation, degenerate and duplicate triangles.
The 3D viewer shows the model on a printer bed, paints open edges in red and warns when the part exceeds the build volume. You can then scale, rotate by 90°, convert inches to millimetres, flip normals, drop the part to Z = 0 and export as binary STL, ASCII STL or OBJ. Everything runs in the browser: your file never leaves your device, even a 250 MB model.
-
Load your file
Click “Choose a file” or drop an STL, OBJ or 3MF onto the dashed area. The sample cube is displayed on load so you can explore the tool. Pick the file unit if your CAD software exported in inches or centimetres.
-
Read the mesh and the printability check
The “Mesh” block lists triangles, vertices, size, surface area, volume and centre of mass. The “Printability check” block tells you whether the mesh is closed, how the normals are oriented and how many open or non-manifold edges it has.
-
Set the print estimates
Choose the material, infill, perimeters, line width, top/bottom layers, layer height and price per kg: weight, filament length and cost update instantly, with solid-part and resin variants.
-
Transform if needed
Use “Scale (%)”, “Scale to size”, “Rotate 90° X/Y/Z”, “Convert units”, “Flip normals”, “Centre on plate” or “Drop to Z = 0”. Every operation re-runs the analysis and the bed check.
-
Export
Download the transformed model as “Binary STL”, “ASCII STL” or “OBJ”. The name is taken from the original file and the binary STL size is shown before you download.
How the STL analyzer works
A binary STL is recognised by its exact size, 84 + 50 × n bytes for n triangles, not by the word “solid” in the header, which some programs also write into binary files. ASCII STL is read in chunks, handling Windows line endings, scientific notation and solid names with spaces. OBJ files are read from their v and f lines, with polygons split into fans and negative indices resolved. A 3MF is a ZIP archive: the tool reads the central directory, inflates the model part named by the package relationships (usually 3D/3dmodel.model), applies the component and build-item transforms and converts the declared unit to millimetres. Identical vertices are then merged to rebuild the topology.
- Surface area: sum of half the cross-product norm of every triangle.
- Volume: sum of the signed tetrahedra
v0 · (v1 × v2) / 6; a negative total reveals inward normals, an open mesh makes the value unreliable. - Watertight check: every edge must be used by exactly two triangles travelling in opposite directions; one use = open edge, more than two = non-manifold, two in the same direction = inconsistent orientation.
- Shells: connected components over shared vertices (union-find), which reveals cavities and multi-part files.
- Estimates: shell ≈ wall area × perimeters × line width + flat area × layers × layer height, capped at the volume; inner volume × infill; weight = material volume × density; length = volume ÷ filament cross-section.
Typical filament and resin densities
| Material | Density used (g/cm³) | Range found in datasheets | Weight of 1 m of 1.75 mm filament |
|---|---|---|---|
| PLA | 1.24 | 1.17 to 1.25 | ≈ 2.98 g |
| PETG | 1.27 | 1.25 to 1.30 | ≈ 3.05 g |
| ABS | 1.04 | 1.04 to 1.14 | ≈ 2.50 g |
| ASA | 1.07 | 1.07 to 1.13 | ≈ 2.57 g |
| TPU | 1.21 | 1.11 to 1.22 | ≈ 2.91 g |
| Nylon (PA) | 1.14 | 1.01 (PA12) to 1.15 (PA6) | ≈ 2.74 g |
| PC | 1.20 | 1.19 to 1.22 | ≈ 2.89 g |
| Standard resin | 1.10 | 1.05 to 1.25 | 1.10 kg per litre |
Typical values taken in October 2026 from manufacturer datasheets (Prusament, Polymaker, Fiberlogy, Anycubic). Density varies with brand, colour and fillers: edit it in the tool to match your spool. Weight per metre = π × (0.875 mm)² × 1 m × density.
What an STL analyzer is good for
- Quoting a print: weight × price per kg gives the material cost of a quote, for hobbyists and print services alike.
- Checking a downloaded model before slicing: watertightness, multiple shells, inverted normals and the real dimensions of a Printables or Thingiverse file.
- Fixing units: a model exported in inches shows up 25.4 times too small; the inch → mm conversion fixes it before export.
- Shrinking an ASCII STL: the binary export divides the size by four to six without touching the geometry, handy for sharing or archiving.
- Preparing the bed: test whether the part fits in 220 × 220 × 250 mm, 256 × 256 × 256 mm or a custom plate, rotate it by 90° and drop it to Z = 0 before opening the slicer.
Common problems and how to fix them
- The model is 1 mm instead of 25 mm: it was exported in inches. Pick “inches” as the file unit or apply “inch → mm (× 25.4)”.
- Volume marked “unreliable”: the mesh has open edges. Show them in red with “Open edges”, then repair the model in your CAD software or a repair tool before analysing again.
- Orange faces in the 3D view: those triangles are seen from the back, so their normals point inwards. If the whole part is orange, click “Flip normals”.
- “Exceeds the plate”: try a 90° rotation around X or Y, or “Scale to size” on the longest axis; the message updates after every transform.
- Very large file: above 250 MB or 5 million triangles the tool asks for confirmation. Export binary rather than ASCII and reduce the triangle count in your modelling software if the device runs out of memory.
Privacy: the file is read, analysed, displayed and exported by your browser; nothing is sent to or stored on a server. Limits: 600 MB or 12 million triangles at most, depending on device memory; weight, length and cost figures are estimates that only the slicer refines; 3MF is read in its core form (meshes, components, transforms, units) without slicing extensions or external parts, and a compressed 3MF needs a recent browser (DecompressionStream API); ASCII STL export is limited to 1 million triangles; densities are typical values to adjust from your spool’s datasheet.
Frequently asked questions
How do I calculate the volume of an STL file?
The tool sums the signed volumes of the tetrahedra formed by each triangle and a reference point (formula v0 · (v1 × v2) / 6). The result is exact for a closed mesh and is shown in cm³ and mm³. Multiply it by the material density to get the weight of a solid part.
Why is my STL not watertight and how do I fix it?
A mesh is watertight when every edge is shared by exactly two triangles. Open edges reveal holes, non-manifold edges reveal extra faces. Turn on “Open edges” to see them in red, then repair the model in your CAD software or with a repair tool such as Blender (3D Print Toolbox extension), MeshLab or the repair function of your slicer.
How much filament does my model need?
The estimate adds the shell volume (perimeters × line width, top/bottom layers × layer height) to the inner volume multiplied by the infill percentage, then converts it to grams with the density and to metres with the filament diameter. It is a ballpark figure: the slicer, which knows about supports, skirt and infill pattern, gives the final number.
What unit does an STL file use?
None: the STL format only stores unitless coordinates. Almost every slicer reads them as millimetres. If your model shows up 25.4 times too small, it was exported in inches: pick “inches” as the file unit or apply the inch → mm conversion before exporting.
What is the difference between ASCII and binary STL?
Both describe the same triangles. A binary STL takes 84 bytes plus 50 bytes per triangle; ASCII writes every vertex as text and is usually four to six times larger. The tool detects the format automatically and exports binary, which shrinks the file without any loss of geometry.
Is my file uploaded to a server?
No. Reading, analysis, 3D display and export all run inside your browser using the WebGL and File APIs. Nothing is transmitted or stored, which also suits confidential models. Files up to 600 MB or 12 million triangles are accepted, depending on your device’s memory.