Discount Calculator — Calculate Sale Price & Savings
Calculate sale prices, savings, and stacked discounts. Also supports reverse calculation and markup/margin. All calculations happen locally — nothing leaves your browser.
How do you calculate a discount? Multiply the original price by the discount percentage divided by 100 to get the amount saved, then subtract it from the original price. A shorter route gives the same answer in one step: sale price = original × (1 − discount ÷ 100), so $80 at 25% off is 80 × 0.75 = $60. Two discounts do not add together — each one applies to the price left by the one before it.
How to Use the Discount Calculator
- Choose what you are solving for — Find Sale Price takes a price and takes money off. Find Original Price works backwards from a ticket price. Markup % and Margin % go the other way and add to a cost instead of subtracting from a price.
- Enter the price and pick a currency — The currency selector changes the symbol on every figure — dollar, euro, pound or yen — but performs no conversion, so enter the amount already in the currency you selected.
- Set the first discount — Type the percentage into Discount 1. The headline updates as you type: what you pay, what you save, and the percentage off.
- Stack additional discounts — Add Another Discount appends a row, and each new percentage applies to the price left by the row above it. The Total Discount box shows the combined figure, which is always less than the percentages added up.
- Read the reverse mode differently — In Find Original Price the tool uses the single Discount % field in the left panel and ignores the stack. Enter the price on the tag and the percentage the sign claims, and you get the price it was reduced from.
- Copy the result — Copy Result puts the sale price and the savings on your clipboard. The values also live in the page URL, so bookmarking or sharing the link reopens the same calculation.
How the Four Modes Calculate
Every mode is one line of arithmetic. What changes is which number is known and which one you want.
Find Sale Price
Each discount is turned into a multiplier — 20% off becomes 0.80 — and the multipliers are multiplied together before touching the price:
Sale price = original × (1 − d₁/100) × (1 − d₂/100) × …The effective discount reported in the Total Discount box is what is left over from that product: Effective % = (1 − product of multipliers) × 100 A blank or zero row is skipped rather than treated as a 0% discount, so removing a row and clearing it produce the same result.
Find Original Price
Reversing a discount divides instead of multiplying:
Original = sale price ÷ (1 − discount/100)A jacket on the rack at $75 marked 25% off started at 75 ÷ 0.75 = $100. This is the calculation to run when you want to check whether an advertised reduction is genuine against a price you remember. Note that 100% here means dividing by zero — the tool needs a percentage below 100 to return a finite answer.
Markup % and Margin %
These two modes reuse the same input boxes but read them as a cost rather than a retail price, and the percentages in the stack become the markup or the margin. Markup adds a share of the cost; margin reserves a share of the final price:
Markup: price = cost × (1 + markup/100) Margin: price = cost ÷ (1 − margin/100)The same cost and the same percentage give two different prices, which is exactly why the distinction matters commercially. A $100 cost with 50% markup sells for $150; a $100 cost at a 50% margin has to sell for $200. Because these modes share the discount widget, the headline still reads "You Pay" and "Save" — read those two figures as the selling price and the gross profit per unit.
The stack combines percentages multiplicatively in every mode. That is correct for chained discounts, but if you enter two rows in Markup or Margin mode you get the combined 28%-style figure applied once, not two markups applied in sequence. Use a single row for markup and margin work.
Why Stacked Discounts Are Worth Less Than They Look
"20% off, plus an extra 10% at the till" reads like 30%, and it never is. The second reduction is taken from a price that has already shrunk, so the tenth is a tenth of $80 rather than a tenth of $100. The gap widens as the percentages get larger, and it is the single most common mistake in comparing offers.
| Discounts applied | Sounds like | Actually is | $100 becomes |
|---|---|---|---|
| 20% then 10% | 30% | 28.0% | $72.00 |
| 25% then 25% | 50% | 43.75% | $56.25 |
| 30% then 20% | 50% | 44.0% | $56.00 |
| 50% then 20% | 70% | 60.0% | $40.00 |
| 10% then 10% then 10% | 30% | 27.1% | $72.90 |
| 50% then 50% | 100% | 75.0% | $25.00 |
Order does not matter — multiplication is commutative, so 20% then 10% lands on the same figure as 10% then 20%. What does matter is whether the store applies both to the same base. Some promotions take the second percentage off the original price rather than the reduced one, which is a genuinely better deal; if the terms say that, add the percentages by hand instead of stacking them here.
Markup and margin at a glance
Markup is measured against what you paid, margin against what the customer pays, so the same trade converts between two different numbers. Setting prices from a target margin while quoting suppliers in markup is how businesses accidentally underprice.
| Markup on cost | Equivalent margin | $100 cost sells at |
|---|---|---|
| 10% | 9.1% | $110.00 |
| 25% | 20.0% | $125.00 |
| 33.3% | 25.0% | $133.33 |
| 50% | 33.3% | $150.00 |
| 100% | 50.0% | $200.00 |
| 200% | 66.7% | $300.00 |
The conversion in both directions is short: margin = markup ÷ (1 + markup), and markup = margin ÷ (1 − margin), with both percentages expressed as decimals. Margin can never reach 100% because that would require a selling price with no cost in it at all, while markup has no ceiling.
Comparing Offers That Are Not the Same Shape
Retail promotions are deliberately hard to line up against each other. Converting each one into an effective percentage off makes them comparable, and most convert easily. "Buy one get one free" on two identical items is 50% off the pair. "Buy two get one free" is 33.3% off three. "$20 off when you spend $80" is 25% at exactly $80 and less than that on any larger basket, which is why threshold offers reward buying the minimum.
Two things sit outside the percentage and still decide the answer. Sales tax is applied after the discount in most jurisdictions, so a deeper discount also reduces the tax — run the reduced figure through the Sales Tax Calculator if you are budgeting to the cent. Shipping runs the other way: a free-delivery threshold can make the nominally worse discount cheaper at the door. Compare the total you actually hand over, not the percentage on the sign.
The reverse mode is the honest-pricing check. If a "was $200, now $120" sticker claims 40% off, entering $120 and 40% returns $200 and the claim holds. If the arithmetic returns a number the item was never sold at, the reference price is doing the work rather than the reduction. This is worth thirty seconds on anything expensive, particularly during periods when reference prices move around a lot.
This calculator is for informational price arithmetic. It does not know about tax rules, promotion terms, exclusions or currency conversion, and the currency selector only changes the symbol shown. Check the offer's own terms before relying on a figure for a purchase or a pricing decision.
Frequently Asked Questions
Multiply the original price by one minus the discount as a decimal. For 25% off, that is original x 0.75. The amount saved is the difference between the two figures, or equivalently original x 0.25. Doing it as a single multiplication avoids the common error of subtracting the percentage from the price instead of from 100.
Each discount applies to the price left by the one before it, so they multiply rather than add. $100 with 20% off is $80, and a further 10% off $80 is $72 — an effective discount of 28%, not 30%. Order makes no difference to the result. The Total Discount box on this page always shows the true combined figure.
Both describe the gap between cost and selling price, but they divide by different things. Markup is (price − cost) ÷ cost, measured against what you paid. Margin is (price − cost) ÷ price, measured against what you charge. A $100 item sold at $150 carries a 50% markup and a 33.3% margin — the same trade, two numbers, and confusing them systematically underprices your work.
Switch to Find Original Price, enter the price you paid and the discount percentage advertised, and the tool divides: original = sale ÷ (1 − discount/100). $75 at 25% off came from $100. This mode reads only the single Discount % field in the left panel; the discount stack on the right is not used here.
No calculation leaves your browser — the arithmetic runs in JavaScript on the page and there is no server call. One thing to know: the prices, mode and currency you enter are written into the page URL so a calculation can be bookmarked or shared. Anyone you send that link to sees those numbers, so clear the fields first if the figures are commercially sensitive.
No. It changes the symbol in front of every figure and nothing else, so switching from $ to € does not apply an exchange rate. Enter amounts that are already in the currency you selected. For an actual conversion, use the Currency Converter first and bring the converted figure back here.
In most places tax is calculated on the discounted price, so the discount reduces the tax as well. Take the sale price from this tool and add tax to it rather than the other way round. Where a coupon is treated as a form of payment rather than a price reduction the tax can be assessed on the pre-discount price, so check the receipt if the totals do not match.
The tool always keeps at least one discount row so there is something to type into. To calculate with no discount, set the remaining row to 0 — empty and zero rows are both skipped, and the effective discount drops to 0%. Adding a row starts it at 10%, so clear it if that is not what you want.
Use Cases
Checking the Till Price Before You Queue
A clearance rail says 40% off and the card at the door adds another 15% for members. Stack both and you know it is 49% off, or $50.49 on a $99 coat, before you decide whether to join the queue.
Verifying an Advertised Reduction
Use Find Original Price on a "was/now" sticker: if $120 at a claimed 40% off implies a $200 reference price the item never carried, the reduction is doing less work than the sign suggests.
Pricing a Product From a Target Margin
A maker who knows a candle costs $6.40 in materials and wants a 60% gross margin uses Margin mode to get the $16 shelf price, rather than adding 60% to cost and quietly landing on a 37.5% margin.
Setting a Wholesale Discount Ladder
Model a trade price as a stack — 30% trade discount plus 5% for settling within ten days — and read the effective 33.5% so the ladder is designed against real margin rather than guessed at.
Comparing Two Unlike Offers
One shop offers 25% off, another offers $60 off a $220 item. Converting the second to 27.3% settles it in seconds, and the URL keeps both calculations so you can flick between them.
Budgeting a Planned Big Purchase
Before a seasonal sale, work out what a laptop or an appliance would cost at the discount you expect, so you know your walk-away number in advance instead of deciding under time pressure.