Free Ecommerce Tool

Markup & Margin Calculator

Enter your cost and any one of selling price, markup % or margin %. The calculator solves for the rest, then adds fulfilment, shipping, fees and returns so you see contribution margin, not just the textbook number.

Solve For Price, Profit, Markup and Margin

Two inputs are enough. Add the ecommerce cost lines underneath and it also returns what the order actually contributes.

Fields marked are required. Everything else is optional and refines the result.

Ecommerce cost lines

Selling price
Gross profit per unit
Markup %
Margin %
Total variable cost per order
Contribution profit per order
Contribution margin %
Break-even price

The two formulas, side by side

Margin = (price − cost) ÷ price. Markup = (price − cost) ÷ cost. Same gross profit on top, two different denominators underneath. Everything on this page follows from that one difference. Contribution margin then subtracts fulfilment, shipping, percentage fees and the returns allowance before dividing by price.

Same Profit, Two Numbers, One Expensive Mistake

Two ratios, built from the same pair of inputs. Swapping one for the other underprices the product every time.

Markup looks up from cost

It answers: how much did I add on top of what I paid? The denominator is cost, so markup has no ceiling. A 300% markup is ordinary in beauty and accessories.

Margin looks down from price

It answers: what share of each revenue dollar do I keep? The denominator is price, so margin can never reach 100% while cost is above zero.

Markup is always the larger figure

For any profitable product, markup exceeds margin, because cost is always smaller than price. If someone quotes a margin above its markup, one of the two labels is wrong.

The mistake, in one line

Someone asks for a 50% margin. The buyer applies a 50% markup instead. On a $10.00 cost, the correct price is $20.00 and the price actually set is $15.00. The product ships at a 33.3% margin, a third below target, on every unit until someone notices.

On a $10.00 cost50% markup applied50% margin appliedDifference
Selling price$15.00$20.00$5.00 per unit
Gross profit$5.00$10.00Double
Resulting markup50%100%Markup is the bigger number
Resulting margin33.3%50%16.7 percentage points
On 5,000 units$25,000 gross profit$50,000 gross profit$25,000 forgone

Markup To Margin Conversion Table

Margin = markup ÷ (1 + markup). Prices in the third column assume a $10.00 cost so you can sanity-check a row against a number you can do in your head.

Markup %Equivalent margin %Price on a $10.00 costGross profit
5%4.8%$10.50$0.50
10%9.1%$11.00$1.00
15%13.0%$11.50$1.50
20%16.7%$12.00$2.00
25%20.0%$12.50$2.50
30%23.1%$13.00$3.00
40%28.6%$14.00$4.00
50%33.3%$15.00$5.00
60%37.5%$16.00$6.00
75%42.9%$17.50$7.50
100%50.0%$20.00$10.00
150%60.0%$25.00$15.00
200%66.7%$30.00$20.00
300%75.0%$40.00$30.00

Margin To Markup Conversion Table

Markup = margin ÷ (1 − margin). This is the direction most people get wrong, because the markup needed climbs steeply once margin passes 50%.

Target margin %Markup you must applyPrice on a $10.00 cost
10%11.1%$11.11
15%17.6%$11.76
20%25.0%$12.50
25%33.3%$13.33
30%42.9%$14.29
35%53.8%$15.38
40%66.7%$16.67
45%81.8%$18.18
50%100.0%$20.00
55%122.2%$22.22
60%150.0%$25.00
65%185.7%$28.57
70%233.3%$33.33
75%300.0%$40.00
80%400.0%$50.00

Three rows worth memorising

A 25% markup is a 20% margin. A 50% markup is a 33.3% margin. A 100% markup is a 50% margin. Doubling the cost does not give you a 100% margin — it gives you exactly half, and no amount of markup ever reaches 100% margin.

Gross Margin Is Not What The Order Leaves Behind

A textbook margin calculator stops at cost of goods. An ecommerce order carries four more variable costs, each charged per order rather than per dollar of revenue.

Fulfilment per order

Pick, pack, packaging materials and the labour behind them. It is close to flat per order, so it eats a far larger share of a $20 order than a $200 one.

Outbound shipping

Charged on chargeable weight, not on price. Light, bulky goods are billed on volume, so a low-value bulky SKU can be the worst line in the range.

Marketplace and payment fees

These scale with price, so they shave a fixed number of percentage points off every order. Referral, listing and gateway fees stack rather than replace each other.

