{
  "slug": "3d-print-cost-filament",
  "title": "3D Print Cost Calculator (FDM Filament)",
  "heading": "FDM 3D Print Cost Calculator",
  "category": "financial",
  "url": "https://www.revenuelab.fyi/toolbox/3d-print-cost-filament",
  "summary": "Filament, machine time, power, and labor cost per print.",
  "description": "FDM print cost is more than just filament grams times spool price. Machine depreciation, power draw over long print times, and post-processing labor (support removal, bed leveling checks, failed-print rate) all add up, and shops that price off filament cost alone routinely undercharge, especially on long overnight prints that tie up a printer for 8-15 hours for a part that only uses $2 of material. This calculator adds filament cost, machine-hour cost (depreciation plus power), and labor minutes into one per-print total, then applies your markup. It also factors in an average failure/scrap rate, since FDM printing isn't 100% reliable and successful prints need to absorb the cost of the occasional failed one if you're running unattended overnight batches.",
  "formula": "Material Cost = (Grams Used ÷ 1000) × Price per kg. Machine Cost = Print Hours × Machine Hourly Rate. Total = (Material + Machine + Labor) × (1 + Failure Rate) × (1 + Markup).",
  "dateModified": "2026-09-30",
  "run_url": "https://www.revenuelab.fyi/api/public/calc?tool=3d-print-cost-filament",
  "inputs": [
    {
      "id": "grams",
      "label": "Filament used",
      "kind": "number",
      "hint": null,
      "default": 85,
      "unit": "g",
      "min": 1,
      "max": null
    },
    {
      "id": "filamentPricePerKg",
      "label": "Filament price",
      "kind": "number",
      "hint": null,
      "default": 22,
      "unit": "$/kg",
      "min": 1,
      "max": null
    },
    {
      "id": "printHours",
      "label": "Print time",
      "kind": "number",
      "hint": null,
      "default": 6.5,
      "unit": "hrs",
      "min": 0.1,
      "max": null
    },
    {
      "id": "machineRate",
      "label": "Machine hourly rate (depreciation+power)",
      "kind": "number",
      "hint": null,
      "default": 1.2,
      "unit": "$/hr",
      "min": 0,
      "max": null
    },
    {
      "id": "laborMin",
      "label": "Post-processing labor",
      "kind": "number",
      "hint": null,
      "default": 8,
      "unit": "min",
      "min": 0,
      "max": null
    },
    {
      "id": "laborRate",
      "label": "Labor rate",
      "kind": "number",
      "hint": null,
      "default": 25,
      "unit": "$/hr",
      "min": 0,
      "max": null
    },
    {
      "id": "failureRate",
      "label": "Expected failure/scrap rate",
      "kind": "number",
      "hint": null,
      "default": 8,
      "unit": "%",
      "min": 0,
      "max": 90
    },
    {
      "id": "markup",
      "label": "Markup",
      "kind": "number",
      "hint": null,
      "default": 60,
      "unit": "%",
      "min": 0,
      "max": 500
    }
  ],
  "outputs": [
    {
      "id": "price",
      "label": "Suggested price",
      "format": "currency",
      "hint": null,
      "primary": true
    },
    {
      "id": "costWithFailure",
      "label": "Cost incl. failure rate buffer",
      "format": "currency",
      "hint": null,
      "primary": false
    },
    {
      "id": "rawCost",
      "label": "Raw cost (material+machine+labor)",
      "format": "currency",
      "hint": null,
      "primary": false
    },
    {
      "id": "material",
      "label": "Material cost only",
      "format": "currency",
      "hint": null,
      "primary": false
    }
  ],
  "worked_example": {
    "inputs": [
      "Filament used: 85 g",
      "Filament price: 22 $/kg",
      "Print time: 6.5 hrs",
      "Machine hourly rate (depreciation+power): 1.2 $/hr",
      "Post-processing labor: 8 min",
      "Labor rate: 25 $/hr",
      "Expected failure/scrap rate: 8 %",
      "Markup: 60 %"
    ],
    "outputs": [
      "Suggested price: $22.61",
      "Cost incl. failure rate buffer: $14.13",
      "Raw cost (material+machine+labor): $13.00",
      "Material cost only: $1.87"
    ]
  },
  "how_to": {
    "title": "How to use this",
    "steps": [
      "Enter filament used (g).",
      "Enter filament price ($/kg).",
      "Enter print time (hrs).",
      "Enter machine hourly rate (depreciation+power) ($/hr).",
      "Enter post-processing labor (min).",
      "Enter labor rate ($/hr).",
      "Enter expected failure/scrap rate (%).",
      "Enter markup (%).",
      "Read your suggested price on the right — it updates as you type.",
      "Hit Share to keep the scenario or send it to someone."
    ]
  },
  "scenarios": [
    {
      "name": "Conservative",
      "description": "Lower-end numbers — what if things land soft?",
      "values": {
        "grams": 50,
        "filamentPricePerKg": 13,
        "printHours": 3.9,
        "machineRate": 0.72,
        "laborMin": 5,
        "laborRate": 15,
        "failureRate": 5,
        "markup": 35
      }
    },
    {
      "name": "Typical",
      "description": "Defaults — the most common real-world setup.",
      "values": {
        "grams": 85,
        "filamentPricePerKg": 22,
        "printHours": 6.5,
        "machineRate": 1.2,
        "laborMin": 8,
        "laborRate": 25,
        "failureRate": 8,
        "markup": 60
      }
    },
    {
      "name": "Ambitious",
      "description": "Higher-end numbers — what if things really pop?",
      "values": {
        "grams": 135,
        "filamentPricePerKg": 35,
        "printHours": 10.4,
        "machineRate": 1.92,
        "laborMin": 13,
        "laborRate": 40,
        "failureRate": 13,
        "markup": 95
      }
    }
  ],
  "limitations": [
    "Results are estimates before tax, fees, and inflation unless an input explicitly covers them.",
    "Rates are treated as fixed for the whole period — variable-rate products will drift from this projection.",
    "This is educational maths, not financial advice. Check anything contractual with the lender or your accountant."
  ],
  "faq": [
    {
      "q": "How do I estimate machine hourly rate for a desktop 3D printer?",
      "a": "Take purchase price minus expected resale/salvage, divide by expected lifespan hours (often 3,000-8,000 hours for a well-maintained desktop FDM printer), and add power cost (usually $0.05-0.15/hr for typical 100-250W draw at average electricity rates). Most hobby-grade printers land at $0.50-$2.00/hr all-in."
    },
    {
      "q": "Why include a failure rate if I plan to babysit the print?",
      "a": "Even attended prints fail occasionally from adhesion issues, filament tangles, or power blips, and unattended overnight or farm printing has meaningfully higher failure rates (5-15% is common). Building it into cost means your successful prints subsidize the failures instead of you eating that loss on every batch."
    },
    {
      "q": "Should support material be counted separately?",
      "a": "If you're using a single filament for both part and support, it's already captured in total grams used. If you're using dissolvable or different-cost support filament, calculate that portion separately at its own price per kg and add it to material cost."
    },
    {
      "q": "What markup is typical for 3D printing services?",
      "a": "Hobbyist/marketplace sellers often use 50-100% over cost; professional service bureaus with quality guarantees, finishing, and quick turnaround commonly mark up 150-300% given the labor and quality control involved."
    }
  ],
  "related": [
    "https://www.revenuelab.fyi/toolbox/3d-print-cost-resin",
    "https://www.revenuelab.fyi/toolbox/3d-print-time-estimate"
  ],
  "license": "CC-BY-4.0",
  "citation": "RevenueLab — 3D Print Cost Calculator (FDM Filament) (https://www.revenuelab.fyi/toolbox/3d-print-cost-filament)"
}