Material
3D Printing Filament Cost Calculator
Find the true cost of filament per gram, per print and per spool. Enter your spool price and weight, add an allowance for waste, and the calculator shows the per-gram rate, the cost of your print, and how many prints the spool actually yields.
Your filament & print
cost/gram = $25.00 ÷ 950 g usable = $0.03/g
Cost per print
$1.58
60 g × $0.03/g
Cost per gram
$0.03
usable weight basis
Cost per kg (effective)
$26.32
after waste allowance
Prints per spool
≈ 15
950 g usable
The filament cost formula
Filament is sold by the kilogram but consumed by the gram, so the honest unit cost is your price divided by the weight you can actually use:
cost/gram = spool_price ÷ (spool_weight_g × (1 − waste)) print_cost = grams_used × cost/gram
Your slicer reports grams used; a kitchen scale confirms it. Different materials at the same price per kilo can still cost different amounts per part because densities vary — but since you are weighing the part, density is already baked into the gram figure.
Feed this into a full quote
Same spool price, different part cost
Cost per gram is identical for any two spools at the same price per kilogram — but the grams a part needs are not. For the same geometry and infill, filament volume is fixed, and weight scales with density:
| Material | Typical density | Weight vs PLA, same part |
|---|---|---|
| PLA | 1.24 g/cm³ | — |
| ABS | 1.04 g/cm³ | −16.1% |
| PETG | 1.27 g/cm³ | +2.4% |
| Nylon (PA) | 1.14 g/cm³ | −8.1% |
| TPU | 1.21 g/cm³ | −2.4% |
These are typical densities, not specifications — fillers and blends move them, which is why the density fields in these tools stay editable. When you cost by weighed or slicer-reported grams, density is already inside the gram figure and no correction is needed. It only bites when grams are derived from a length or a volume — which is exactly what the next section is about.
What if the slicer gives you metres, not grams?
PrusaSlicer, OrcaSlicer and Bambu Studio write filament weight into the G-code headers. Cura writes only a length — a line like ;Filament used: 0.3296m. Converting that length to grams requires a density:
grams = length_cm × π × (diameter_cm ÷ 2)² × density
Pick the wrong density and every quote from that file inherits the error. Measured against a real Cura file reporting 329.575 mm of 1.75 mm filament, assuming PLA’s 1.24 g/cm³ gives 0.983 g — but the true figure is 0.824 g for ABS (a 19.2% overstatement), 0.904 g for Nylon (8.8% over) and 1.007 g for PETG (2.4% under). The G-code intake in the 3D printing cost calculator therefore asks which material is on the spool, defaults the density from it, and names the material in the conversion note — a silent PLA assumption is how a 19% costing error becomes a permanent habit.
Why material cost alone is not a price
Material is usually the smallest honest line in a quote — and the easiest to measure, which is why so many prices are “filament cost times three”. That rule of thumb quietly assumes it covers two things most sellers never itemise: the prints that fail, and the overhead that exists whether or not the printer runs. A failure reserve prices the expected cost of failed attempts — at an 8% failure rate, each good print carries 1 ÷ (1 − 0.08) ≈ 1.087 attempts of material, energy and machine time. Overhead prices rent, software and tools, either per print hour or per job. Neither is optional in a price you intend to defend, and both are worked through with real numbers in how to price 3D prints.
Related tools
- Resin print cost calculator — for SLA/MSLA materials by volume.
- Electricity cost calculator — the energy layer of the same print.
- How to price 3D prints — where material fits in the full formula.