Returns and write-offs

A returned order loses the outbound shipping, the return leg and often the resale value. Carrying an allowance is more honest than pretending the rate is zero.

Signs your margin figure is the textbook one

  • The cost field holds an ex-factory or supplier invoice price, not landed cost
  • Nothing in the model changes when order volume or basket size changes
  • Free shipping thresholds do not appear anywhere in the calculation
  • The same margin is quoted for the marketplace channel and the own-site channel
  • Returns are handled as a footnote rather than a cost line
  • Peak-season surcharges never move the number

If three or more of these are true, the margin on your pricing sheet is describing a product, not an order.

An Imported Skincare SKU Sold in the US

A serum with a $4.10 factory price. Inbound freight, duty and inbound handling add $2.10, so landed cost is $6.20 per unit. It retails at $18.90 on a US marketplace.

Markup 204.8% $12.70 profit ÷ $6.20 cost
Gross margin 67.2% $12.70 profit ÷ $18.90 price
Contribution margin 23.4% After fulfilment, shipping, fees, returns
Kept per order $4.43 Before marketing and overheads
FieldValue enteredWhere it comes from
Landed cost per unit$6.20$4.10 ex-factory + $2.10 freight, duty and inbound handling
Selling price$18.90Marketplace listing price, inclusive of the promo it usually runs at
Fulfilment cost per order$1.85Pick, pack and packaging from the 3PL rate card
Outbound shipping per order$3.40Blended domestic rate across the destination market
Marketplace + payment fees12%Referral commission plus payment gateway, as a share of price
Returns allowance4%Observed return rate applied against price
LineAmountShare of the $18.90 priceRunning total kept
Selling price$18.90100.0%$18.90
Less landed cost−$6.2032.8%$12.70
Less fulfilment−$1.859.8%$10.85
Less outbound shipping−$3.4018.0%$7.45
Less fees at 12%−$2.2712.0%$5.18
Less returns at 4%−$0.764.0%$4.43
Contribution profit$4.4323.4%$4.43

What the three numbers are actually for

The 204.8% markup is how you set the price from the cost. The 67.2% gross margin is what appears in the accounts above the fulfilment line. The 23.4% contribution margin is the only one of the three that tells you whether spending $4.00 to acquire this order was a good idea.

Every Formula This Calculator Uses

Each one runs in your browser exactly as written. Cost of goods sold and cost per unit both sit behind the cost field.

Gross profit

price − cost = gross profit

Per unit. This is the numerator shared by both ratios below.

Margin

(price − cost) ÷ price × 100

Undefined when price is zero. The calculator shows a dash rather than a number.

Markup

(price − cost) ÷ cost × 100

Undefined when cost is zero. A dash appears instead of an infinite value.

Price from markup

cost × (1 + markup ÷ 100)

Used when you enter a markup target instead of a price.

Price from margin

cost ÷ (1 − margin ÷ 100)

Requires a margin below 100%. At 100% the divisor is zero and no price exists.

Contribution margin

(price − variable costs) ÷ price × 100

Variable costs are cost, fulfilment, shipping, fee % and returns %.

Edge cases, handled on purpose

A zero cost makes markup undefined and a zero price makes margin undefined, because both mean dividing by zero. The calculator prints a dash in those cells instead of a stray infinity symbol. A margin of 100% or more is rejected, since no finite price produces it.

Getting An Answer You Can Price Against

1. Build landed cost first

Factory price, inbound freight, duty, insurance and inbound handling, divided by units received. Ex-factory cost alone flatters every figure downstream.

2. Choose what you already know

Price if the SKU is already listed, markup if you price off a cost multiple, margin if finance hands you a target to hit.

3. Add the order-level costs

Pull fulfilment and shipping from a 3PL rate card or recent invoices rather than estimating. Fees and returns go in as percentages of price.

4. Run it per channel

Marketplace, own site and retail carry different fee and shipping profiles. One blended number hides the channel that is losing money.

What goes wrong in a spreadsheet

  • A markup column gets labelled margin and nobody re-checks the formula
  • Percentage fees get applied to cost instead of price
  • The returns allowance is dropped because it made the sheet look bad
  • Old shipping rates survive a carrier change by months

What this page does instead

  • Shows markup and margin together so the two can never be confused
  • Applies fee and returns percentages to price, which is where they land
  • Prints the contribution margin next to the gross margin every time
  • Keeps every input visible instead of hiding it in a cell reference

