3D Print Cost Calculator

Filament and electricity cost for a single print, with optional labor, machine wear, and markup.

Related tools

What it does

Calculates what a single 3D print actually costs: filament by weight or length, electricity from your printer's average draw and the print time, plus optional machine wear, labor, post processing, a failure allowance, and a markup for quoting a customer. Paste a slicer summary from PrusaSlicer or Cura and it prefills the filament weight, length, and print time automatically.

How to use it

Enter grams of filament used, or a length in meters if that is what your slicer reports; pick the material so the density is right for the meters conversion. Set your spool price and weight, printer wattage, and electricity price, then add print time. Optional fields cover machine depreciation, labor, post processing, failure rate, and markup for a customer quote.

Why this one

Most print cost calculators only handle filament and skip electricity, machine wear, and failed prints entirely, so the number they give is not what the print actually costs you. This one covers the full cost stack, reads slicer output directly instead of making you retype numbers, and runs entirely on your device with no signup.

FAQ
How is filament length converted to weight?
Length in meters is converted to volume using the filament diameter, then multiplied by the material's density: grams = pi times (diameter / 2)^2 times length times density, with all lengths in centimeters. Filament weight, when known, is always used directly instead since it is more accurate than a length-based estimate.
Why does the failure allowance depend on my failure rate?
The allowance amortizes failed prints across the successful ones rather than just adding a flat cut: at a 10 percent failure rate, roughly one in ten prints fails, so the successful prints need to cover that lost material and time, which is a bigger multiplier than a simple 10 percent addition.
Can I paste a slicer summary instead of typing numbers?
Yes. Paste PrusaSlicer or Cura output containing a filament weight or length line and a print time line, such as "Filament used: 23.4g" and "Estimated printing time: 3h 12m", or the raw G-code comments like "; filament used [g] = 23.4" and ";TIME:11520", and those values are used instead of the number fields.

Keyboard shortcuts: press ? anywhere on this page to see them.