Markup Calculator

Markup answers the seller's question: starting from what an item costs, what percentage do I add on top to set its price? Use the first tool to price from cost and markup, or the second to recover the markup sitting between two prices you already know. Both also report the resulting margin, which is a different (and always smaller) number.

Price from cost and markup

Example: cost 40 with a 50% markup sells for 60.

Enter a cost and a markup to see the price.

Markup from two prices

Example: cost 60 sold at 100 is a 66.67% markup.

Enter both prices to see the markup.

New to the gap between these two percentages? The companion guide Margin vs. markup arithmetic walks the conversion through step by step with its own worked examples, and the full guide index collects every explainer beside the methodology page.

The markup formula

Markup measures profit against cost: selling price = cost × (1 + markup% ÷ 100). A cost of 40 with a 50% markup gives a price of 60 and a profit of 20 — every figure in this copy is produced at build time by the same engine that powers the forms above. Going the other way, markup% = (price − cost) ÷ cost × 100, which is what the second tool computes from two known prices.

Read the formula one factor at a time. The markup percentage divided by 100 turns the percentage into a plain fraction of the cost; adding 1 keeps the original cost and lays the profit on top; multiplying the cost by that figure gives the price. The profit itself is just the part the 1 left behind — cost × markup% ÷ 100 — so with a cost of 40 and a 50% markup the profit is 20 and the price is 60. The engine accepts any cost greater than zero and any markup above −100%; at exactly −100% the price would collapse to zero, and the function reports that boundary as an error rather than returning a meaningless figure.

What a markup does to the margin

The margin a given markup produces does not depend on the cost at all — the cost cancels out of the ratio — so a single fictional cost is enough to show the whole pattern. Algebraically the profit is cost × markup% ÷ 100 and the price is cost × (1 + markup% ÷ 100); dividing the first by the second, the cost disappears and leaves margin% = markup% ÷ (100 + markup%) × 100. Taking a cost of 80 and applying a spread of markups, every row below is computed at build time by the same markup() function the form calls:

Markup Selling price Profit Margin
15% 92 12 13.04%
25% 100 20 20%
50% 120 40 33.33%
75% 140 60 42.86%
100% 160 80 50%
150% 200 120 60%
300% 320 240 75%

Two things stand out in the margin column. First, every margin is smaller than the markup that produced it, and the gap widens as the markup climbs: a 15% markup on the 80 cost is only a 13.04% margin, a sliver below, whereas a 100% markup — price 160 — lands at an exact 50% margin, a full 50 points under the markup. Second, the margins never catch up: push the markup to 300% and the price reaches 320, yet the margin is still only 75%. No finite markup produces a 100% margin, because that would require selling at a positive price for zero cost — the margin can approach 100% but never arrive.

Why a 40% markup is not a 40% margin

Markup divides by cost; margin divides by the selling price, a larger number for every profitable sale — so the margin percentage always comes out smaller. Apply a 40% markup to a 100 cost and the 40 profit is only 28.57% of the 140 price. Pricing to a markup while reporting to a margin target (or the reverse) is one of the quietest ways a small business underprices itself. When you want to check what the totals actually earned, the profit calculator works from revenue and costs directly.

The conversion between the two is exact and worth committing to memory: margin% = markup% ÷ (100 + markup%) × 100. Running the 40% markup through it, 40 ÷ (100 + 40) × 100 gives the 28.57% margin the calculator shows. The relationship explains the whole table above — a markup and its margin are the same profit measured against two different bases, cost for the markup and the larger selling price for the margin — and it is why reaching a target margin always takes a larger markup. To earn a genuine 50% margin on a 40 cost you must apply a 100% markup, pricing the item at 80 for an exact 50% margin; stopping at a 50% markup would leave you at the 33.33% margin from the example above.

Recovering the markup inside a price

The second tool answers the reverse question: given a cost and the price it already sells at, what markup is baked in? It computes markup% = (price − cost) ÷ cost × 100, and reports the margin alongside so the two never drift apart. A cost of 60 sold at 100 carries 40 of profit, which is a 66.67% markup on the cost but only a 40% margin on the price. This is the direction to use when you are reverse-engineering a competitor's shelf price into a cost assumption, or checking what markup a price list implies before you commit to matching it — the arithmetic is the forward formula solved for the markup, nothing more.

