Percentage change calculator

Enter the new and old values (old ≠ 0). The calculator computes ((new − old) / old) × 100. From 80 to 100 the result is +25%. From 100 to 80 the result is −20% — same pair of numbers, different base in the denominator. Plus means increase, minus means decrease. This is not a percent of one number and not percentage difference versus the average.

Input data

Result

Enter the new and old values.

A percent of one number lives on the percent of a number page. The |old| variant with extra modes: percentage change (extended).

How it works

How 80 to 100 becomes +25%
New100
Old80
Change+25%

The calculator uses two numbers you enter: the new value (the “New value” field) and the old value (the “Old value” field). Classical percentage change is ((new − old) / old) × 100 when old ≠ 0. From 80 to 100: (100 − 80)/80 × 100 = 25. From 100 to 80: (80 − 100)/100 × 100 = −20.

Mathematical model: relative change × 100 (percentage change). The denominator is the raw old value — no |·|. For a positive old value this matches the |old| variant; here the form expects non-negative school inputs, and the calculator divides by b exactly by the formula.

A plus sign means an increase relative to the old base; a minus means a decrease. When both numbers match, the result is 0. Old equal to zero yields no result: the calculator does not fake division by zero. A period and a comma are equivalent.

This is not a “percent of a number” and not a percentage-points mode. The sibling percentage-change page adds |old|, after-p% questions, and optional percentage points — here you keep one field pair and the classical formula. The panel shows the difference, relative fraction, new÷old multiplier, and reverse-direction change.

Worked examples: 80 to 100 = +25%; 100 to 80 = −20%; 50 and 50 = 0%; 200 to 250 = +25%; 10 to 15 = +50%; 15 to 10 ≈ −33.333%. The asymmetry comes only from the changing denominator.

Formula

p = (new − old) / old × 100, when old ≠ 0.

The symbol new is field a (procent-zmiany-a). The symbol old is field b (procent-zmiany-b). The symbol p is the result in percent.

Computation: ((a - b) / b) · 100. Model: relative change × 100 (percentage change). No |·| in the denominator.

Theory, definition, and asymmetry

Definition

Percentage change (relative change × 100) from an old value b to a new value a is the ratio of the increment to the base, expressed in percent: p = ((a − b) / b) · 100 when b ≠ 0. The absolute increment is Δ = a − b. The relative fraction is r = Δ / b; the percent is p = 100 · r. This calculator implements exactly ((a − b) / b) * 100 in the browser’s floating-point arithmetic — without an absolute value in the denominator.

The definition is standard in business mathematics, YoY/MoM reporting, and school algebra. MathWorld (Percentage) and Wikipedia (Relative change and difference) state percent change as (new − old)/old · 100. The |old| variant matches when old > 0; this page keeps the classical denominator b, matching the page formula for procent-zmiany.

In teaching practice it helps to separate the mathematical formula from floating-point limits: this calculator shows the browser’s floating-point computation (about 15–16 significant digits), not a paper proof of symbolic identities. When inputs are extreme, check the domain first, then the floating-point range.

Historical and conceptual context

Percent (Latin per centum — per hundred) settled in trade, tax, and bookkeeping. Percentage change compares the increment with the initial base, not with the final value. Hence the asymmetry: +25% from 80 to 100 is not the mirror of −25% on the way back — on the way back you divide by 100 and get −20%. Price, revenue, and traffic indexes use the same logic.

Conceptually this calculator does not compute percentage points between two rates (pp) and does not solve “what is the new value after p%” — those questions live on the sibling percentage-change page. It is also not a VAT calculator or a percent-of-one-amount tool. It answers one question: by what percent the new value departs from the old relative to the old base.

In teaching practice it helps to separate the mathematical formula from floating-point limits: this calculator shows the browser’s floating-point computation (about 15–16 significant digits), not a paper proof of symbolic identities. When inputs are extreme, check the domain first, then the floating-point range.

Formal properties

