Skip to main content

Example values are filled in. Replace them with your own.

Sale price

90.00

Working

  1. 120 − 25% (30.00) = 90.00
You save
30.00

A jacket is marked $249.99 with 15% off. What do you actually pay, and how much do you save? And if a second 10% coupon applies, is that 25% off or something less?

Enter the original price and the percent off into this percent off calculator. The calculator returns the sale price and the amount saved, and lets you add a second discount and sales tax. It can also work backwards: give it the original and sale prices and it finds the discount.

How percent off works

Quick answer: multiply the original price by the percent off divided by 100 to get the amount saved, then subtract it from the original price. 20% off $80 saves $16 and leaves a sale price of $64.

How to calculate percent off

saved = original price * percent off / 100
sale price = original price * (1 - percent off / 100)
  1. Divide the percent off by 100 to turn it into a decimal (20% becomes 0.20).
  2. Multiply by the original price to get the amount saved.
  3. Subtract the amount saved from the original price to get the sale price.

Quick mental maths for common discounts

For 10% off, move the decimal point one place left to get the saving, then subtract it. For 20% off, double that tenth. For 15%, add half of the tenth to the tenth. For 25% off, take a quarter of the price, and for 50% off, halve it. On $80 a tenth is $8, so 20% off saves $16 and 15% off saves $12. Use mental maths for a quick check in the shop, and the percentage off calculator whenever a second discount or tax is involved.

Stacking two discounts

A second discount applies to the already reduced price, not the original, so the two percentages never simply add. Multiply the two remaining shares: 20% off then 10% off leaves 0.80 × 0.90 = 0.72 of the price, which is 28% off in total. On the $249.99 jacket, 15% off then 10% off leaves 0.85 × 0.90 = 0.765 of the price, so $191.24 and 23.5% off, not 25%.

Percent off with sales tax

In many US checkouts the discount comes first and tax is charged on the sale price. Multiply the sale price by the tax rate to get the tax, then add it. Both steps are multiplications, so taking tax first gives the same total. Some places and coupon types charge tax on the pre-discount price instead, which costs more, so check how your store does it.

How to find the discount from two prices

To calculate the percentage discount, divide the amount saved by the original price, not the sale price, and multiply by 100. The percentage discount formula is (original − sale) ÷ original × 100. A $60 item on sale for $45 is 25% off. Use the two-price mode of the percentage discount calculator above to run it.

How to find the original price

If you only know the sale price and the percent off, divide the sale price by (1 − percent off ÷ 100). A sale price of $64 after 20% off came from 64 ÷ 0.80 = $80. The reverse percentage calculator does this in one step.

Percent off examples

Common percentages off an $80 item:

Percent off examples
Percent offAmount savedSale price
10%$8.00$72.00
15%$12.00$68.00
20%$16.00$64.00
25%$20.00$60.00
30%$24.00$56.00
50%$40.00$40.00

Example 1: 20% off $80

Given

20% off $80
  1. Step 1

    0.20 × 80 = 16.

Answer

You save $16 and pay 80 − 16 = $64.

Example 2: 15% off $249.99, with rounding

Given

15% off $249.99
  1. Step 1

    0.15 × 249.99 = 37.4985, which rounds to $37.50 saved.

Answer

The sale price is 249.99 − 37.4985 = 212.4915, shown as $212.49. Round only the final figures, not the steps.

Example 3: 20% off, then 10% off $100

Given

20% off, then 10% off $100
  1. Step 1

    After the first discount the price is $80.

Answer

Ten percent off $80 takes off $8, leaving $72. That is 28% off the original, not 30%.

Example 4: 25% off $120 with 8% sales tax

Given

25% off $120 with 8% sales tax
  1. Step 1

    25% off leaves $90.

Answer

Tax is 0.08 × 90 = $7.20, so the total is $97.20.

Example 5: finding the percent off from two prices

Given

A $60 item is on sale for $45.
  1. Step 1

    The saving is $15, and 15 ÷ 60 = 0.25.

Answer

It is 25% off.

Percent off code

Both versions reproduce the examples above ($64.00, $212.49, $72.00 and $97.20 with tax) and reject a percent outside 0 to 100.

JavaScript

JavaScript
const round2 = (x) => Math.round((x + Number.EPSILON) * 100) / 100;​function check(name, v, max = Infinity) {  if (typeof v !== "number" || !Number.isFinite(v)) throw new TypeError(`${name} must be a finite number`);  if (v < 0 || v > max) throw new RangeError(`${name} must be between 0 and ${max}`);}​export function percentOff(price, percentOff, { secondPercentOff = 0, taxPercent = 0 } = {}) {  check("price", price);  check("percentOff", percentOff, 100);  check("secondPercentOff", secondPercentOff, 100);  check("taxPercent", taxPercent, 100);  const salePrice = price * (1 - percentOff / 100) * (1 - secondPercentOff / 100);  const tax = salePrice * (taxPercent / 100);  return {    salePrice: round2(salePrice),    saved: round2(price - salePrice),    tax: round2(tax),    total: round2(salePrice + tax),  };}​export function discountFromPrices(original, sale) {  check("original", original);  check("sale", sale);  if (original === 0) throw new RangeError("original must be greater than 0");  if (sale > original) throw new RangeError("sale must not exceed original");  return ((original - sale) / original) * 100;}

