Discount Calculator

Use this discount calculator to find the sale price, total savings, and effective percent off for one or more items, with optional sales tax and stacked discounts. It also shows a clear breakdown so you can match what you see on a receipt.

Advanced options
Quantity
Sales tax
Stacked (second) discount
Rounding
Tip: This tool calculates per-item numbers first, then multiplies by quantity.
Did we solve your problem today?

How to use our Discount Calculator

  1. Choose what you want to calculate in "What do you want to calculate?" (Final price is the most common).
  2. Enter the "Original price (USD)" from the tag or listing.
  3. Pick a "Discount type" (Percent off or Dollars off) and enter the "Discount (percent or USD)".
  4. Open "Advanced options" if you want quantity, sales tax, a second stacked discount, or different rounding.
  5. If buying more than one, set "Quantity (items)" to a whole number (1, 2, 3, ...).
  6. If you want tax included, set "Include sales tax?" to Yes, enter "Sales tax rate (percent)", and choose whether to "Apply tax" before or after discounts.
  7. If you have two discounts, set "Add a second discount (stacked)?" to Yes, then choose the second discount type and value.
  8. Choose "Round money to" if you need to compare per-item vs total rounding.
  9. Press "Calculate" to see per-item results, totals, and any notes if an input makes the price impossible.

Definitions

Original price: The starting price before any discounts.

Percent off: A discount based on a percent of the current price (for example, 20% off).

Dollars off: A fixed amount taken off the current price (for example, $10 off).

Stacked discounts: Two discounts applied one after the other to the changing price (not added together) [1].

Effective discount (percent): The overall percent saved compared to the original price after all discounts.

Sales tax: A percent added as tax. Depending on rules, it may be computed on the discounted price or on the pre-discount price [2].

Tax timing: Whether tax is applied before discounts or after discounts (you choose to match your situation).

Rounding: How many decimal places money is rounded to (receipts often use cents).


Methodology

What this calculator computes

It applies your first discount (and optional second discount) to get a discounted price per item, then optionally applies sales tax, then multiplies by quantity for totals. Stacked discounts apply in order, so each discount is taken from the price after the previous discount [1].

Inputs and validation rules

Percent discounts must be between 0 and 100 (inclusive). Quantity must be a whole number 1 or more. If sales tax is enabled, the tax rate is required. A dollars-off discount cannot be larger than the current price at the moment it is applied, because that would make a negative price.

Discount math (per item)

percent_off_price = original_price * (1 - discount_percent/100)

dollars_off_price = original_price - discount_amount

price_after_discount = apply_discount(apply_discount(original_price, d1), d2)

Here, apply_discount means either percent off or dollars off, depending on the discount type you selected for that step.

Effective discount percent

effective_discount_percent = (1 - price_after_discount/original_price) * 100

If original_price is 0, this percent is not defined (division by zero), so the calculator shows N/A and explains the issue.

Sales tax options

Many receipts calculate sales tax on the discounted amount, but rules can vary, so you can choose tax timing to match your situation [2].

tax_after_discount: tax_amount = price_after_discount * (tax_rate/100)

tax_after_discount: final_price = price_after_discount + tax_amount

tax_before_discount: price_with_tax = original_price * (1 + tax_rate/100)

tax_before_discount: final_price = apply_discount(price_with_tax, discount)

When tax is disabled, tax outputs show N/A.

Totals with quantity

subtotal_after_discount = price_after_discount_per_item * quantity

tax_amount_total = tax_amount_per_item * quantity

final_total = final_price_per_item * quantity

Rounding can cause small differences between a calculator and a store receipt because some systems round per item, some round per line, and some round at the end. This tool rounds money to the number of decimals you choose and uses that rounding consistently for the displayed outputs.

Reverse modes (when selected)

original_price = final_price / (1 - discount_percent/100)

If discount_percent is 100, the original price cannot be determined (division by zero), so the calculator shows an error.

discount_percent = (1 - final_price/original_price) * 100

If final_price is greater than original_price, the result is negative. That means the price increased (a markup), not a discount, and the calculator keeps the negative sign so you can see that clearly.


Sources