StringToolsStringTools

Discount Calculator: What the Sale Actually Saves You

Type the price and the percentage off and see what you pay and what you save. It also handles the awkward cases shops rely on you getting wrong — two discounts stacked on top of each other, working backwards from what you paid, and telling whether the big pack is really the cheaper one.

Price minus a single % off.

You pay

$70.00

You save

$30.00

30% off $100.00 leaves 70% of the price.

$100.00 × (1 − 30/100) = $100.00 × 0.7 = $70.00 · saved $100.00 − $70.00 = $30.00

Every figure is rounded for display only — the calculation itself keeps full precision, so a stacked discount never compounds a rounding error. Tax rates are whatever you type; this tool ships no built-in rates because they vary by country, state or province, and product category. Everything runs in your browser and nothing you type is sent anywhere.

TL;DR

Discounts multiply, they never add. “30% off, plus an extra 20% at the till” is 44% off, not 50%, because the second cut comes off an already-reduced price. The shortcut: add the two numbers, then subtract them multiplied together as a percentage — 30 + 20 − 6 = 44. Working backwards, divide, never add the percentage back: 96 after 20% off was 120, not 115.20. And a percentage off tells you nothing about value — only price per gram, millilitre or item does.

Why “30% off plus an extra 20%” is 44% off

This is the single most profitable piece of arithmetic in retail, and it works because almost everybody adds the two numbers. Follow the money on a $100 coat instead:

  • 30% comes off first. You now owe $70, and $30 has been knocked off.
  • The extra 20% comes off that $70, not off the original $100. It is worth $14, not $20.
  • You pay $56 and save $44. The sign implied $50 of saving. You are $6 short of what you expected.

The clean way to think about it is what is left rather than what comes off. After 30% off you keep paying 70% of the price; after a further 20% off you keep paying 80% of that. Multiply the leftovers: 0.70 × 0.80 = 0.56. You pay 56% of the original, so the real discount is 44%. Order does not matter here — 20% then 30% also lands on 0.56 — which is why a shop will happily let you apply the coupon whichever way round you like.

The three-second shortcut for two discounts

Add the two percentages, then subtract their product as a percentage. 30 + 20 − 6 = 44 (because 30% of 20 is 6). It works every time: 50 and 20 give 50 + 20 − 10 = 60; 40 and 30 give 40 + 30 − 12 = 58. You can do it in the queue.

Common stacked pairs: what the sign implies against the true combined discount.
What the signs saySounds likeReally isYou pay on $100Gap
30% off, then 20% off50%44%$56.006 pts
50% off, then 20% off70%60%$40.0010 pts
40% off, then 30% off70%58%$42.0012 pts
25% off, then 25% off50%43.75%$56.256.25 pts
40% off, then 20% off60%52%$48.008 pts
50% off, then 30% off80%65%$35.0015 pts
70% off, then 20% off90%76%$24.0014 pts
50%, then 30%, then 10%90%68.5%$31.5021.5 pts

Notice the pattern: the bigger the two discounts, the bigger the gap. Two small ones barely diverge, but 50% and 30% together fall 15 points short of the 80% they suggest. A third discount widens it further — 50%, 30% and 10% stacked is 68.5% off, not 90%.

Working backwards: divide, never add the percentage back

You paid $96 after 20% off. What was it before? The instinct is to add 20% back on: 96 × 1.20 = $115.20. That is wrong, and it is wrong in the same direction every time — too low. The 20% was taken off the original, larger price, so adding 20% to the smaller price you ended up paying can never get you home.

What you paid is 80% of the original, so divide by 0.80: 96 ÷ 0.80 = $120. The add-back answer was $4.80 short. The bigger the discount, the worse the error gets, and it goes badly wrong on deep markdowns: at 60% off, adding back misses by more than a third of the real price. This matters for expense claims, insurance write-ups, resale listings, and for checking that a receipt’s “you saved” line is honest.

Reversing a discount: dividing gets it right, adding the percentage back does not.
You paidDiscountReal originalAdd-back answerMissed by
$96.0020%$120.00$115.20$4.80
$60.0025%$80.00$75.00$5.00
$84.0030%$120.00$109.20$10.80
$45.0050%$90.00$67.50$22.50
$19.9960%$49.98$31.98$18.00

The Reverse mode in the calculator does this division for you and shows the add-back answer alongside it, so you can see exactly how far off the instinctive method lands. For general before-and-after percentage work, the percentage calculator covers increases, decreases and percentage change.

Percent off, at a glance

For a single discount on a round price you rarely need a calculator, you need a number you can recognise. This is what you pay— not what you save — at the percentages shops actually use. It works in any currency: the figures are just multiples, so read $80 as £80 or €80 if that is your shop.

What you pay after a single discount, by ticket price.
Off$20$25$50$80$100$200
10%$18.00$22.50$45.00$72.00$90.00$180.00
15%$17.00$21.25$42.50$68.00$85.00$170.00
20%$16.00$20.00$40.00$64.00$80.00$160.00
25%$15.00$18.75$37.50$60.00$75.00$150.00
30%$14.00$17.50$35.00$56.00$70.00$140.00
40%$12.00$15.00$30.00$48.00$60.00$120.00
50%$10.00$12.50$25.00$40.00$50.00$100.00
60%$8.00$10.00$20.00$32.00$40.00$80.00
70%$6.00$7.50$15.00$24.00$30.00$60.00
75%$5.00$6.25$12.50$20.00$25.00$50.00

