ForHosting KIT · Math

Percentage change calculator

From 80 to 100 is a rise of 25 %: the difference of 20 divided by the old value of 80, times 100. Enter an old and a new value to get the signed percent change, the difference, the ratio and the direction. Free in your browser.

  • Free
  • Runs in your browser
  • No sign-up
  • Your data stays on your device
Use it from WebAPIEmailTelegramApp soon
If you enter
Old value
80
New value
100
You get
Difference
20
Ratio
1.25
Percent change
25
Direction
increase

Percentage change answers a single everyday question: how much did a number move, in percent, from an old value to a new value. This percentage change calculator subtracts the old figure from the new figure, divides by the old figure, and multiplies by one hundred so the result is a signed percent. A rise from eighty to one hundred is plus twenty-five percent; a drop from two hundred to one hundred fifty is minus twenty-five percent; identical values return zero.

What percentage change means and why the sign matters

Percentage change is the signed relative movement of a quantity between two observations, expressed as a percent of the earlier observation. The textbook identity is unique and short: subtract the old value from the new value, divide that difference by the old value, then multiply by one hundred. The sign of the result is the whole story.

A positive percent is an increase, a negative percent is a decrease, and zero means the two observations are identical. That is different from asking what percent one number is of another, which is simply new divided by old times one hundred without subtracting. It is also different from applying a percent increase to a base, and different from a markdown or discount that starts from a list price.

A dedicated percentage change landing exists because people search for that phrase when they already have an old figure and a new figure and want the signed movement, not a six-mode general percentage toolbox. From eighty to one hundred the difference is twenty, twenty over eighty is one quarter, and one quarter times one hundred is plus twenty-five percent. From two hundred to one hundred fifty the difference is minus fifty, minus fifty over two hundred is minus one quarter, and the result is minus twenty-five percent.

The old value sits in the denominator, so it must be a non-zero finite number. Negative old values are legal: the same identity applies, and the sign still reports whether the new observation moved up or down relative to that negative baseline.

Where a percentage change calculator earns its keep

Science and lab notebooks reduce two successive readings to a relative change when a sensor, a titer, or a mass moves, and they need a contract that refuses a zero baseline instead of printing Infinity. Teachers and exam writers want a deterministic oracle for “what is the percent change from eighty to one hundred” that also covers decreases and unchanged pairs, not only the happy increase in the first textbook example.

Retail and pricing teams compare last week’s ticket to this week’s ticket without confusing percent change with percent of or with a markdown. Failed validation does not consume balance.

Classroom and exam checks

Let students verify “percent change from eighty to one hundred” and the matching decrease cases, including the zero-baseline error that a silent Infinity would hide.

Prices, inventory, and lab readings

Compare two successive prices, stock counts, or instrument readings and read a signed percent plus an increase or decrease label you can drop next to a sparkline.

What happens if the old value is zero?

Percentage change divides by the old value, so a zero baseline is undefined; those failures are not billed.

Does a decrease come back as a negative percent?

Yes. The result is signed. A rise from eighty to one hundred returns +25 and increase.

How is this different from a general percentage calculator?

A general percentage toolbox mixes “percent of”, “what percent is”, increase, decrease, and reverse.

Why does the order of the two values matter?

Because the old value is the base. From 80 to 100 is a rise of 25 %, but going back from 100 to 80 is a fall of 20 %, since the same gap of 20 is now measured against 100.

What does the ratio between the two values tell me?

The ratio is the new value divided by the old one. From 80 to 100 it is 1.25, meaning the new figure is 125 % of the old; the percent change is that ratio minus one, written as a percent.

Everything on this page is available programmatically. This section is for teams who want to wire it into their own systems; everyone else can just use the tool above.

POSThttps://api.kit.forhosting.com/math/percentage-change

Prefer to automate it? One authenticated POST creates the task; the result comes back by webhook or a signed link. The same capability also runs here on the web, by email and from Telegram — and soon from our app too.

curl -X POST https://api.kit.forhosting.com/math/percentage-change \
  -H "Authorization: Bearer $KIT_KEY" \
  -H "Content-Type: application/json" \
  -d '{"old_value":80,"new_value":100}'
{
  "old_value": 80,
  "new_value": 100
}
{
  "task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
  "type": "math.percentage_change",
  "status": "queued",
  "_links": {
    "result": "/tasks/tsk_…/result"
  }
}

The API is asynchronous: the call returns a task_id immediately and the result arrives by webhook. Polling is capped at 1 req/s per task.

Per request$0.002

Published price — no tokens, no invented credits. A failed task is never charged.

HTTPCodeMeaning
401unauthorizedMissing or invalid API key.
402insufficient_balanceYour balance doesn't cover the task price.
404unknown_typeThat task type doesn't exist.
429rate_limitedToo many requests. Use the webhook instead of polling.

Division by a zero old value is undefined, so that case fails with invalid_input instead of Infinity.

What percentage change means and why the sign matters

A zero baseline makes the relative change undefined, which this calculator reports as invalid_input rather than Infinity or NaN.

Input contract, response shape, and error behaviour

POST a JSON body with two required finite numbers: old_value, the non-zero baseline, and new_value, the later observation. Each field may arrive as a JSON number or as a numeric string. Common aliases are accepted when the canonical name is omitted: old, from, previous, or initial for old_value; new, to, current, or final for new_value. Missing fields, empty strings, non-numeric text, NaN, and Infinity fail with invalid_input naming the field and are not billed. A zero old_value is rejected because the formula divides by the baseline; those failures are not billed either. On success the body echoes the cleaned old_value and new_value, returns difference as new minus old, ratio as new divided by old, and percent_change as the signed primary result. It also names direction as increase, decrease, or unchanged, restates the formula string, and includes a one-line message you can show next to a chart. Example: old_value eighty and new_value one hundred yields difference twenty, ratio one point two five, percent_change twenty-five, and direction increase. Example: old_value two hundred and new_value one hundred fifty yields percent_change minus twenty-five and direction decrease. Pair the payload with your own labels or plots; this endpoint does not emit charts or multi-step classroom prose beyond the message and formula fields.

Where a percentage change calculator earns its keep

Finance and operations dashboards report period-over-period movement for revenue, headcount, inventory, and conversion rates; a dedicated signed-percent endpoint avoids reimplementing the identity in every spreadsheet and every backend language, where a forgotten multiply-by-one-hundred or a swapped old and new quietly flips the story. Keep requests small, pin percent_change and direction in tests, and you get reproducible signed movement for dashboards, homework, and edge workers without standing up a computer-algebra stack.

Period-over-period dashboards

Feed last period and this period into old_value and new_value to report a signed percent change on revenue, traffic, or conversion without a custom helper in every stack.

How do I calculate the percentage change between two numbers?

Send finite numbers old_value and new_value. The API returns percent_change = (new_value − old_value) / old_value × 100, plus the difference, the ratio, and a direction of increase, decrease, or unchanged.

What does the percentage change calculator cost?

The browser tool is free. API requests use prepaid balance at $0.002 per successful call; invalid input is not billed.

Read the full KIT documentation →