ForHosting KIT · Developer Utilities

Reverse percentage calculator

A final price, balance, measurement, or total often tells only half the story. This reverse percentage calculator reconstructs the original amount when you know the final amount, the percentage, and whether that percentage was added or removed.

● BetaFree · in your browser
Use it from WebAPIEmailTelegramApp soon

It uses the correct inverse multiplier rather than simply subtracting the stated percentage from the final value. The result includes the recovered original, the absolute change, and the multiplier used, making the calculation easy to inspect, explain, or automate.

Why reversing a percentage needs division

A percentage change is calculated from the original amount, not from the final amount. That distinction is why reversing a change requires division. If an original value receives a 20 percent increase, the final value equals 120 percent of the original, or the original multiplied by 1.20. Recovering the starting point therefore means dividing the final amount by 1.20. Subtracting 20 percent of the final amount would use a different base and produce the wrong answer. The same principle applies to a decrease: after 20 percent is removed, 80 percent of the original remains, so the final amount must be divided by 0.80. Select whether the percentage was added or removed, enter the percentage in ordinary percentage points, and provide the observed final amount. The calculator returns the original amount and shows the exact multiplier and formula, so you can verify how the answer was derived instead of relying on an unexplained figure. This approach works consistently for prices, balances, quantities, and other non-negative amounts.

Choose added or removed carefully

The operation describes what happened to the unknown original amount. Choose added when a markup, raise, growth rate, surcharge, or other increase produced the final amount. Choose removed when a discount, reduction, loss, shrinkage, or other decrease produced it. For an addition, the divisor is one plus the percentage expressed as a decimal. For a removal, the divisor is one minus that decimal. A removed percentage must be below 100 percent because removing exactly 100 percent leaves zero regardless of the starting amount, making the original impossible to recover from the final value alone. A removal above 100 percent does not fit this non-negative amount model either. Zero percent is valid in either direction and returns the final amount unchanged. Keep units consistent: if the final amount is in dollars, kilograms, or units sold, the original and change amount use that same unit. The percentage field takes 12.5 for 12.5 percent, not 0.125, which prevents a common hundredfold input error.

Read, round, and use the result

The original amount is the reconstructed value before the stated change. The change amount is the absolute difference between that original and the final amount, so it remains positive whether the operation was an addition or a removal. The multiplier records the proportion of the original that became the final value: for example, 1.15 after a 15 percent addition or 0.85 after a 15 percent removal. Numeric fields are rounded to ten decimal places by default, and you can choose from zero through fifteen decimal places when presentation or downstream processing requires a different precision. Rounding changes only the displayed output, while the calculation itself uses the available numeric precision. For money, two decimal places may be convenient, but retain more places when you need to reconcile intermediate calculations or apply your own currency rounding rules. The endpoint is deterministic and performs no network requests, so identical inputs produce identical output. That makes it suitable for browser checks, spreadsheet replacement, repeatable financial workflows, and API validation where the formula must remain transparent.

Undo a price markup

Recover the wholesale or base price when the displayed price includes a known percentage markup.

Find a pre-discount amount

Calculate the original listed amount from a discounted final value and the percentage removed.

Reconstruct a prior balance

Work backward from a current balance after a known percentage increase or decrease.

What does the API request cost?

Each API request costs $0.002. You can also run the calculator free in your browser.

Why can I not subtract the percentage from the final amount?

The percentage was applied to the original amount, so the final amount uses a different base. Division by the change multiplier correctly reverses it.

How do I reverse a percentage increase?

Choose added. The calculator divides the final amount by one plus the percentage divided by 100.

How do I reverse a percentage decrease?

Choose removed. The calculator divides the final amount by one minus the percentage divided by 100.

Why must a removed percentage be below 100?

At 100 percent the final value is zero for every possible original, so the original cannot be uniquely recovered.

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/fin/reverse-percentage

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/fin/reverse-percentage \
  -H "Authorization: Bearer $KIT_KEY" \
  -H "Content-Type: application/json" \
  -d '{"final_amount":120,"percentage":20,"operation":"added"}'
{
  "final_amount": 120,
  "percentage": 20,
  "operation": "added"
}
{
  "task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
  "type": "fin.reverse_percentage",
  "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.

Read the full KIT documentation →