Discount Calculator
Enter the original and sale price to get the discount rate — or go the other way. Both directions, instantly.
What "20% off" actually means
A discount tag never describes the sale price directly — it describes a reduction applied to a reference price. That reference is usually the original tag price, but it can also be an MSRP, a "compare at" price, or an already-discounted clearance price. The discount calculator above works both directions: give it the original and sale price to find the rate, or give it the original price and a rate to find what you'll actually pay. The two tabs are mirror images of the same formula, so whichever number you're missing, you can solve for it.
This matters most when discounts don't happen once. A single 30%-off tag is easy to check by eye. But retail rarely stops there — a storewide sale on top of a clearance markdown, a coupon on top of a sale, a cashback offer on top of a coupon. Each layer needs its own pass through the formula, and skipping that step is the single most common source of "the receipt doesn't match what I expected."
How to use the two modes
- Find discount % — enter the original price and the sale price you were quoted or charged. The tool returns the discount rate and the amount you saved in currency.
- Find sale price — enter the original price and a discount rate (for example, from a coupon code or a "30% OFF" sign). The tool returns the price you'll pay and the amount saved.
- For a second, stacked reduction, take the result from one pass and feed it back in as the new "original price" for the next pass — see the stacking example below.
The formula
Discount rate = (Original price − Sale price) ÷ Original price × 100
Sale price = Original price × (1 − rate ÷ 100)
Savings = Original price − Sale price = Original price × (rate ÷ 100)
Every stacked or sequential discount is just this same formula applied more than once, using the previous output as the next input — never by adding percentages together.
Worked example 1 — a single tag
A jacket is tagged at 50,000 with a 30% discount.
Sale price = 50,000 × (1 − 0.30) = 50,000 × 0.70 = 35,000
Savings = 50,000 − 35,000 = 15,000
Worked example 2 — why stacked discounts don't add up
A store takes 25% off, then applies an extra 10% coupon at checkout on an item originally priced at 80,000. It's tempting to assume that's "35% off" — it isn't.
Pass 1 (25% off): 80,000 × 0.75 = 60,000
Pass 2 (extra 10% off the new price): 60,000 × 0.90 = 54,000
Total savings = 80,000 − 54,000 = 26,000, which is an effective rate of 32.5% — not 35%. The second discount applies to an already-reduced base, so it's worth less in absolute terms than the first one.
Worked example 3 — reverse-engineering the rate, then adding tax
A receipt shows an item originally priced at 120 sold for 84, and then 8% sales tax was charged on top.
Discount rate = (120 − 84) ÷ 120 × 100 = 30%
Total paid with tax = 84 × 1.08 = 90.72
Notice the discount rate (30%) is calculated only from the pre-tax prices. Tax is a separate multiplier applied afterward — mixing it into the discount math will always overstate or understate the true markdown.
Reference: sale price at common discount rates
| Discount rate | Sale price on 100 | You save |
|---|---|---|
| 10% | 90.00 | 10.00 |
| 20% | 80.00 | 20.00 |
| 25% | 75.00 | 25.00 |
| 30% | 70.00 | 30.00 |
| 40% | 60.00 | 40.00 |
| 50% | 50.00 | 50.00 |
| 70% | 30.00 | 70.00 |
Common mistakes
- Adding stacked percentages. "20% + 10%" is not 30% off — see Example 2. The correct combined multiplier is (1 − 0.20) × (1 − 0.10) = 0.72, an effective 28% off, not 30%.
- Losing track of the baseline. An "extra 10% off clearance" coupon applies to the already-marked-down price, not the original tag price — always check which number a new discount is taken from.
- Mixing tax into the discount rate. Compute the discount from pre-tax prices only, then apply tax as its own step, as in Example 3.
- Trusting store-rounded percentages. Some receipts truncate or round the displayed rate, so recomputing from the actual original and sale prices can differ slightly from the tag.
What this calculator doesn't cover
It computes price and rate relationships only — it does not model sales tax, shipping costs, store credit, or loyalty-point redemption, all of which change what you actually pay versus the sticker discount. For multi-item carts with different rates per item, run each item through the calculator separately rather than averaging discount rates, since averaging rates (rather than dollar amounts) across items of different prices gives a misleading blended figure.
Sources & further reading
Frequently asked questions
What's the difference between discount rate and discount amount?
The discount rate (%) is how much cheaper an item got, as a percentage of the original price. For example, with an original price of 50 and a sale price of 35, the discount rate is 30%. The discount amount is the money actually taken off — that is, 15. This discount calculator shows both at once.
How do I calculate the discount if I don't know the original price?
If the original price isn't shown, use the manufacturer's suggested retail price (MSRP) or an old receipt as your baseline. Different stores use different baselines, so a sale percentage can look different depending on the reference. Without a baseline price you can't work out a discount rate at all.
How do I use the discount calculator when a coupon and a sale stack?
Calculate stacked discounts in two passes. First, in the 'Find sale price' tab, apply the sale's discount rate to get the intermediate price. Then enter that intermediate price as the original price and apply the coupon's rate to get the final price. The order changes the result, so watch the sequence.
Are the prices I enter sent to a server?
No. This discount calculator runs entirely in your browser and never sends your inputs to any server. For convenience, your last entries are stored only in your device's localStorage, and nothing leaves the browser even after you close it.
Why does the discount shown in a store differ from my own calculation?
Stores round differently. This tool rounds the discount percentage to one decimal place, while some platforms round down (truncate) to show a lower rate. Shipping fees and loyalty points can also change the effective sale price you feel versus the raw calculation.