Margin vs Markup Calculator: See Both From Revenue & Cost

Margin and markup look interchangeable until they aren't — a 25% markup is NOT a 25% margin. This calculator runs the two side by side from the same revenue and cost so you can see the gap, plus the formulas to convert either way.

Revenue & Cost
$
The amount you receive from the sale.
$
What you paid (or it cost you to produce) — keep the same cost basis across comparisons.
Your estimate $—

Adjust the inputs and select Calculate for a full breakdown.

Compare Common Scenarios

How the numbers shift across typical situations for this calculator:

ScenarioMargin (% of revenue)Markup (% of cost)Gross profit
$100 / $60 (40% margin, 66.7% markup)40.00%66.67%$40.00
$75 / $60 (20% margin, 25% markup)20.00%25.00%$15.00
$200 / $100 (50% margin, 100% markup)50.00%100.00%$100.00

How This Calculator Works

Enter revenue and cost. The calculator shows the gross profit in dollars, the margin (profit as a share of revenue), and the markup (profit as a share of cost). The two figures use the same numerator and different denominators, so markup is always larger above zero. Use the conversion formulas at the bottom to translate between them in either direction.

The Formula

Profit Margin and Markup

Margin = (Revenue − Cost) / Revenue × 100

Markup = (Revenue − Cost) / Cost × 100 — the same profit measured against cost instead of revenue

Worked Example

Cost $60, sell for $100. Profit is $40. Margin = $40 / $100 = 40%. Markup = $40 / $60 = 66.7%. If a supplier quotes 'cost plus 25%', they mean a 25% markup, which gives a 20% margin (not 25%). To hit a 25% margin from a $60 cost, you'd need to mark up by 33.3% — sell for $80, not $75.

Key Insight

The single most expensive accounting mistake in retail and wholesale is mixing the two terms. Suppliers usually quote markup; income statements report margin; pricing software defaults vary. Whenever someone says 'we add a 30% margin to cost', stop and ask which one — at small percentages the difference is invisible, at 40%+ it's the difference between profit and loss. The conversion table in this calculator is the cheapest way to avoid that error: pin the formulas above the cash register, the warehouse PO terminal, and the catalog quote workflow.

Conversion formulas

Margin → Markup: markup = margin / (1 − margin). 20% margin = 25% markup. 50% margin = 100% markup.

Markup → Margin: margin = markup / (1 + markup). 25% markup = 20% margin. 100% markup = 50% margin.

Quick reference table: 10% markup ↔ 9% margin. 25% markup ↔ 20% margin. 50% markup ↔ 33.3% margin. 100% markup ↔ 50% margin. 200% markup ↔ 66.7% margin.

When to use which

Use MARGIN for: income statements, investor reports, KPI dashboards, board decks, year-over-year profitability comparisons.

Use MARKUP for: purchase orders, wholesale negotiations, manufacturing cost-plus contracts, price-setting from a known cost, ERP cost-of-goods workflows.

Common failure mode: a supplier quotes 'cost plus 30%' (markup), the retailer enters it into their POS as '30% margin', and prices end up 9 percentage points below what was intended. Audit your pricing workflow for which one your tools actually use.

Markup ↔ margin conversion

How a given markup translates to a margin (and vice versa). Same profit dollar, different denominator.

MarkupMarginExample ($60 cost)
10%9.1%$60 → $66, profit $6
20%16.7%$60 → $72, profit $12
25%20%$60 → $75, profit $15
33.3%25%$60 → $80, profit $20
50%33.3%$60 → $90, profit $30
66.7%40%$60 → $100, profit $40
100%50%$60 → $120, profit $60
200%66.7%$60 → $180, profit $120

Read either column to find its mate; the third shows the resulting price and profit on a $60 cost.

Frequently Asked Questions

Why is markup always bigger than margin?

Because markup divides profit by a smaller number. Margin's denominator is the sale price (which includes the profit); markup's is the cost (which excludes it). For any positive profit, the cost is smaller than the price, so the same profit divided by cost gives a bigger percentage.

How do I convert margin to markup?

Markup = margin / (1 − margin). A 20% margin = 0.20 / 0.80 = 25% markup. A 50% margin = 100% markup. The conversion blows up as margin approaches 100%, which makes sense — infinite markup means cost goes to zero.

How do I convert markup to margin?

Margin = markup / (1 + markup). A 100% markup (cost × 2) = 50% margin. A 25% markup = 20% margin. A 50% markup = 33.3% margin.

When should I think in margin vs markup?

Think margin when you're communicating about profitability (investors, board reports, KPIs, P&L). Think markup when you're setting a price from a known cost (purchase orders, wholesale, manufacturing). Most operational pricing software lets you enter either; just don't mix them in the same workflow.

Is a 25% margin and a 25% markup the same?

Only at 0%. Above that they diverge: 25% markup on a $60 cost gives a $75 price (margin 20%); 25% margin from a $60 cost requires an $80 price (markup 33.3%). The difference grows with the percentage.

Why does my POS or e-commerce backend show different numbers?

Many systems silently default to one or the other and label it 'margin'. Test by entering a $100 cost and asking the system to apply '50%'. If the result is $150, the system means markup. If $200, it means margin. This calculator helps you reconcile either.

References & Authoritative Sources

Related Calculators

Methodology & Review

Ugo Candido ✓ Editor
Founder & Editor-in-Chief at CalcDomain — responsible for the methodology, sourcing, and technical review of this calculator.

Margin = (revenue − cost) / revenue × 100. Markup = (revenue − cost) / cost × 100. Both quantify the same gross profit; the difference is the denominator (revenue vs cost). Conversion: margin = markup / (1 + markup); markup = margin / (1 − margin). RELIABILITY: Reliable for any single-product or single-transaction comparison once the cost basis (COGS, full cost, etc.) is fixed. Less reliable when comparing across products that allocate overhead differently — the conversion is correct, but two products with the same 'cost' input may not be apples-to-apples.

Updated