Markups below cost

A markup does not have to be positive. Entering a negative markup prices the item below what it cost, which is exactly what a clearance line does. A 40 cost at a −20% markup sells for 32, a loss of 8 per unit and a -25% margin, the negative sign carried straight through every figure. The single limit is arithmetic rather than editorial: the calculator accepts markups down to but not including −100%, the point at which the price would reach zero and the percentage would stop describing a ratio at all. Between there and zero you are simply discounting below cost, and the tool reports the loss as plainly as it reports a profit.

Working with markup in practice

Markup is the natural direction for price-setting because you know cost first: double the cost ("keystone", a 100% markup) is a classic retail starting point, and markups across a catalog can range from single digits to several hundred percent depending on the business. The useful discipline is consistency — decide what the cost base includes (freight? packaging? labor?) and apply the same rule to every product, letting the calculator translate each markup into the margin it actually delivers.

What belongs in that cost base is a decision the calculator cannot make for you, because the markup is applied to whatever number you type. Enter only the purchase price and the markup covers everything else from the gross profit; fold in freight, duty, packaging, and the labor to make the item ready, and the same markup percentage yields a higher price and a thinner cushion for the overheads you left out. Neither is more correct in the abstract — what matters is picking one definition and holding to it, so that a 50% markup means the same thing across the catalog and the margin the tool reports is comparable from one line to the next. The one habit the arithmetic rewards is never switching bases midway through a price list.

Reading the figures precisely

Every price and percentage here prints to a couple of decimal places, but the engine holds far more precision than it shows. A displayed 50% margin is an exact value; a 50% markup, by contrast, produces a 33.33% margin that never terminates and is simply rounded for the screen. The practical consequence shows up in chained work: if you mark a cost up and then mark that result up again, do both steps in one pass rather than retyping a rounded intermediate price, so the rounding happens once at the end instead of compounding. The methodology page documents the full policy — full internal precision, normalization to strip floating-point artifacts, and a fixed on-screen decimal cap, with a significant-digits fallback so a tiny nonzero result is never shown as a flat zero.

Frequently asked questions

How do I convert a markup into a margin?

margin% = markup% ÷ (100 + markup%) × 100. A 40% markup on a 100 cost prices the item at 140, and the profit of 40 is 28.57% of that price — so a 40% markup is only a 28.57% margin.

What is keystone pricing?

The retail habit of doubling cost: a 100% markup. An item costing 25 is priced at 50, which works out to exactly a 50% margin. It survives as a rule of thumb because the arithmetic can be done on sight.

Can a markup be negative?

Yes — a negative markup prices an item below cost, which is exactly what clearance sales do. The calculator accepts markups down to (but not including) −100%, the point at which the selling price would reach zero.

Should the cost include overhead and labor?

The markup is applied to whatever cost you enter, so that is a business decision rather than a math one. Manufacturers often mark up the full landed or fully-loaded cost; retailers usually mark up the wholesale price and cover overhead from the aggregate margin.

Is a 50% markup the same as a 50% margin?

No, and the gap is money. A 50% markup on a 40 cost gives a 60 price and a 33.33% margin. To achieve a genuine 50% margin on that cost you would need a 100% markup, which prices the item at 80 for an exact 50% margin — double the percentage you might have applied by mistake.

What does the second tool, markup from two prices, calculate?

It runs the arithmetic backwards, recovering the markup already sitting inside a price you can see: markup% = (price − cost) ÷ cost × 100. A cost of 60 sold at 100 carries 40 of profit, which reads as a 66.67% markup on the cost but a 40% margin on the price — the same sale described from either end.

Why must the cost be greater than zero?

Markup is profit measured against cost, so the formula divides by the cost. A cost of zero has no defined markup — every price would sit an infinite percentage above it — so the calculator asks for a cost greater than zero instead of returning a figure that does not mean anything.

Does the markup calculator add sales tax or VAT?

No. It performs plain arithmetic on the cost and markup you enter and reports the resulting price, profit, and margin — nothing more. Tax rules impose conventions a general calculator does not know; putting a rate on top of or inside a price is the separate job the VAT calculator does.

Both tools run entirely in your browser — no prices or costs are transmitted anywhere. The formulas are implemented as tested, typed functions; see the methodology page for the rounding policy.