Two anchors worth memorising: 25% off means you pay three quarters, and 40% off means you pay three fifths. Anything you can halve, quarter or take a tenth of in your head can be built from those. Just add the pieces on the original price rather than stacking them: 35% off is a quarter of the price plus a tenth of it, taken off the total — on $80 that is $20 + $8 = $28 off, leaving $52.

A bigger pack is not automatically cheaper

A percentage tells you how far a price moved. It says nothing about whether the price is good. The only number that makes two different pack sizes comparable is price per unit — per 100 g, per 100 ml, per sheet, per item — and the assumption that the big pack wins is wrong often enough to be worth checking. Here is a shampoo aisle where it is wrong twice:

Same product, three sizes. The smallest bottle is the best value.
SizePricePer 100 mlvs best
330 ml$1.20$0.3636
750 ml$2.85$0.3800+4.5%
1,500 ml$6.30$0.4200+15.5%

The family-size bottle costs 15.5% more per millilitre than the small one. Nothing here is a trick; big sizes get promoted less often, and small sizes get promoted a lot. Two things to watch for on shelf labels: units that switch between neighbouring products (per 100 g against per kg makes a tenfold difference at a glance), and multibuys like “2 for $3” where the single price is $1.80, so the offer saves $0.60 and not the half-price it feels like.

One honest caveat the arithmetic cannot give you: cheaper per unit is only cheaper if you use it all. For anything perishable, the best-value pack is the one you finish.

What “up to 70% off” and a crossed-out price really tell you

Usually: very little. Read the two claims literally.

“Up to 70% off” is a statement about the single most-reduced item in the range. One item at 70% off and a thousand at 10% satisfies the sign completely. It is a claim about the maximum, not the typical, and the only way to know what this item is discounted by is to compare its two prices yourself — which takes about five seconds in the “Is this deal good?” mode above.

A struck-through “was” price is only meaningful if the item genuinely sold at that price, for a decent stretch, somewhere you could have bought it. Consumer-protection regulators in the US, UK, EU and Australia all take an interest in reference prices that were never real, and the details differ by jurisdiction, but the practical test does not: ask whether you have ever seen this thing at that price. A “was” price that appears the same week as the sale, or an RRP nobody charges, is decoration.

The habit that beats all of this is boringly simple. Ignore the percentage entirely and look at two numbers: what it costs today, and what it costs per unit. A 70% discount on something overpriced is still overpriced, and a 5% discount on the cheapest option on the shelf is still the cheapest option on the shelf.

What this calculator does, and what it deliberately does not

Five modes, all working on whatever you type: a single discount; up to three stacked discounts with each step shown; a discount combined with tax; a reverse lookup from a price you paid; and a deal check that reads the real percentage off a was/now pair and compares two pack sizes by unit price. You can switch between US dollars, pounds, euros, Canadian and Australian dollars, and rupees, which changes the symbol and the number formatting rather than converting anything.

The tax field ships with no rates in it, on purpose. Sales tax, VAT and GST differ by country, by state or province, and by what you are buying — groceries, books and children’s clothing are frequently treated differently from everything else. Any built-in default would be wrong for most visitors, so you type your own rate from your receipt or your local tax authority. You also choose whether the ticket price already includes tax and whether the discount comes off the pre-tax or the taxed amount, because tills differ and, with a fixed-amount coupon, that choice changes the total.

Everything runs in your browser. There are no accounts, no sign-in, nothing is saved, and nothing you type is sent anywhere — close the tab and it is gone. Displayed figures are rounded to two decimals (four for per-unit prices, which are often fractions of a cent), but the maths underneath keeps full precision, so a stack of three discounts never compounds a rounding error. What it will not do: convert currencies, look up real prices, track price history, or tell you whether the shop’s “was” price was genuine. Those need data this tool does not have.

Frequently asked questions

How do I calculate 30% off plus an extra 20% off?

Multiply what is left after each discount rather than adding the percentages. After 30% off you pay 70% of the price, and after a further 20% off you pay 80% of that, so you pay 0.70 × 0.80 = 0.56, which is 56% of the original. That is a 44% discount, not 50%. On a 100 item you pay 56 and save 44.

Does the order of two discounts change the final price?

With two percentage discounts, no. Multiplication does not care about order, so 30% then 20% and 20% then 30% both leave you paying 56% of the original price. The order does change the answer when one of them is a fixed-amount coupon, because taking 10 off a larger number and then halving it is not the same as halving first and then taking 10 off.

I paid 96 after 20% off. What was the original price?

Divide, do not add the percentage back. You paid 80% of the original, so the original was 96 divided by 0.80, which is 120. Adding 20% to 96 gives 115.20, which is 4.80 short, because the 20% was taken off the larger original price and not off the smaller price you ended up paying.

How do I work out the percentage off from the old and new price?

Divide the new price by the old price, subtract that from 1, and multiply by 100. A jumper marked down from 80 to 60 gives 60 ÷ 80 = 0.75, so 1 − 0.75 = 0.25, which is 25% off. The Is this deal good mode does this for you, and it is the quickest way to check whether the percentage on a sign matches the two prices printed on the tag.

Is sales tax charged before or after the discount?

It depends on where you are and how the till has been set up, which is why this calculator lets you choose the order and type your own rate rather than assuming one. With a percentage discount the order makes no difference to the total. With a fixed-amount coupon it does, so the switch is worth using when you want the total to match a receipt to the penny.

Is a bigger pack always better value?

No. Bigger packs are usually cheaper per unit but not reliably, and a promotion on a small size can easily beat the large one. The only fair comparison is price per gram, millilitre or item. Work out price divided by size for each pack and compare those two numbers, which is what the unit price panel in the tool does.

Related Tools