Python

Python
from decimal import Decimal, ROUND_HALF_UPimport math​CENT = Decimal("0.01")​def _num(name, v, hi=None):    if isinstance(v, bool) or not isinstance(v, (int, float, Decimal)) or not math.isfinite(float(v)):        raise ValueError(f"{name} must be a finite number")    v = Decimal(str(v))    if v < 0 or (hi is not None and v > hi):        raise ValueError(f"{name} is out of range")    return v​def percent_off(price, percent_off, second_percent_off=0, tax_percent=0):    price = _num("price", price)    p1 = _num("percent_off", percent_off, 100)    p2 = _num("second_percent_off", second_percent_off, 100)    tax_p = _num("tax_percent", tax_percent, 100)    sale = price * (1 - p1 / 100) * (1 - p2 / 100)    tax = sale * tax_p / 100    q = lambda x: x.quantize(CENT, rounding=ROUND_HALF_UP)    return {"sale_price": q(sale), "saved": q(price - sale), "tax": q(tax), "total": q(sale + tax)}

Use Decimal (Python) or integer cents for money. Binary floats can land a half-cent on the wrong side.

Privacy and input safety

Prices are calculated in your browser. The numbers you enter are not sent to a server or stored.

  • A percent off below 0 or above 100 is refused, because a negative discount is a price increase and more than 100% off would give a negative price.
  • A comma followed by exactly three digits is read as a thousands separator, so 1,200 is 1200. Any other comma is a decimal point, so 12,50 is 12.50, and a number starting with 0, such as 0,500, is read as a decimal. Mixed formats such as 1.234,5 and ambiguous entries such as 1,2,3 are refused instead of guessed. Spaces, including no-break spaces, between digit groups are ignored.

Common percent off mistakes

Common percent off mistakes
MistakeWhat goes wrongWhat the calculator does
Adding stacked percentages20% then 10% off $100 is not 30% off ($70); the correct price is $72Multiplies the remaining shares and shows the combined percent
Dividing by the sale price to find the percent off$15 ÷ $45 gives 33.3% instead of 25%Always divides by the original price
Treating the percent as dollars20% off $80 read as 80 − 20 = $60 instead of $64Converts the percent to a share of the price
Rounding at every stepThe last cent driftsRounds only the final amounts
Charging tax on the original priceTotal of $99.60 instead of $97.20 on Example 4Charges tax on the sale price and says so
A percent off above 100 or below 0Gives a negative price or a price riseRefuses the value with a message
Reading buy 2 get 1 free as 50% offYou pay for 2 of 3 items, which is 33.3% off eachEnter 33.33 as the percent off

Percent off vs discount vs markdown vs markup

Percent off vs discount vs markdown vs markup
TermFormulaBaseUsed for
Percent off, discountoriginal × percent ÷ 100Original priceThe saving a shopper sees
Markdown(original − new) ÷ original × 100Original priceThe same reduction, in a retailer's words
Percentage decrease(old − new) ÷ old × 100Starting valueAny fall in a value, not only prices
Percentage increase(new − old) ÷ old × 100Starting valuePrice rises, the opposite direction
Markup(price − cost) ÷ cost × 100Seller's costWhat a seller adds to cost, not a shopper discount

Percent off and markdown describe the same reduction. The percentage decrease calculator and percentage increase calculator cover those two rows for any value, not only prices. Markup uses the seller's cost as its base, so a 50% markup is not the same as a 50% margin or a 50% discount.

Frequently asked questions

How do I calculate percent off?

Multiply the price by the percent off ÷ 100 to get the saving, then subtract it from the price. For 20% off $80, the saving is $16 and the sale price is $64. The shortcut is to multiply by 1 minus the percent as a decimal: $80 × 0.80 = $64.

How do I calculate percentage off on a calculator?

To work out percentage off on a calculator, type the price, press ×, type 0.8 for 20% off (1 minus the percent as a decimal) and press =. Or find the saving first with price × percent ÷ 100 and subtract it. Many phone calculators also accept 80 − 20% and return 64.

How do I find the percent of discount from two prices?

Subtract the sale price from the original, divide by the original and multiply by 100. A $50 item sold for $35 is 30% off. A markdown percentage is the same sum, and a discount percentage calculator does it for you.

How do I take 20% off a price?

Multiply the price by 0.80. $200 becomes $160. For 15% off $40, multiply by 0.85 to get $34.

How do I subtract 20 percent from a number?

The method is the same for any number: multiply by 0.80, or subtract 20% of it. For 150, 20% is 30 and 150 − 30 = 120, which matches 150 × 0.80. Numbers that are not prices, and adding a percentage instead, are covered by the add or subtract a percentage calculator.

What is a percent off calculator?

It takes an original price and a discount percentage and returns the sale price and the amount saved. Given two prices instead, it works backwards to the percentage discount.

What is 20 percent off of 15 dollars?

$12. 20% of $15 is $3, and $15 − $3 = $12.