The formula
A slicer does not fill a part solid. It prints walls around the sides, solid skins on the top and bottom, and a sparse infill in the core. The calculator models the part as a prism of its own height and average cross-section, then splits it into shell and core:
cross-section (cm²) = volume / height
side area (cm²) = surface area - 2 x cross-section
wall thickness = walls x line width
skin thickness = (top layers + bottom layers) x layer height
shell (cm³) = side area x wall thickness
+ (cross-section - perimeter x wall thickness) x skin thickness
core (cm³) = volume - shell
grams = density x (shell + infill x core)
The perimeter is the side area divided by the height. The shell can never exceed the volume, so a part thinner than its walls counts as solid. Meters of 1.75 mm filament are the grams divided by density × π × 1.75² / 4.
The defaults are a 20 mm cube in PLA at 1.24 g/cm³, from Bambu Lab’s PLA Basic data sheet. The slicer settings come from Bambu Studio’s 0.20mm Standard and PrusaSlicer’s 0.20mm SPEED profiles: 2 walls of 0.45 mm, 5 top and 3 bottom layers at 0.2 mm, and 15% infill.
Three ways to describe the part
- An STL (stereolithography) file. The calculator reads the triangles in your browser and computes volume, surface area and height. The volume uses the signed-tetrahedron method published by Cha Zhang and Tsuhan Chen. STL files carry no units, so pick millimeters, inches or centimeters.
- Volume and area from CAD. Copy both from your computer-aided design (CAD) program’s measure or properties panel. With the area left blank, the part counts as a cube of the same volume.
- A bounding box. Type length, width and height, then guess the share of the box the part fills. The calculator treats the part as a prism the height of the box, with its cross-section scaled down to that share.
How do you calculate the weight of a 3D print?
Split the part into a shell and a core. The shell is the walls (side area times walls times line width) plus the top and bottom skins. Add your infill percentage of the remaining core, then multiply the plastic volume by the material’s density. A 20 mm PLA cube at 15% infill weighs about 3.6 g.
Worked example: a 20 mm cube
These are the calculator’s defaults.
- Volume 8 cm³, surface area 24 cm², height 20 mm. Cross-section: 8 / 2 = 4 cm².
- Side area: 24 − 2 × 4 = 16 cm². Wall thickness: 2 × 0.45 = 0.9 mm. Walls: 16 × 0.09 = 1.44 cm³.
- Skins: 8 layers × 0.2 mm = 1.6 mm. The perimeter is 8 cm, so the skin area inside the walls is 4 − 8 × 0.09 = 3.28 cm². Skins: 3.28 × 0.16 = 0.52 cm³.
- Shell: 1.44 + 0.52 = 1.96 cm³. Core: 8 − 1.96 = 6.04 cm³. Infill at 15%: 0.91 cm³.
- Plastic: 1.96 + 0.91 = 2.87 cm³. Weight: 2.87 × 1.24 = 3.56 g, or 1.19 m of 1.75 mm filament.
Printed solid, the same cube weighs 9.92 g, so the print is 36% of solid.
Worked example: from a bounding box
A part that fits in a 100 × 60 × 40 mm box and fills about half of it is 120 cm³ of plastic. With the same settings it weighs about 35.6 g in PLA, against 148.8 g solid. A rectangular block filling the whole box weighs 66.4 g.
The slicer is the ground truth
This estimate is a shell-and-core model, not a slice. Expect it to differ from your slicer’s number for several reasons:
- Corners. The model counts wall corners twice. For the 20 mm cube the exact shell is 1.91 cm³ against the model’s 1.96 cm³, about 3% high.
- Slopes and overhangs. Shallow slopes get extra solid skin layers the model does not count, so domed and tapered parts come out light.
- Thin features. Small holes, text and thin ribs are mostly wall, so they come out heavy.
- Extras. Supports, brims, rafts and purge are not part of the model. Add them on top.
Slice the model once and read the grams in the slicer’s print summary. If the two differ, adjust walls or line width here until they agree. Parts with similar shapes and settings will then land closer.
How much does a 3D print weigh?
It depends on size, infill and material. Solid PLA weighs 1.24 g per cubic centimeter, but walls and sparse infill leave a print mostly hollow. At 15% infill a 20 mm PLA cube weighs about 3.6 g and a 100 mm cube about 240 g: 36% and 19% of their solid weights.
Weight by part size
Cubes in PLA with the default settings: 2 walls of 0.45 mm, 5 top and 3 bottom layers at 0.2 mm, and 15% infill.
| Cube | Volume | Printed | Solid | Printed share of solid |
|---|---|---|---|---|
| 20 mm | 8 cm³ | 3.6 g | 9.9 g | 36% |
| 40 mm | 64 cm³ | 20.4 g | 79.4 g | 26% |
| 60 mm | 216 cm³ | 59.5 g | 267.8 g | 22% |
| 100 mm | 1,000 cm³ | 240.2 g | 1,240 g | 19% |
The share falls as parts grow because volume rises faster than surface area. A big part is mostly core, so infill sets most of its weight. A small part is mostly shell.
How heavy is 3D printed plastic
The printed weight scales with the density on the spool’s data sheet. PLA is 1.24 g/cm³, PETG 1.25, ABS and ASA 1.05, and polycarbonate (PC) 1.20. The 60 mm cube above weighs 59.5 g in PLA and 50.4 g in ABS. The filament length to weight converter lists every preset with its sheet.
How much does infill change the weight of a 3D print?
Each 10% of infill adds 10% of the core volume times the density. For small parts that is little: a 20 mm PLA cube gains about 0.75 g per 10%. For a 60 mm cube it is 24.5 g per 10%, and going from 15% to 100% infill multiplies the weight by 4.5.
Weight at each infill setting
PLA with the default walls and top and bottom layers.
| Infill | 20 mm cube | 60 mm cube |
|---|---|---|
| 0% | 2.4 g | 22.8 g |
| 10% | 3.2 g | 47.3 g |
| 15% | 3.6 g | 59.5 g |
| 20% | 3.9 g | 71.8 g |
| 40% | 5.4 g | 120.8 g |
| 100% | 9.9 g | 267.8 g |
The 0% row is the shell alone. On the 20 mm cube the shell is two thirds of the weight at 15% infill, so changing walls or top layers moves its weight more than infill. On the 60 mm cube infill is the larger share.
Choosing infill for weight
Bambu Studio and PrusaSlicer default to 15% infill, and Cura’s base profile to 20%. Prusa’s knowledge base says most models print fine at 10 to 15%. It also says a part’s strength comes mostly from its perimeters, not its infill. To make a part lighter, lower infill first and keep the walls. To make it stronger for little extra weight, add a wall before raising infill.
The calculator takes the infill percentage as the share of the core filled with plastic. The slicer lays real lines in a pattern, so its gram figure stays the reference. The STL cost calculator prices the result, and the print time calculator estimates its print time.
Published · Figures last checked
Sources
- Bambu Lab, BambuStudio process profiles (fdm_process_common.json, fdm_process_single_0.20.json) (accessed 2026-10-14)
- Prusa Research, PrusaSlicer settings for Prusa FFF printers (0.20mm SPEED @MK4S 0.4) (accessed 2026-10-14)
- UltiMaker, Cura fdmprinter.def.json (accessed 2026-10-14)
- Prusa Knowledge Base, Infill (accessed 2026-10-14)
- Library of Congress, STL (STereoLithography) file format, binary (accessed 2026-10-14)
- Cha Zhang and Tsuhan Chen, Efficient feature extraction for 2D/3D objects in mesh representation, IEEE ICIP 2001 (accessed 2026-10-14)
- Bambu Lab, PLA Basic technical data sheet V3.0 (accessed 2026-10-14)
- Bambu Lab, PLA-CF technical data sheet (accessed 2026-10-14)
- Bambu Lab, PETG Basic technical data sheet V3.0 (accessed 2026-10-14)
- Bambu Lab, PETG-CF technical data sheet V3.0 (accessed 2026-10-14)
- Bambu Lab, ABS technical data sheet V3.0 (accessed 2026-10-14)
- Bambu Lab, ASA technical data sheet V3.0 (accessed 2026-10-14)
- Fillamentum, HIPS Extrafill technical data sheet (accessed 2026-10-14)
- Bambu Lab, TPU 95A HF technical data sheet V1.0 (accessed 2026-10-14)
- Polymaker Wiki, PolyMide CoPA technical data sheet (accessed 2026-10-14)
- Bambu Lab, PA6-CF technical data sheet V3.0 (accessed 2026-10-14)
- Bambu Lab, PC technical data sheet V2.0 (accessed 2026-10-14)
- Bambu Lab, PVA technical data sheet V1.0 (accessed 2026-10-14)