Markup is the profit you add on top of cost, as a percentage of cost: a $20 product sold at $40 has a 100% markup and a 50% margin. Enter your cost and either a markup, a target margin or a selling price, and this free markup calculator gives you the other two. It also takes off card fees, shipping and discounts, so you see the profit you keep.
Markup calculator
Results update as you type. Example values are filled in.
Price, markup and margin
| Selling price | $40.00 |
|---|---|
| Markup | 100.00% |
| Gross margin | 50.00% |
| Gross profit per unit | $20.00 |
After discount, fees and shipping
| Customer pays | $40.00 |
|---|---|
| Payment fees | $1.46 |
| Profit you keep | $18.54 |
| Margin you keep | 46.35% |
| List price to keep a 50.00% margin after costs | $43.10 |
| Largest discount before a loss | 47.73% |
Nothing you type is stored or sent anywhere. The calculator runs in your browser.
How to use the markup calculator
- Enter your cost per unit. Use the landed cost: the product plus the inbound freight and duty to get it to you.
- Pick what you know: a markup %, a target margin %, or a selling price. The calculator works out the other two.
- Check the costs per order. The payment fee is pre-filled with Shopify's Basic plan rate for US online cards. Change it to your own rate, and add any shipping and packing you pay and any discount you plan to run.
- Read profit you keep and margin you keep. Those are the numbers to plan with, not the gross figures.
The calculator treats each order as one unit. If customers usually buy several items, the fixed fee is spread across them, so your real profit per unit will be a little higher.
How it works: the markup and margin formulas
These are the formulas the tool runs, so you can check any answer by hand. C is cost, P is the selling price, m is markup and g is gross margin, both as decimals.
- Markup: m = (P − C) ÷ C
- Gross margin: g = (P − C) ÷ P
- Price from markup: P = C × (1 + m)
- Price from margin: P = C ÷ (1 − g)
- Markup to margin: g = m ÷ (1 + m). Margin to markup: m = g ÷ (1 − g)
Then it takes off the costs of making the sale. With a discount d, a payment fee rate f, a fixed fee F per order and shipping cost H:
- Customer pays: S = P × (1 − d)
- Payment fees: S × f + F
- Profit you keep: S − C − H − (S × f + F)
- List price to keep your margin after costs: (C + H + F) ÷ (1 − f − g), then divided by (1 − d) if you plan a discount
- Largest discount before a loss: 1 − (C + H + F) ÷ (P × (1 − f))
The default fee of 2.9% + 30¢ is the US online card rate for the Basic plan on Shopify's pricing page (Grow is 2.7% + 30¢, Advanced 2.5% + 30¢). Stripe's standard US rate for domestic cards is also 2.9% + 30¢. Both were checked on October 4, 2026; rates change, so confirm yours in your payments settings.

Worked example: pricing a $20 product
Say a candle costs you $20 landed and you want a 100% markup. You pay $0 for shipping because the customer pays it at checkout, and you sell through Shopify Payments on the Basic plan.
- Price: $20 × (1 + 1.00) = $40.00
- Gross margin: ($40 − $20) ÷ $40 = 50%
- Payment fees: $40 × 0.029 + $0.30 = $1.16 + $0.30 = $1.46
- Profit you keep: $40 − $20 − $1.46 = $18.54, a margin of $18.54 ÷ $40 = 46.35%
- To keep a full 50% after fees: ($20 + $0.30) ÷ (1 − 0.029 − 0.50) = $20.30 ÷ 0.471 = $43.10
- Largest discount before a loss: 1 − $20.30 ÷ ($40 × 0.971) = 1 − 0.5227 = 47.73%
Now run a 20% off sale. The customer pays $32.00, fees are $32 × 0.029 + $0.30 = $1.23, and you keep $32 − $20 − $1.23 = $10.77. A 20% discount took 42% of your profit ($18.54 down to $10.77). That is why the discount field is in the tool.
Markup to margin conversion table
Each row uses g = m ÷ (1 + m). People mix these two up all the time: a 50% markup is only a 33.33% margin.
| Markup | Gross margin | Price on a $10 cost |
|---|---|---|
| 25% | 20.00% | $12.50 |
| 50% | 33.33% | $15.00 |
| 75% | 42.86% | $17.50 |
| 100% | 50.00% | $20.00 |
| 150% | 60.00% | $25.00 |
| 200% | 66.67% | $30.00 |
| 300% | 75.00% | $40.00 |
What a good markup looks like, and what to do next
There is no single right markup. The right one leaves enough margin, after fees and shipping, to pay for getting the sale. Three checks:
- Does it cover your ads? Take the margin you keep and run it through our break-even ROAS calculator. If you need a return on ad spend you have never hit, the markup is too thin for paid traffic.
- Does it survive refunds and the rest? Our Shopify profit margin calculator adds refunds, app costs and ad spend per order on top of what this tool covers.
- Can you raise order value instead? The fixed 30¢ fee hurts less on bigger baskets. The AOV calculator shows what a bundle or free-shipping threshold would add.
If the margin is fine but sales are slow, price may not be the problem. Our guide to Shopify conversion rate optimization shows how to find where buyers drop off.
Margins right, sales still low? With Website Sales Fix we read your site page by page and find what is losing you sales, with the fix written out.
FAQ
How do you calculate markup?
Subtract the cost from the selling price, divide by the cost, and multiply by 100. A product that costs $12 and sells for $30 has a markup of ($30 − $12) ÷ $12 = 1.5, or 150%. To go the other way, multiply the cost by one plus the markup: $12 × 2.5 = $30.
What is the difference between markup and margin?
Both use the same profit, but markup divides it by the cost and margin divides it by the selling price. So markup is always the bigger number. A $10 item sold for $15 has a 50% markup and a 33.33% margin. Use margin when you plan profit, because fees and discounts come off the price.
How do I convert margin to markup?
Divide the margin by one minus the margin, using decimals. A 40% margin is 0.40 ÷ 0.60 = 0.667, a 66.67% markup. To convert markup to margin, divide the markup by one plus the markup: a 100% markup is 1 ÷ 2 = 0.5, a 50% margin. The table above lists common pairs.
Should I include shipping in my cost?
Include inbound freight and duty in your cost per unit, because you pay them to get stock in. Put outbound shipping you pay for, such as free delivery, in the shipping field, so the tool takes it off each sale. If the customer pays shipping at checkout and it covers your label, leave the field at zero.
Why is my real margin lower than my markup suggests?
Because card fees, discounts and free shipping come off the selling price after you set it. On Shopify's Basic plan, US online card payments cost 2.9% plus 30 cents, so a $40 sale loses $1.46 before anything else. The calculator's "margin you keep" line shows the figure after those costs.
Laisser un commentaire :