Discount Calculator

Calculate the sale price and amount saved from an original price and a percentage discount. Stack two discounts and see the effective discount rate.

The second discount is applied to the price after the first one, which is how stacked coupons normally work. Leave it at 0 if you only have one discount. Percentages are capped at 100%.

Final Price

You Save

Effective discount:

Stacking and is off โ€” not .

Enter an original price above to see your savings.

What this discount calculator does

This tool takes an original price and a percentage discount and tells you three things: the final price you'll actually pay, the amount saved in dollars, and the effective discount as a percentage of the original price. It also supports stacking two discounts โ€” a store-wide sale plus a coupon code, for example โ€” and shows how the combined discount really works out.

Everything runs in your browser. Nothing you type is sent anywhere, saved, or tracked, so you can price out a quote or a margin without it leaving your device.

How to use it

  1. Enter the original price โ€” the pre-discount, list, or sticker price.
  2. Enter the discount percentage. A "25% off" sign means you enter 25.
  3. If you have a second discount that applies on top, enter it in the optional field. Otherwise leave it at 0.
  4. Read the final price and savings on the right. They update as you type โ€” there's no button to press.

The calculator works in whatever currency you're thinking in; the dollar sign is just formatting. It doesn't include sales tax, shipping, or handling โ€” those are applied by the seller after the discount in most jurisdictions, so calculate the discount first and add tax to the result.

The formula

A percentage discount is a proportional reduction of the original price. For a single discount:

  • Amount saved = Original price ร— (Discount % รท 100)
  • Final price = Original price โˆ’ Amount saved, which is the same as Original price ร— (1 โˆ’ Discount % รท 100)

For two stacked discounts, the second one applies to what's left after the first, so the multipliers multiply rather than add:

  • Final price = Original price ร— (1 โˆ’ d1) ร— (1 โˆ’ d2), where d is each discount expressed as a decimal
  • Effective discount % = (Amount saved รท Original price) ร— 100

This is why stacked discounts are always less generous than they look. Two 20% discounts are not 40% off โ€” they're 1 โˆ’ (0.80 ร— 0.80) = 0.36, or 36% off. The order you apply them in doesn't matter: multiplication is commutative, so 20% then 30% gives exactly the same final price as 30% then 20%.

A worked example

Say a jacket is listed at $120 and the store is running a 25% off sale.

  • Amount saved: $120 ร— 0.25 = $30.00
  • Final price: $120 โˆ’ $30 = $90.00

Now suppose you also have a 10% off newsletter code that stacks on top. The 10% comes off the already-discounted $90, not the original $120:

  • Second discount: $90 ร— 0.10 = $9.00
  • Final price: $90 โˆ’ $9 = $81.00
  • Total saved: $120 โˆ’ $81 = $39.00
  • Effective discount: $39 รท $120 = 32.5%, not the 35% you'd get by adding 25 + 10

That 2.5-point gap is small on a jacket and large on a car. Whenever a promotion advertises "an extra 10% off sale prices," the extra percentage is nearly always calculated this way.

Working backwards

If you know the sale price and the original price and want the discount percentage, the relationship inverts: Discount % = (Original โˆ’ Sale) รท Original ร— 100. A $120 jacket selling for $81 was discounted by ($120 โˆ’ $81) รท $120 = 32.5%. You can also use this tool in reverse by adjusting the discount until the final price matches the ticket price you're looking at.

One caution when discounting your own products: a discount percentage off the price is not the same as a percentage off your margin. If an item costs you $70 and sells for $120, a 25% discount cuts $30 from a $50 gross margin โ€” a 60% reduction in profit on that sale. Retailers often set discount ceilings by working from the margin, not the sticker price.

References

โœ๏ธ Edit this page on GitHub