Use the copy button to paste the whole result set into a pricing review or a supplier negotiation.

What To Do When Contribution Margin Comes Back Thin

A thin result is a signal about the order, not a verdict on the product. Four levers move it, and they move it by very different amounts.

Raise the price

The fastest lever and the riskiest. Every dollar added flows to contribution minus the fee percentage, so a 12% fee keeps 88 cents of it.

Cut landed cost

Supplier terms are the obvious route, but consolidating inbound freight and reviewing the duty classification often move more per unit.

Shrink the parcel

Shipping is billed on chargeable weight. Lower carton height and less void fill can cut the shipping line without touching the product.

Lift basket size

Fulfilment and shipping are close to flat per order. Two units in one parcel roughly halve their share of the price.

Before you sign off a price

  • Confirm whether the target you were given is a markup or a margin
  • Check the cost field is landed cost, and that the duty rate is current
  • Run the promotional price, not only the list price
  • Model the free-shipping threshold as a separate scenario
  • Compare contribution profit against your cost to acquire the order
  • Re-run it when carrier rates or marketplace commissions change

Nothing you enter leaves your browser, so pricing you are not ready to share stays local to your machine.

Pin Down The Costs Behind The Margin

The fulfilment and shipping figures are assumptions until you cost them properly. These pages replace them with real numbers.

Runs entirely in your browser

Every figure is calculated locally by JavaScript on this page. No pricing data is sent to Locad, nothing is stored, and there are no external requests while the calculator is open.

Markup and Margin Questions

Markup and margin measure the same profit against two different bases. Markup divides gross profit by cost, so it answers how much you added on top of what you paid. Margin divides gross profit by selling price, so it answers what share of each dollar of revenue you keep. On a $10.00 cost sold at $15.00, the gross profit is $5.00 either way, but the markup is 50% and the margin is 33.3%.
Margin is gross profit divided by selling price: (price minus cost) divided by price, multiplied by 100. At a $6.20 landed cost and an $18.90 selling price the gross profit is $12.70, and $12.70 divided by $18.90 is 67.2%. Margin can never reach 100% unless the cost is zero, because you are always dividing by the larger of the two numbers.
Markup is gross profit divided by cost: (price minus cost) divided by cost, multiplied by 100. At a $6.20 landed cost and an $18.90 selling price the gross profit is $12.70, and $12.70 divided by $6.20 is 204.8%. Unlike margin, markup has no upper limit, which is why healthy retail markups routinely read as figures above 100%.
A 100% markup gives a 50% margin. Doubling the cost is the single most misquoted conversion in retail pricing, because a lot of people assume doubling the cost produces a 100% margin. It does not. The general conversion is markup equals margin divided by one minus margin, so a 40% margin needs a 66.7% markup and a 60% margin needs a 150% markup.
Divide the markup by one plus the markup, both expressed as decimals. A 25% markup becomes 0.25 divided by 1.25, which is a 20.0% margin. A 50% markup becomes 0.50 divided by 1.50, which is a 33.3% margin. The conversion table on this page lists the common values, and the calculator does it in both directions as you type.
There is no single benchmark that holds across categories, channels and markets, and any page that gives you one number is guessing. What matters more is whether the margin you quote is a textbook gross margin or a contribution margin that already carries fulfilment, shipping, marketplace fees and returns. Judge the second number against your own overheads and customer acquisition cost.
Contribution margin is what a single order leaves behind after every cost that varies with that order, not just the cost of goods. It subtracts pick and pack, outbound shipping, marketplace and payment fees and a returns allowance on top of landed cost. It is lower than gross margin because gross margin ignores all of those, which is why a product with a comfortable gross margin can still lose money per order.
Use landed cost per unit if you want the answer to be usable. Landed cost includes the factory price plus inbound freight, duty, insurance and any inbound handling, divided by the units received. Ex-factory cost systematically overstates every margin figure you produce, and the gap widens on cross-border shipments where duty and freight are a real share of unit cost.
No. Every calculation runs in your browser using JavaScript on this page. Nothing you type is transmitted to Locad or to any third party, no figures are stored, and there are no server calls or external requests while you use the tool. You can close the tab and the numbers are gone.

Want Real Numbers In The Cost Fields?

Talk to Locad about fulfilment and shipping rates for your order profile, basket size and destination markets.