How to price a 3D print - which margin to pick
Someone asks what you would charge for a print. You look at the slicer: 50 grams, three hours. Fifty grams of a 25-euro spool is 1.25. You double it, say "three euros", and feel slightly robbed without knowing why.
The feeling is right. Filament is usually the smallest part of what a print costs you. The rest is the printer paying itself off, the electricity, the minutes you spent slicing and cleaning up, and the print that failed last week and nobody paid for.
The fix has two halves: know the true cost, then decide the margin on purpose.
Cost first
The print cost calculator adds up six things:
- Filament - grams used x spool price / grams on the spool.
- Electricity - the printer's average draw x hours x your price per kWh. Pick your printer from the list and the draw is filled in.
- Printer - the printer's price spread over the hours it will print (5,000 is a cautious figure), plus spare parts per hour: nozzles, belts, tubes.
- Your time - hands-on minutes at an hourly rate. Slicing, filament changes, removing supports.
- Other - inserts, magnets, packaging.
- Failed-print buffer - a percentage on top of everything, because some prints fail and the reprint is a cost of every job, not a surcharge on the one that failed.
With the calculator's defaults - 50 g, 3 hours, a 25-euro spool, a 120 W printer, 10 minutes of work at 12 an hour, 10 % failures - the cost is about 4.30 per piece. Filament is 1.25 of that. Your ten minutes are 2.00.
Time is the number people skip. If you would not do the work for free for a stranger, it belongs in the cost. Put it in even when you are printing for friends; you can still choose not to charge it.
Markup versus margin
Two words, two formulas, and they give different numbers for the same intent.
- Markup is a percentage on top of cost: price = cost x (1 + markup). 50 % markup on 4.30 is 6.45.
- Margin is a share of the price: price = cost / (1 - margin). A 50 % margin on 4.30 is 8.60, because half of the price is profit.
The calculator uses markup on cost, labelled "margin on cost" so it reads naturally. When you compare with someone else's numbers, ask which one they mean; a "50 % margin" can be either 6.45 or 8.60.
Which margin
There is no single right number. There is a right range for the situation you are in:
| Situation | Margin on cost | Why |
|---|---|---|
| Friends and family | 0-30 % | Cover the cost, round up, done |
| Hobby sales, one-offs | 50-100 % | Your time is undervalued in the cost already |
| Custom or design work | 100-150 % and up | Plus design hours billed separately |
| Marketplace listings | Set it after fees | Etsy-style fees take 10-12 % of the price |
Two things the table does not say:
Marketplace fees come off the price, not the cost. If a platform takes 12 % and you want to keep 50 % over cost, the price has to be cost x 1.5 / 0.88. Type that price into the calculator and it shows you the margin it implies.
A minimum charge is normal. Below some amount - many small sellers use something like the price of a coffee - a job is not worth switching the printer on and packing a box. Say the minimum up front.
Round it, then stop
Once the margin is chosen, round the price up to something that reads well: to the nearest 0.50, or to tens in crowns. The calculator has a switch for it and shows the margin the rounded price actually gives. Round after the calculation, never instead of it - "double the filament and round to 9" skips everything that costs you money.
When the price feels too high, the answer is rarely a smaller margin. It is a cheaper print: less infill, fewer supports, a batch of four instead of one, or a shorter print time. The calculator's "pieces in this job" field shows what a batch does to the price per piece.
The failed print
Do not charge the customer whose print failed. Charge everyone a little. A 5-15 % buffer, spread over every job, pays for the reprints and keeps a single bad Tuesday from turning into an awkward conversation.
Open the print cost calculator - pick your printer, type in the slicer numbers, choose a margin.