Someone sends you a model file and asks what it costs to print. You haven’t sliced it, and you may not want to yet: the file is big, your slicer needs a minute to think about it, and the person asking wants an answer before they decide whether the job is worth having. What you do have is the part’s volume and how tall it stands on the plate.
That is enough to work with. This calculator takes those two figures plus the settings you already know you would use, and returns filament weight, filament length, print time, layer count, material cost, and the total for the job. Treat it as a planning number for the moment before you slice. Once you have sliced, the slicer wins.
Estimate filament weight, length, cost, and print time from your model volume and print settings — for PLA, PETG, ABS, TPU, and nylon.
How this is calculated
This tool never reads your STL. It takes the solid-volume figure your own slicer already shows you and applies published filament densities plus stated printing assumptions to estimate weight, length, cost, and time.
Material fraction = your infill % + (100% - infill %) x an estimated shell fraction from your wall count.
Printed volume = model volume x material fraction x (1 + your failed-print buffer).
Weight = printed volume x the density of your chosen material.
Print time = (printed volume / an estimated volumetric flow rate for your quality preset, material, and nozzle) + a per-layer overhead based on model height + a fixed warm-up allowance.
Densities are manufacturer datasheet averages: PLA 1.24, PETG 1.27, ABS 1.04, TPU 1.21, nylon 1.14 grams per cubic centimeter.
The shell fraction, flow rates, material speed factors, and per-layer overhead are my own planning assumptions, not a published spec sheet. They come from how FDM printing behaves in practice, tuned conservatively rather than to a best-case printer.
Your slicer will give you a more precise number once you actually slice the model, because it can see the real geometry and travel paths. This tool is for the planning stage before you have that: quoting a job, budgeting filament for a run, or deciding if a print is worth the machine time.
Where do I find my model's volume?
Every mainstream slicer shows it before you slice: Cura and PrusaSlicer show a "Volume" figure in the model information panel, Bambu Studio shows it in the object properties. That number is the solid volume of the model at 100% infill, which is exactly what this tool wants as a starting point.
Why does the estimate change with wall count, not just infill?
Because the walls and top/bottom layers print solid regardless of your infill setting. A part at 5% infill with 6 walls still uses meaningfully more plastic than the same part with 2 walls, because the shell itself is thicker. This tool estimates that shell contribution from your wall count so a low-infill, many-walled part is not underestimated.
Why is the time estimate different from my slicer?
Your slicer reads the actual geometry, travel moves, retractions, and cooling pauses for your specific model and calculates from there. This tool only has your reported volume and height, so it applies typical flow rates and a per-layer overhead instead. Treat this as a planning figure for before you have a sliced model, not a replacement for the slicer's own estimate once you do.
What is the failed-print buffer for?
Filament budgets that assume every print succeeds on the first try are fiction. Bed adhesion failures, spaghetti, and test prints all consume material that never becomes the finished part. 10% is a reasonable starting point for a dialed-in printer; push it higher for a new material, a new printer, or an unsupported bridge-heavy design.
Does this account for supports?
Not directly. Support material is real filament and real time that this tool has no way to see from a single volume figure, since support geometry depends entirely on the model's overhangs. If your design needs significant supports, add that volume to your model-volume input yourself, or lean on the failed-print buffer as a rough stand-in.
Why infill percentage alone gets this wrong
Most print calculators you’ll find online estimate material from infill percentage and nothing else. Set 20% infill, and the tool multiplies your part volume by 0.2. That is tidy, and it falls apart on exactly the parts people most want a fast quote for.
Walls print solid, whatever the infill slider says. A part with six perimeters at a 0.4 mm nozzle is carrying real thickness of solid plastic around every vertical surface, and the infill setting has no bearing on that plastic at all. Think about a loaf of bread. You can bake the crumb as open and airy as you like, and the crust is still the crust. Bake a thicker crust and you have used more dough, however many holes are in the middle.
Here is what that costs you in practice. Take a 45 cm³ bracket, roughly the bulk of a golf ball, at 5% infill in PLA. With two walls this tool puts it around 12 g. Same part, same 5% infill, six walls instead of two: around 19 g. More than half again as much material, driven entirely by a setting an infill-only calculator never asks about. Quote the six-wall part off the two-wall number and you have under-quoted your plastic by more than a third. The shell model here sizes the solid perimeter and top and bottom skins first, then applies your infill percentage to whatever volume is actually left inside.
Finding your model volume
The figure the calculator wants is the volume of the solid part, the “if this were printed 100% solid” number. Bounding box and file size are different numbers, and neither will work here.
PrusaSlicer and OrcaSlicer both show it, and so does Bambu Studio: load the model, select it, and read the object information panel. Any CAD tool will give you the same thing from a solid’s properties, whether you work in Autodesk Fusion, FreeCAD, or whatever your shop pays for. Plenty of model listings publish it on the download page as well, which is often the fastest route when the file is somebody else’s.
One trap worth naming, because it is the easiest error to make here: most of those tools report in cubic millimetres and this calculator wants cubic centimetres. A 45,000 mm³ part is 45 cm³. Divide by a thousand. Getting it backwards produces a quote a thousand times too large, which is at least an obvious sort of wrong rather than a quietly expensive one.
Print height is the vertical dimension in the orientation you actually intend to print. If you are laying a tall part on its side to avoid supports, use the height it has lying down, because layer count is what drives the time estimate.
Which numbers are published and which ones I chose
Most calculators in this category hand you one confident figure out of a formula they never show you. I would rather tell you which parts of this are documented and which parts are my judgment, so you know which parts to argue with.
Published. The filament densities: PLA 1.24, PETG 1.27, ABS 1.04, TPU 1.21, nylon 1.14 grams per cubic centimetre. Those are averages taken from manufacturer datasheets, and they are why switching a job from PLA to PETG changes your weight without anything changing about the geometry. Your particular spool may sit a percent or two off its datasheet, and filled filaments such as wood, glow, or carbon-reinforced sit further off than that, sometimes considerably.
Assumed. Everything else: the shell fraction derived from wall count, the volumetric flow rate behind each quality preset, the speed factors that make TPU slower than PLA, and the fixed overhead added per layer. These are planning heuristics I picked to behave sensibly across ordinary hobby settings. They are stated as heuristics because that is what they are, and a printer tuned hard in either direction will pull the results along with it.
Where this will drift from your slicer
Time is where the gap opens first. The estimate here models extrusion from a flow rate and adds a fixed cost for each layer. It cannot see travel moves across a plate holding forty small parts, the slowdown through tight perimeters on a detailed model, or the minimum layer time your printer holds on a small top surface so the plastic has a chance to cool. Tall thin parts and crowded plates are where it drifts most. A single chunky part with simple geometry is where it lands closest.
Supports are the honest hole in it. A volume figure says nothing about overhangs, so nothing in the inputs tells the tool whether your part needs a support structure or floats through the whole print untouched. If yours needs supports, add that material yourself on top of the estimate. A light tree support under a modest overhang is a small addition. An unsplit figurine with arms out can add a third again on top of the part itself. Brims, rafts, and purge towers on a multicolour print work the same way: real plastic, invisible to a volume number.
It answers a different question from the one your slicer answers, at the point in the day when slicing the file isn’t convenient and someone still wants a number. Once the file is sliced, use the slicer’s figure and forget this one.
Everything here runs in your browser, and nothing you enter is sent anywhere or stored.
You came here to price a print, so this bit is optional reading. This estimator is a live example of the kind of custom tool I build into a business’s own website, so a visitor gets a real number on the page instead of waiting on a callback. If something like it would earn its place on yours, book a short call.

Leave a reply