Cost per gram, done properly

Two spools at the same price are rarely the same cost per gram. This explains what to divide by, what to ignore, and why the cheapest sticker price is often the most expensive spool on the page.

Why the sticker price is not the number

Filament is the only material in a 3D print that you buy by weight and use by weight, which makes comparing it sound trivial. It is not, because four different quantities all get called "the weight of a spool" and only one of them is the one you can print with.

Cost per gram is the only comparison that survives contact with reality: what you actually paid, divided by the grams that will actually come off the spool. Everything else — the number on the box, the shipping weight, the advertised capacity — is a different quantity.

Net weight versus gross weight

Every spool sold online quotes a net weight, and that number is what you divide by. The parcel that arrives additionally contains the spool itself, the bag, the silica sachet and the box. A "1 kg" reel commonly arrives as a parcel around 1.2 to 1.35 kg.

Dividing the price you paid by the parcel weight understates your cost per gram by 20% or more, in the direction that makes you feel good about a purchase you should have questioned.

Worth knowing: the stated net weight is a target, not a measurement. Reels are filled to a tolerance, and the direction of the error is rarely in your favour. Weighing one full spool of a brand once tells you whether that brand runs long or short, and it is the cheapest audit you will ever run.

The tail you cannot print

The last stretch of filament on a spool is not usable. It tangles, snaps, or jams in the last few metres, particularly on spools wound loosely or stored badly. Depending on the design, the last 20 to 40 grams are effectively gone.

That matters most for the question people actually ask: how many prints are left? Counting the tail as capacity gives an answer that is optimistic by one print, which is exactly the print you will start at 11pm before a deadline.

Two useful habits: add a waste allowance to the model weight rather than pretending your print uses exactly what the slicer says, and hold back 30 grams when you work out what is left on a spool. The spool remaining calculator does the second automatically.

Comparing two spools properly

The comparison only works if both sides are computed the same way. That means adding shipping and any tax to the price you paid, and dividing by the net weight from the label — then, if you want the number you will actually experience, dividing by net weight minus the tail.

landed cost = price paid + shipping + tax
cost per gram = landed cost ÷ net weight
usable cost per gram = landed cost ÷ (net weight − tail)

Here is the same exercise on three plausible spools, with the arithmetic shown. The figures are illustrative, but the ranking is the point: the cheapest shelf price loses twice.

SpoolPriceShippingNet weightLandedCost per gram
A — budget, shipped separately$19.00$6.001000 g$25.00$0.0250
B — mid price, free shipping$22.00$0.001000 g$22.00$0.0220
C — cheapest sticker, short-filled$18.00$8.00950 g$26.00$0.0274

Spool A has the middle sticker price and the worst landed cost of the three once shipping is added. Spool C is the cheapest on the shelf and the most expensive per gram, because it is short-filled and shipped expensively. Only spool B is what it looked like.

What to do when the label is wrong

If a spool arrives noticeably under its stated net weight, weigh a full one from the same brand before you complain — a single light spool can be an outlier, and a whole order running short is a pattern you can take to the supplier.

Either way, the operational answer is the same: use the weight you measured, not the weight you were told. A 50 g shortfall on a 1000 g reel is a 5% error in every cost calculation you run from that spool, which is larger than the electricity line on most prints.

Important assumptions

Every figure on this page is arithmetic applied to numbers you supply. This site does not publish brand averages, because filament prices move with shipping, season and exchange rate, and an average that was true when it was written is a wrong number presented as a fact.

The tail reserve of 20 to 40 g is a range rather than a constant, because it depends on the spool and how the filament was wound. Treat the upper end as the safe assumption when you are deciding whether to accept an order.

Questions

How do I calculate cost per gram of filament?

Add shipping and tax to the price you paid, then divide by the net weight on the label. A $22 spool with free shipping and 1000 g of filament is $0.022 per gram. If you paid $6 shipping on a $19 spool, the landed cost is $25 and the real figure is $0.025 per gram.

Should I use net weight or gross weight?

Net weight — the filament only, as printed on the label. Gross weight includes the spool, bag, sachet and box, commonly adding 200 to 350 g. Dividing by the parcel weight understates your cost per gram by a fifth or more.

Why divide by net weight minus a tail?

Because the last 20 to 40 grams on a spool usually will not feed. If you want the cost per gram you will actually experience, exclude the tail. If you want the figure to compare two purchases fairly, the label weight is enough.

Is it worth buying cheaper filament?

Sometimes, but compare landed cost per gram first, and weigh a full spool once to check the fill. A cheaper spool that arrives short and ships expensively is frequently the most expensive option on the page.