Domain: b ≠ 0, a ∈ ℝ (in the school form usually a, b ≥ 0). Result p ∈ ℝ. p > 0 ⇔ a > b; p = 0 ⇔ a = b; p < 0 ⇔ a < b. Identities when b ≠ 0: a = b · (1 + p/100); p = (a/b − 1) · 100; r = a/b − 1.

The reverse change from a to b is ((b − a)/a) · 100 when a ≠ 0 — the panel shows it as a separate readout. Chaining two percentage changes on shifting bases is not ordinary percent addition: +10% then −10% does not return exactly to the start, because the second step has a new base.

In teaching practice it helps to separate the mathematical formula from floating-point limits: this calculator shows the browser’s floating-point computation (about 15–16 significant digits), not a paper proof of symbolic identities. When inputs are extreme, check the domain first, then the floating-point range.

Full derivation

Step 1. Increment Δ = a − b.

Step 2. Reference scale: S = b, requiring b ≠ 0.

Step 3. Relative fraction r = Δ / S = (a − b) / b.

Step 4. Percent p = 100 · r = ((a − b) / b) · 100.

Step 5 (recovery). Given p and b: a = b + (p/100) · b = b · (1 + p/100). Check: ((a − b)/b) · 100 = p.

Step 6 (example). a = 100, b = 80 → Δ = 20, r = 0.25, p = 25. a = 80, b = 100 → Δ = −20, r = −0.2, p = −20.

In teaching practice it helps to separate the mathematical formula from floating-point limits: this calculator shows the browser’s floating-point computation (about 15–16 significant digits), not a paper proof of symbolic identities. When inputs are extreme, check the domain first, then the floating-point range.

Special cases

Examples: 80 → 100 gives +25%; 100 → 80 gives −20%; 50 → 50 gives 0%; 200 → 250 gives +25%; 10 → 15 gives +50%; 15 → 10 gives (−5)/15 · 100 ≈ −33.333%. Doubling a positive base: +100%.

b = 0 with nonzero a is an error (division by zero). Very small |b| yields huge |p| — a feature of the formula. The form does not take negative amounts; the algebra would work on negatives the same way, but here we keep a non-negative domain.

In teaching practice it helps to separate the mathematical formula from floating-point limits: this calculator shows the browser’s floating-point computation (about 15–16 significant digits), not a paper proof of symbolic identities. When inputs are extreme, check the domain first, then the floating-point range.

Numerical notes

Computation: pct = ((a - b) / b) * 100. The calculator accepts a comma or a period as the decimal separator. Locale en-US / pl-PL affects display only.

Compared with the |b| variant: when b > 0 the results match. When b < 0 the classical formula flips the scale through a negative denominator; the |b| variant keeps a positive base. This page does not use |·| — matching the page formula.

In teaching practice it helps to separate the mathematical formula from floating-point limits: this calculator shows the browser’s floating-point computation (about 15–16 significant digits), not a paper proof of symbolic identities. When inputs are extreme, check the domain first, then the floating-point range.

Related notions and sources

Related: percent of a number, percentage change with |old|, rule of three (proportion), ratio of two numbers, percentage points (a separate scale). For VAT and margin use the finance calculators.

Sources: Wikipedia — Relative change and difference; MathWorld — Percentage; NIST / business-mathematics textbooks (percent change); statistical agencies’ relative-index practice (context, not a separate formula). Educational tool — not a textbook substitute.

How to use

  1. Enter the new value, for example 100.
  2. Enter the old value, for example 80.
  3. Click Calculate or wait for the live result. From 80 to 100 you get +25%. From 100 to 80 you get −20%.
  4. Old equal to zero leaves an error: division by zero. Enter a nonzero base.
  5. Check the panel: difference, fraction, multiplier, and reverse-direction change.
  6. A percent of one number lives on another page. Here you always have an old and a new.

80 to 100 is +25%

Percentage change = (new − old)/old × 100. From 80 to 100 is +25%. From 100 to 80 is −20%. Old zero leaves an error.

