This online tool gives a quick, practical estimate of the materials, time and energy needed to 3D-print a part. It’s intended as a planning aid — results are approximate and meant to help you choose filament, check spool needs, and budget print jobs before slicing the model.
Table of Contents
What the estimator provides
- Estimated filament length and filament mass required for the print;
- Number of spools required and the filament cost in USD;
- Approximate print time estimated from toolpath length and print speeds;
- Estimated printer energy consumption (kWh) and electricity cost in USD;
- Volume breakdown of the model into walls, top/bottom and infill, and each component’s contribution to filament usage.
Operation modes
- By weight — enter the known model weight in grams. Use this when your slicer or previous measurements provide the model mass.
- By dimensions — enter the outer bounding box (L × W × H in mm) and printing parameters (perimeters, wall thickness, top/bottom layers, infill %). The estimator then approximates walls, top/bottom and infill volumes.
If you don’t know the model mass or dimensions, use an STL-based tool to extract them automatically (upload STL → get mass/volume).
Parameters considered
- Filament diameter: 1.75 mm or 2.85 mm;
- Nozzle diameter and layer height — affect extruded track volume;
- Material density (g/cm³) — e.g. PLA, PETG, ABS, Nylon;
- Waste factor — small extra allowance for priming, ooze, purge and calibration;
- Separate print speeds for perimeters and infill — used for a rough time estimate.
Key formulas
If model mass Mmodel (g) is known:
Volume of the part (mm³) from mass and density:
$$V_{model} = \frac{M_{model}}{\rho}\times 1000 \quad [\text{mm}^3]$$
If using bounding box dimensions:
$$V_{bbox} = L \times W \times H \quad [\text{mm}^3]$$
Approximate component volumes (simple engineering estimates):
Walls volume:
$$V_{walls} \approx P \times t_{wall} \times H$$
Top/bottom volume:
$$V_{topbottom} \approx L \times W \times
$$
$$
\times (n_{top}\times h_{layer} \times 2)$$
Infill volume (approx):
$$V_{infill} \approx (V_{bbox} – V_{walls} – V_{topbottom}) \times
$$
$$
\times \frac{\text{infill\%}}{100}$$
Total model volume with waste factor:
$$V_{total} = (V_{walls} + V_{topbottom} + V_{infill}) \times
$$
$$
\times factor_{waste}$$
Filament length — using filament cross-section:
Filament cross-section area: $$A_f = \pi \left(\frac{d}{2}\right)^2$$
Filament length (mm): $$L_{fil} = \frac{V_{total}}{A_f}$$
Filament length (m): $$L_{fil,m} = \frac{L_{fil}}{1000}$$
Filament mass (g):
$$M_{fil} = \frac{V_{total}}{1000}\times \rho$$
Spools and cost:
Number of spools: $$N_{spools} = \frac{M_{fil}}{M_{spool}}$$
Filament cost: $$Cost_{fil} = N_{spools} \times Price_{spool}$$
Printer energy & electricity cost:
Print time estimate: \(T\) (seconds).
Energy (kWh): $$E = \frac{T}{3600}\times \frac{P_{printer}}{1000}$$
Electricity cost (USD): $$Cost_{energy} = E \times Price_{kWh}$$
Total print cost:
$$Cost_{total} = Cost_{fil} + Cost_{energy}$$
Worked example
- Mode: By dimensions. Dimensions: L = 120 mm, W = 90 mm, H = 40 mm.
- Material: PLA, density \(\rho = 1.24\) g/cm³.
- Print settings: infill 20%, nozzle 0.4 mm, layer 0.2 mm, perimeters = 2, wall thickness = 0.8 mm.
- Waste factor: 1.03. Spool: 1000 g at $25.00. Printer power: 120 W. Electricity price: $0.13 / kWh.
Step-by-step:
- Estimate total model volume after component approximation: \(V_{total} \approx 25,000\) mm³ (example).
- Filament cross-section for 1.75 mm: \(A_f \approx 2.405\ \text{mm}^2\).
- Filament length: \(L_{fil} \approx 25{,}000 / 2.405 \approx 10{,}400\) mm ≈ 10.4 m.
- Filament mass: \(M_{fil} \approx 25{,}000/1000 \times 1.24 = 31.0\) g.
- Spools required: \(31.0 / 1000 = 0.031\) → cost for filament ≈ $25 × 0.031 ≈ $0.78.
- If print time ≈ 3 hours and printer power 120 W: \(E \approx 3 × 0.12 = 0.36\) kWh → electricity cost ≈ $0.36 × $0.13 ≈ $0.05.
- Total estimated cost ≈ $0.83 (filament + electricity) — demonstrates how inexpensive a small prototype can be; actual costs vary by material, spool price and print time.
Note: this example uses rounded figures to show the calculation flow. When finalizing production, slice the model and use the slicer’s exact filament and time estimations.
Reference — typical values
| Parameter | Typical value | Notes |
|---|---|---|
| Filament diameter | 1.75 mm / 2.85 mm | 1.75 mm is most common for desktop printers |
| PLA density | ≈ 1.24 g/cm³ | PETG ≈ 1.18, ABS ≈ 1.04 |
| Nozzle diameter | 0.2–0.6 mm | 0.4 mm is a common default |
| Layer height | 0.12–0.3 mm | Smaller layers increase quality and print time |
| Infill | 0–100 % | 10–25 % often works for prototypes |
| Waste factor | 1.02–1.05 | Accounts for priming, small test prints and tails |
Quick lookup — filament metrics
Below are precomputed values (grams per meter and meters per 1 kg) for common diameters (approximate):
| Material | Density (g/cm³) | g/m (1.75 mm) | m per 1 kg (1.75 mm) | g/m (2.85 mm) | m per 1 kg (2.85 mm) |
|---|---|---|---|---|---|
| PLA | 1.24 | ≈ 2.98 g/m | ≈ 335 m | ≈ 7.91 g/m | ≈ 126 m |
| PETG | 1.18 | ≈ 2.84 g/m | ≈ 352 m | ≈ 7.53 g/m | ≈ 133 m |
| ABS | 1.04 | ≈ 2.50 g/m | ≈ 400 m | ≈ 6.64 g/m | ≈ 151 m |
| Nylon (PA) | ≈ 1.20 | ≈ 2.89 g/m | ≈ 346 m | ≈ 7.66 g/m | ≈ 131 m |
| TPU (flexible) | ≈ 1.20 | ≈ 2.89 g/m | ≈ 346 m | ≈ 7.66 g/m | ≈ 131 m |
Nozzle / Layer / Speed recommendations
| Goal | Nozzle | Layer height | Printing speed |
|---|---|---|---|
| High detail | 0.25–0.4 mm | 0.08–0.16 mm | 20–40 mm/s |
| Balanced strength & speed | 0.4 mm | 0.16–0.24 mm | 30–60 mm/s |
| Strength / fast prints | 0.6–1.0 mm | 0.24–0.4 mm | 50–120 mm/s |
Infill quick guide
| Use case | Infill, % |
|---|---|
| Visual models / mockups | 5–15% |
| Functional home parts | 15–30% |
| Load-bearing / functional | 30–60% |
| Structural / solid parts | 60–100% |
Practical tips & notes
- For precise print time and filament usage always use your slicer (Cura, PrusaSlicer, Simplify3D). The estimator is intended for planning and quick budgeting.
- When using the By weight mode, the filament & cost estimate is usually more accurate. The By dimensions mode is useful for a quick check when the actual geometry is unknown.
- Add a safety margin: +3–5% filament to cover priming, retractions and small tests.
- Material density may vary between brands — for critical orders use the manufacturer’s data.
- Printer energy consumption depends heavily on heaters (hotend/bed), standby behavior and fans — energy estimate is approximate.
Note: Estimates returned by the calculator are approximate. For final planning and production use the slicer’s exported G-code report and, when necessary, create test prints to verify filament usage and fit.
To improve accuracy: dry filament before printing (moist filament causes bubbles and inconsistent extrusion), use hardened nozzles for abrasive blends (carbon/metal-filled), and calibrate extruder steps (E-steps) and extrusion multiplier. When assembling multi-part products, account for thermal expansion and tolerances; for screw threads consider heat-set inserts or metal bushings for reliable fastening. Good practice: keep a short log for successful prints — slicer profile, firmware version, filament batch — this dramatically reduces time spent troubleshooting and reproducing good results.
References
- Chua, C.K., Leong, K.F., Lim, C.S. Rapid Prototyping: Principles and Applications, 4th Edition. World Scientific, 2020.
- Gibson, I., Rosen, D.W., Stucker, B. Additive Manufacturing Technologies, 3rd Edition. Springer, 2015.
- Huang, Y., Liu, P., Mokasdar, A., Hou, L. Additive Manufacturing and 3D Printing: Materials, Processes, and Applications. Elsevier, 2015.
- Thompson, M.K., et al. Design for Additive Manufacturing: Concepts and Considerations. CIRP Annals, 2016.






