Discount Calculator
Calculate a sale price, work backward from a sale price to the original, or correctly combine multiple sequential discounts.
No uploads • No tracking • No registration
How It Works
Pick a mode
Single discount, reverse from a sale price, or multiple stacked discounts.
Enter your numbers
Prices and percentages, plus an optional tax rate.
Read the result
Final price, amount saved and effective discount, updated instantly.
Privacy note: every calculation runs locally in your browser. Nothing you enter is sent to a server.
Examples
Frequently Asked Questions
How do I calculate a discounted price?+
Multiply the original price by the discount percentage to get the discount amount, then subtract that from the original price. For example, $100 with a 20% discount saves $20, for a final price of $80.
How do I find the original price from a sale price?+
Divide the sale price by (1 minus the discount as a decimal). For example, if an $80 sale price reflects a 20% discount, the original price is 80 ÷ (1 − 0.20) = 80 ÷ 0.80 = $100.
Why doesn't a 20% discount plus a 10% discount equal 30% off?+
Because the second discount applies to the already-reduced price, not the original. $100 with 20% off becomes $80, and 10% off $80 is $8, for a final price of $72 — a 28% total discount, not 30%.
What is the "effective discount" shown for multiple discounts?+
It's the single equivalent percentage-off that would produce the same final price as applying all the sequential discounts one after another.
Does the order of sequential discounts matter?+
No. Multiplying by (1 − d1) × (1 − d2) × ... gives the same final price no matter what order the discounts are applied in, since multiplication is commutative.
Can I add tax after the discount?+
Yes, an optional tax rate can be applied to the already-discounted price, matching how many retailers calculate sales tax at checkout.
What happens if I enter a 100% discount?+
A 100% discount makes the final price zero, which is valid in the standard discount mode. In reverse discount mode, a 100% discount can't be used to recover an original price, since dividing by zero is undefined, so the tool shows a validation message instead.