new
Field a, state after the change. 100 with old 80 gives +25.
old
Field b, division base. 0 is an error. 80 and 100 do not give mirrored ±25.
p
Result in %. 25 from 80 to 100. 0 when both numbers match.

Examples

Example 1

  • New value: 100
  • Old value: 80

+25%

What is the percentage change from 80 to 100? +25%.

Example 2

  • New value: 80
  • Old value: 100

−20%

What is the change from 100 to 80? −20%.

Example 3

  • New value: 50
  • Old value: 50

0%

What is the change when new = old? 0%.

Example 4

  • New value: 250
  • Old value: 200

+25%

What is the change from 200 to 250? +25%.

Example 5

  • New value: 15
  • Old value: 10

+50%

What is the change from 10 to 15? +50%.

Example 6

  • New value: 10
  • Old value: 15

≈ −33.333%

What is the change from 15 to 10? ≈ −33.333%.

Related calculators

Common questions

What does this calculator compute?

It computes classical percentage change: ((new − old) / old) × 100 when old ≠ 0. From 80 to 100 the result is +25%. From 100 to 80 it is −20%. Plus means increase, minus means decrease.

Which field is new and which is old?

The first field (procent-zmiany-a) is the new value. The second (procent-zmiany-b) is the old value — the denominator base. The formula is (a − b)/b × 100.

Why is 100 to 80 not −25%?

Because the base is now 100. (80 − 100)/100 × 100 = −20. Same numbers, another denominator. A rise and a fall between the same pair are not mirrors.

How is this different from a percent of a number?

A percent of a number takes one amount and a percent (for example 15% of 80). Here you always compare two states of one quantity against the old base.

How is this different from the other percentage-change page?

This page uses the classical (new − old)/old × 100 without |old| in the denominator and without “after p%” modes or percentage points. The sibling calculator uses |old| and extra question modes.

What if the old value is 0?

The result is undefined: division by zero. The calculator shows an error instead of infinity.

Do 50 and 50 give 0%?

Yes. When new equals old, the difference is 0, so (0 / 50) × 100 = 0. That is no change, not an error.

What about 10 to 15 and back?

From 10 to 15 is +50%, because (15 − 10)/10 × 100 = 50. From 15 to 10 is about −33.333%, not −50, because the base is now 15.

Do a comma and a period work the same way?

Yes. 12.5 and 12,5 are the same number. Enter both values in the same unit.

Do the currency and unit settings in the page header affect the result?

No. The currency and unit settings in the page header do not affect this result. The unit cancels; you are left with a percent.

What else does the result panel show?

The difference new − old, the relative fraction (difference ÷ old), the new ÷ old multiplier, the reverse-direction change (when new ≠ 0), and the direction: increase, decrease, or no change.

What about 200 to 250?

The result is +25%. (250 − 200)/200 × 100 = 25. Going back from 250 to 200 is −20%, because you divide by 250.

How do I calculate percentage change?

Subtract the old value from the new, divide by the old, and multiply by 100: ((new − old) / old) × 100. From 80 to 100: (20 / 80) × 100 = +25%. The old value cannot be zero.

What is the percentage change formula?

% change = (new − old) / old × 100. The denominator is always the starting value, not the ending value and not the average. A positive result is an increase; a negative result is a decrease.

What is the percentage change from 100 to 125?

+25%. (125 − 100) / 100 × 100 = 25. Going back from 125 to 100 is −20%, because the base becomes 125.

How does percentage change differ from percentage difference?

Percentage change divides by the old value. Percentage difference usually divides by the average of both values and has no directed “up/down versus base”. This page computes only change relative to the old value.

Does a 50% rise and a 50% fall return to the start?

No. From 100 to 150 is +50%. A 50% fall from 150 gives 75, not 100. Each step uses a different base in the denominator.

This is the relative change of two numbers against the old base: 80 to 100 yields +25%. A part of one amount lives on the percent of a number page.

Knowledge sources

The relative-change definition, base asymmetry, and examples below come from recognized sources.

Page updated November 3, 2026.