How to price 3D prints for a print shop
Short answer: For most print shops, the simplest pricing that works is this: take the material a part uses and multiply its cost by a markup based on how complex and detailed that material is to print. On FDM, add a charge for support material. Resin works differently: SLA supports are the same resin as the part, so you charge for removing them and sanding the marks, not for the material. Price post-processing separately, per part or by surface area. Add a small startup fee or order minimum, quantity discounts, and a rush surcharge, and you have a quote a customer can understand in seconds.
This guide is for small and mid-size shops that quote by hand. It starts with the simple method (our recommended default), then covers a margin check and links to a deeper guide for each technology.
Using AI to help. Along the way you'll find prompts you can paste into ChatGPT, Claude, or any other AI assistant. Replace the [bracketed] parts with your own numbers. AI assistants sometimes get arithmetic wrong, so every prompt asks to see the math. Check it before any number goes on a quote.
Numbers marked illustrative are example inputs, not market data. Every other figure links to its source.
The simple method: material × markup, plus supports and post-processing
Part price = part material used × material cost × material markup
+ support material used × support price (FDM only; see SLA below)
+ post-processing (per part, or per cm² of surface area)
Order price = sum of parts
+ startup fee (or raise it to your order minimum)
− quantity discount
× rush multiplier (if any)In practice you set a selling price per gram (or per mL for resin) once for each material, and every quote becomes "grams × price per gram," plus FDM supports and finishing. Pricing by material amount is common. One university fab lab publishes external rates of $0.17 per gram for FDM and $0.17 per cm³ for SLS nylon (UMass ADDFab), though academic rates aren't commercial benchmarks.
AutoQuote3D's quote widget does this math on every upload. It uses your price per gram (or per mL for resin) for each material, FDM support material, your minimum job price, and your rush percentages. You can try a sample quote (opens in new tab) without making an account.
Pick markup tiers by material complexity and detail
Don't use one markup for everything. Tier each material by how hard it is to print well and how much detail the job needs. Harder materials fail more and need more attention, so they get a higher markup:
There's no published standard multiplier. One FDM seller uses "filament cost x 5 then plus $2," rounded up to the nearest $5 (r/3Dprintingbusiness, anecdotal). Start with your own numbers, then adjust with the cost check below.
AI prompt: build your material markup table
You're helping me set prices for my 3D printing shop. Build a material pricing table from the details below.
My markup tiers (multiplier on material cost):
- Standard: [markup multiplier]
- Engineering: [markup multiplier]
- Specialty: [markup multiplier]
My materials (one per line):
- [material] | [technology: FDM, SLA, SLS, MJF, or metal] | [my cost per kg, or per liter for resin] | [how hard it is to print: easy, needs tuning, or difficult] | [typical detail level: normal or fine]
- [material] | [technology] | [cost per kg or liter] | [difficulty] | [detail level]
Instructions:
1. Put each material in a tier and give a one-line reason.
2. Convert my cost to cost per gram (or per mL for resin), then apply the tier markup to get a selling price per gram or per mL.
3. Show your math for every row.
4. Output a table: Material | Technology | Tier | Cost per g or mL | Markup | Selling price per g or mL.
5. If anything is missing or unclear, ask me before filling it in. Don't make up costs or markups.Supports: charge for material on FDM, for the work on SLA
- FDM: supports use real material and time, so price support material per gram like any other material. Give soluble supports their own price, since Formlabs lists support material at $100–$200/kg against $20–$150/kg for FDM filament (Formlabs).
- SLA (resin): supports print in the same resin as the part, so don't add a separate support-material line. Let your price per mL cover that resin, and don't underestimate it. In Formlabs' example, supports and raft were about 30% of the resin used (37.7 mL on top of 89.2 mL of parts) (Formlabs Developer Portal). Charge for the work instead: support removal and sanding the support marks, as post-processing add-ons. You can also offer a cheaper "supports left on" option for customers who'd rather remove them and save money.
- SLS and MJF: the surrounding powder holds the parts up, so there's no support line. Depowdering and finishing are your post-processing.
- Metal: supports print in the same metal and have to be cut and ground off, so removal belongs in post-processing. The metal guide covers it.
AI prompt: decide on a "supports left on" option for resin prints
I run resin (SLA) printers. Supports print in the same resin as the part, so I don't charge for support material. I charge for support removal and sanding as add-ons instead. I'm thinking about offering two options:
- Option A: supports removed [and support marks sanded]
- Option B: supports left on, at a lower price, and the customer removes them
My numbers:
- Labor rate: [labor rate per hour]
- Time to remove supports: [minutes per part]
- Time to sand support marks: [minutes per part]
- Typical customers: [who they are, for example hobbyists, engineers, or dental labs]
- How the parts ship: [packaging and shipping method]
Help me decide:
1. What Option A and Option B should cost per part, based only on my numbers. Show your math.
2. Which kinds of parts or customers Option B suits, and which it doesn't (for example, parts with fragile features).
3. Risks of Option B, such as damage in shipping or marks left by poor removal, and how to cut them.
4. A one-sentence description of each option that I can put on a quote.
If you need information I haven't given you, ask before answering. Don't invent prices.Price post-processing separately: per part or by surface area
Keep finishing out of your material markup and show it as its own line, so customers who want raw parts don't pay for it.
- Per part (flat fee): for steps that take about the same time whatever the size, like basic support removal, inspection, inserts, or bagging.
- By surface area: for steps that scale with the outside of the part, like sanding, painting, coating, smoothing, or dyeing. Real price lists use it: DigiFabster's published MJF example includes a charge of $0.02 per cm² of surface area (DigiFabster).
On resin jobs, support removal and sanding are the add-ons that replace a support-material charge, so list them clearly on the quote.
AI prompt: price your post-processing services
Help me price post-processing for my 3D printing shop. For each service, decide whether it should be a flat fee per part or priced by surface area (per cm²), then work out the price.
My labor rate: [labor rate per hour]
My target markup or margin on labor: [markup or margin, and say which one it is]
Services:
- [service, for example support removal] | [minutes per part, or minutes per 100 cm² of surface] | [consumables cost per part or per 100 cm²]
- [service, for example sanding] | [time] | [consumables]
- [service, for example painting] | [time] | [consumables]
Instructions:
1. Choose per part or per cm² for each service and explain why in one line. Steps that take about the same time on any part are per part. Steps that scale with the part's outside surface are per cm².
2. Calculate each price and show your math.
3. Output a table: Service | Pricing basis | Price | Math.
4. If a time or cost is missing, ask me for it. Don't guess.Worked example: a PETG bracket on FDM (all numbers illustrative)
If the customer also wants it painted, an illustrative $0.03/cm² rate on 300 cm² of surface adds $9.00 as its own line.
Print the same bracket in resin and the support-material line goes away. The per-mL rate covers all the resin, supports included. Support removal and sanding become add-ons, with a cheaper supports-left-on price offered next to them.
Startup fees, minimums, quantity breaks, and rush
- Startup fee or minimum: keeps tiny jobs worth doing. TAKT 3D publishes a $5 setup fee per order and a $30 order minimum (TAKT 3D FAQ), and Xometry Europe uses a €30 minimum order value (Xometry FAQ).
- Quantity breaks: one UK bureau publishes discounts on multiples of the same file, starting at 5% for 2+ and 10% for 10+ (3D People UK).
- Rush: TAKT 3D publishes +30% for 3-business-day expedited service (minimum $35) and +60% for 1–2-day rush (minimum $60) (TAKT 3D FAQ).
Why the simple method usually wins
This is guidance from shops that quote every day, not a study:
- It stays competitive. Billing every variable (machine hours, electricity, wear, admin minutes, failure buffers) stacks up costs and prices you above nearby shops. Sensible material tiers keep you in range.
- Customers get it. "This material, this much of it, plus finishing" is easy to explain, and when quotes differ you can point to the line that changed.
- It's fast. You can quote from the slicer's material estimate in a minute, without a per-printer machine rate.
- It works across technologies, from desktop FDM to industrial SLS: price per gram or mL by material, add supports where they're a separate material (FDM), then finishing.
The catch is that a simple price can hide a job that loses money, so check your tiers now and then.
AI prompt: compare your prices with local competitors
Compare my 3D printing prices with competitors' published prices. Use only the numbers I paste below.
My prices:
[paste your price per gram or mL by material, support pricing, post-processing fees, startup fee or minimum, and rush pricing]
Competitor price lists (one block per competitor):
[competitor name]
[paste their published prices, or a quote they gave for a similar job]
Sample jobs to compare:
- [part description] | [material] | [grams or mL] | [finishing needed] | [quantity]
- [part description] | [material] | [grams or mL] | [finishing needed] | [quantity]
Instructions:
1. Work out what each sample job would cost from me and from each competitor. Show your math.
2. If a competitor doesn't list something, write "not listed." Don't estimate or fill in their prices.
3. Note differences in what's included, such as finishing, shipping, minimums, or rush.
4. Output a table per sample job, then a short summary of where I'm higher or lower, and by how much.
5. Ask me if anything is unclear before you start.When to go deeper: check your margins with a full cost model
You don't need a full cost model to quote. Use one to check that your markups still cover real costs, especially on long prints, specialty materials, and powder or metal work.
- Machine-hour rate. Add up the machine's lifetime fixed costs (printer, service contract, installation, maintenance) and divide by the parts or hours it will actually produce (Formlabs). Recalculate when uptime changes. One vendor suggests doing it quarterly (MFG Calcs).
- Labor. Prep, finishing, and admin (quoting, messages, file fixes, packing), which practitioners call the most-missed cost (r/3Dprintingbusiness, anecdotal).
- Failure allowance. Gross up instead of adding a percentage: cost ÷ (1 − failure rate). A 10% failure rate adds about 11% (MFG Calcs).
- Support resin on SLA. Since you don't bill supports as their own line, check that your price per mL covers the resin they use.
- Markup vs. margin. Markup is profit ÷ cost, and margin is profit ÷ price. A 100% markup is a 50% margin, and treating a 40% margin target as a 40% markup leaves you at 28.6% (Shopify).
Checking the example (illustrative). Say the bracket above takes 8 hours on a printer you cost at $1/h, plus 20 minutes of hands-on time at $30/h. With $3.38 of filament (135 g of part and support at $25/kg) and an 8% failure allowance, the true cost is ($3.38 + $8 + $10) ÷ 0.92 ≈ $23.24, so the $26.88 quote earns a margin of about 13.5%. If that's below target, raise the material's tier, the support-removal fee, or the startup fee, without billing every line to the customer.
AI prompt: sanity-check a quote before you send it
Check this 3D printing quote before I send it to a customer. Don't change my prices. Point out problems and explain them.
The job: [technology] | [material] | [grams or mL] | [quantity] | [finishing requested] | [lead time]
My quote lines:
[paste each line: description, quantity, unit price, line total]
My real costs for this job (fill in what you know):
- Material cost: [cost]
- Machine time: [hours] at [machine rate per hour]
- Hands-on time: [minutes] at [labor rate per hour]
- Failure rate: [failure rate %]
- Target margin: [target margin %]
Instructions:
1. Check the arithmetic on every line and the total. Show your math.
2. Work out my true cost (gross up for failures as cost ÷ (1 − failure rate)), then my margin on this quote as profit ÷ price. Tell me whether it meets my target.
3. Flag anything that looks missing, such as support material on FDM, support removal or sanding on resin, other post-processing, a startup fee or minimum, or a rush charge if the lead time is short.
4. If you need a number I haven't given you, ask for it. Don't assume one.Pricing by technology: the series
Each part applies the simple method to one technology, then covers the full cost detail.
FDM. Long, slow prints are where tiers need checking. One seller's 288 g, 11.6-hour print came to $14–$34 in a weight-only calculator but about $80 with time and fees included (r/3Dprintingbusiness, anecdotal). → How to price FDM 3D prints
SLA and resin. Supports are the same resin, so there's no support-material line. Cover support resin and waste (tank and platform losses) in your per-mL price, count washing and curing (Formlabs), and charge support removal and sanding as add-ons, with an optional cheaper supports-left-on price. → How to price SLA resin prints
SLS and MJF. Price per gram of powder by material, then account for powder refresh and how full your builds really are. Published packing densities are vendor figures, and they don't agree. → How to price SLS and MJF parts
Metal (LPBF and binder jet). Machine time and post-processing dominate. In one study cited by NIST, machine cost averaged 62.9% of part cost and material 18.0% (NIST SP 1176), so this is where a pure material markup is weakest.
Automating the simple method
Once your prices per gram or mL, FDM support price, and finishing fees are set, an instant quote tool can apply them to every upload so customers see a price right away. Test any tool on a few of last month's real jobs first.
AutoQuote3D's pricing setup follows the simple method closely. Here's what its own pages describe:
- Per-material pricing: each material has a startup cost, a price per gram, and a curve exponent. An exponent of 1 keeps pricing linear. Below 1, larger prints get progressively cheaper (tutorials). Resin uses price per mL (material pricing setup).
- Supports: FDM support material is priced per gram, and each FDM material can be paired with a support material such as PVA or BVOH (tutorials). For SLA, the quoting engine estimates support structures when it calculates a quote (SLA update).
- Bulk discounts by technology, or per material so an expensive powder and a cheap one don't share one discount.
- Minimums and rush: a minimum job price (SLS quoting), and urgency options that add a percentage (for example, 60% for 0–1 day) or give a discount for slower delivery (tutorials).
- Post-processing: add-on services on the Service Bureau plan can be a flat fee or a percentage of the part price, charged per part or per order and limited to a technology or a material (SLA update; pricing). That covers resin add-ons like support removal or sanding. Surface-area pricing for add-ons isn't listed on the site.
- Going deeper: machine-time pricing for SLS, MJF, DMLS, SLM, and binder jet is opt-in. A printer without an hourly rate or fixed cost prices as before (powder-bed machine time).
- Set it up by chat: with the Claude connector or the ChatGPT app, you can type changes like "Give our PA12 its own bulk discount: 5% off at 10 parts and 10% off at 50" (AutoQuote3D for AI agents).
To see the customer side, read how customers get an instant price when they upload an STL.
If you want to try it with your own rates, you can set up your shop free without a card. Plans start at $25/month, and new subscribers get a 14-day trial when they're ready to collect payments (pricing).
AI prompt: write a friendly quote reply to a customer
Write a short, friendly email replying to a customer with their 3D printing quote.
Customer name: [name]
What they asked for: [part, material, quantity, finish, deadline]
Quote lines: [paste each line and the total]
Lead time: [lead time]
Options they can choose: [for example: supports left on for [price] less, painting for [price] more, rush for [price] more]
What I need from them to start: [for example: a reply to confirm, payment, or a final file]
Instructions:
- Plain, warm language. Under 150 words.
- Explain each line in a few words so the price makes sense, without jargon.
- Present the options as choices, with the price difference for each.
- Don't add discounts, guarantees, or promises I haven't listed.
- If something above is missing, ask me instead of making it up.FAQ
What's the simplest way to price 3D prints?
Multiply the material a part uses by that material's selling price per gram (or per mL), add FDM support material, and price post-processing as its own line. Then apply a startup fee or minimum, quantity discounts, and rush as needed.
What markup should I use on material?
There's no standard number. Tier materials by how hard they are to print and the detail the job needs, with higher markups for harder ones, then check the tiers against your real costs.
How do I charge for support material?
On FDM, charge supports by weight, with soluble supports priced separately. On SLA, supports are the same resin as the part, so don't add a support-material line. Cover that resin in your per-mL price, charge for support removal and sanding as add-ons, and consider a cheaper option with supports left on. SLS and MJF parts don't need supports.
Should I price post-processing per part or by surface area?
Use a flat per-part fee for steps that take about the same time on any part. Price by surface area for steps that scale with the part's surface, like sanding or painting.
Can I use ChatGPT or Claude to price 3D prints?
Yes, as a helper. AI assistants can help you build a markup table, check a quote's arithmetic, compare price lists you paste in, and draft a reply to a customer. They don't know your costs or your local market, so give them your own numbers, ask them to show their math, and check it before you quote.
Do I need a machine-hour rate to price 3D prints?
Not to quote. It's for checking that your material markups still cover printer time on long jobs and expensive machines.
Should I charge a minimum order or setup fee?
Yes, if small jobs cost more to prep and handle than they bring in. TAKT 3D, for example, publishes a $5 setup fee and a $30 order minimum (TAKT 3D).
How much should I charge for rush jobs?
Add a percentage to your normal price. TAKT 3D publishes +30% for 3-day expedited service and +60% for 1–2-day rush, with minimums (TAKT 3D).
What's the difference between markup and margin?
Markup is profit as a share of cost. Margin is profit as a share of the selling price, so a 100% markup equals a 50% margin (Shopify).