Math Runs locally Ready to use Built-in examples No tracking

Discount Calculator

Enter the original price with a discount rate or a spend-X-save-Y rule to get the final price instantly, and compare two deals side by side.

Two offers, one decision: take 20% off now, or spend 300 to save 60? Topping up to reach a threshold can end up costing more than the reduction is worth — and the item added is usually one that was not wanted. Enter the original price, the percentage discount and any spend-and-save rule, and both offers are priced side by side with the difference stated outright.

Two things to watch when comparing. First, a spend-and-save threshold is judged on the total after topping up, so the real question is not "discount or no discount" but the extra money paid against the items gained. Second, when both apply, taking the percentage off first usually wins, because the base for the fixed reduction gets smaller. The merchant’s stacking rules always have the last word.

How to use

  1. Enter the original price.
  2. Enter the percentage discount and, if there is one, the spend-and-save rule.
  3. Read both final prices and the difference between them.
  4. Check the merchant’s stacking rules before relying on the cheaper figure.

How it works

Percentage-off discounts

Percentage-off discount: final price = original price × (1 − discount). For example, 299 at 20% off = 239.2, saving 59.8 (about 20%). Enter the discount as a percent (20) or a multiplier (0.8) — the tool accepts both and flags anything out of range.

Spend-and-save thresholds

Spend-and-save: stackable thresholds are applied as many times as the original price divides into the threshold. For example, 650 with "50 off every 300": the threshold is met twice, so 100 comes off and you pay 550.

Comparing a discount against a threshold deal

Comparison: the final price is computed for the same item under both deals, then the tool shows the better option and the exact difference — so you can see at a glance which checkout route wins.

Code example

JavaScript Discounts and spend-and-save, compared

function discount(price, rate) {           // rate=0.8 means 20% off
  return price * rate;
}

function fullCut(price, per, cut) {        // spend per, save cut, stacked per multiple
  return price - Math.floor(price / per) * cut;
}

fullCut(450, 200, 50);                     // 350 (two 50s off)
// Compare: discount(450, 0.8)=360 vs fullCut=350 → the spend-and-save deal is 10 cheaper

Python The same logic in Python

discount = lambda price, rate: price * rate

full_cut = lambda price, per, cut: price - price // per * cut

full_cut(450, 200, 50)     # 350
discount(450, 0.8)         # 360.0

FAQ

How do I enter "20% off" or "15% off"?

Just enter 20 or 15 (as percent), or the decimal form 0.8 / 0.85 — the tool recognizes both; values over 100 are rejected as invalid.

Can a threshold deal be stacked with a discount?

This tool prices the two options separately and compares them. If the store allows stacking, the usual order is discount first, then threshold: compute the discounted price, then apply the spend-and-save rule to that amount.

Why is the threshold deal sometimes worse than the discount?

Thresholds are lumpy: you save the most just past the threshold, and if you fall a little short you save nothing. When the two options differ by only a small amount, prefer the one that includes a gift or free shipping.

How is the discounted price computed?

Final price = original × (1 − discount). 20% off means original × 0.8, 15% off × 0.85; savings = original − final. When a store advertises "40 off every 200", compute the effective rate on what you actually pay to compare it fairly with a straight discount.

"40 off every 200" is what percent discount?

Spending exactly 200 equals 20% off (you pay 80%). Spend 300 and the 40 comes off once — about 13.3% off. The effective rate of a threshold deal falls as the basket grows, and spending extra just to hit the threshold usually costs more than it saves.

Which is better: a discount or "second item half price"?

Second-item-half-price equals 25% off the pair (1 + 0.5) ÷ 2 = 0.75. If you already intended to buy two, it beats a 20%-off deal; if you only need one, buying a second just to trigger the half price usually costs more overall.

How do I quickly work out 10%, 20% or 25% off in my head?

Compute what's removed rather than what remains: 10% off = price minus a tenth, 20% off = minus a fifth, 25% off = minus a quarter. For example, 280 at 25% off is 280 − 70 = 210.