Etsy Markup vs Profit Margin: What's the Difference?

Markup and margin describe the same profit with different denominators — and mixing them up is the most common pricing error in handmade selling. Here's how each one works, when to use it, and what Etsy's fees do to both.

Contents

Dollar figures below are rounded to the nearest cent, so a column of rounded figures can occasionally differ by a cent from the rounded total. Fee figures use Sellarithm's US Etsy Payments profile: $0.20 listing fee, 6.5% transaction fee, 3% + $0.25 payment processing. Last verified: October 14, 2026.

The two definitions, side by side

Markup = profit ÷ cost. It answers "how much am I adding on top of what this cost me?" Margin = profit ÷ revenue. It answers "what share of this sale do I actually keep?" The profit dollars are identical in both — only the denominator changes, and because cost is always smaller than revenue on a profitable sale, markup is always the larger percentage.

MarkupMargin
FormulaProfit ÷ costProfit ÷ revenue
DenominatorWhat you spentWhat the sale brought in
Question it answersWhat am I adding on top of cost?What share of the sale do I keep?
Can it exceed 100%?Yes, whenever profit exceeds costNo — profit is always less than revenue on a real sale

The two convert into each other exactly: margin = markup ÷ (1 + markup) and markup = margin ÷ (1 − margin). That is why 50% markup is a 33.3% margin, and a 50% margin is a 100% markup — not a 50% markup. If you only remember one conversion, remember that one.

The textbook example: $10 cost, $15 price

Before any fees, the arithmetic is simple. An item that costs $10 and sells for $15 leaves $5 of profit. Markup is $5 ÷ $10 = 50%. Margin is $5 ÷ $15 = 33.3%. Same $5, two very different percentages — and the gap is the whole story of this guide.

If you want this margin……you need this markup
25% margin33.3% markup
33.3% margin50% markup
50% margin100% markup
66.7% margin200% markup

Now the error that catches sellers: wanting a 50% margin and pricing at 50% markup. On a $10 cost, 50% markup gives a $15 price and a 33.3% margin — nearly 17 points short of the goal. To actually keep a 50% margin before fees, the price must be $20, which is a 100% markup. Always check which denominator your target number uses before you price from it.

What Etsy's fees do to both figures

The textbook numbers hold only before fees. Once Etsy's fees come out of the sale, profit falls — and because markup and margin share that same smaller profit, both percentages fall with it. The fee-aware figures below were computed with Sellarithm's own calculation engine, the same engine the calculators use.

Example A — $10 cost, $25 price, no shipping

Revenue$25.00
Etsy fees ($0.20 listing + $1.63 transaction + $1.00 processing)–$2.83
Cost–$10.00
Estimated net profit$12.18
Markup ($12.18 ÷ $10.00 cost)121.8%
Margin ($12.18 ÷ $25.00 revenue)48.7%

Before fees, this sale would show a 150% markup and a 60% margin ($15.00 of profit). Fees take $2.83 off the profit, so markup falls to 121.8% and margin to 48.7%. The naive price — cost × (1 + markup) — always overstates what you keep, which is why the Markup Calculator solves for a fee-aware price instead: the price that leaves your target markup after fees, not before them.

Example B — Shipping in the picture: $8 product, $20 price, $4 shipping each way

Revenue ($20.00 + $4.00 shipping charged)$24.00
Etsy fees ($0.20 listing + $1.56 transaction + $0.97 processing)–$2.73
Costs ($8.00 product + $4.00 actual shipping)–$12.00
Estimated net profit$9.27
Markup ($9.27 ÷ $12.00 costs)77.3%
Margin ($9.27 ÷ $24.00 revenue)38.6%

Note what counts as "cost" here: product cost plus the actual shipping cost — the seller's out-of-pocket spend. Shipping charged to the buyer counts toward revenue, not toward cost. That is the same cost base the Markup Calculator uses, and it is why its markup and the Profit Margin Calculator's margin reconcile exactly on the same inputs.

When to use markup, and when to use margin

Common mistakes

Frequently Asked Questions

Calculators used in this guide