The formulas
X% of Y = X / 100 × Y. X as a percentage of Y = X / Y × 100. Percentage change from A to B = (B − A) / |A| × 100. Y increased by X% = Y × (1 + X / 100), and decreased by X% = Y × (1 − X / 100). If X is P% of a whole, the whole is X / (P / 100). Each answer above shows its formula filled in with your numbers.
Two traps
Percentage changes do not cancel: a 20% rise followed by a 20% fall leaves you 4% below where you started (100 → 120 → 96), because the fall is measured from the higher value. And percent is not the same as percentage points: a rate going from 20% to 25% has risen 5 percentage points, which is a 25% increase in the rate.
What we tested
On October 14, 2026 we checked the page’s own functions against hand calculations, and counted floating-point leftovers in plain JavaScript: 8 of the 101 questions “X% of 100” (X from 0 to 100) and 2,361 of 10,000 questions “X% of Y” with whole numbers from 1 to 100 come out with a tiny binary error, such as 7.000000000000001; the calculator shows all of them cleanly. In Chromium: the default questions showed 12, 75%, 25% increase, 60, 40, 200 and 5 percentage points; 7% of 100 showed 7; 1 of 3 showed 33.33333333% (or 33.33% at 2 decimals); a change from 0 showed no number; and the page fitted a 390 px phone screen with no errors
| Check | Result |
|---|---|
| 15% of 80 | pass |
| 18 is what % of 24 | pass |
| change 80 -> 100 | pass |
| change 100 -> 80 | pass |
| change from negative -50 -> -25 (against |start|) | pass |
| increase 50 by 20% | pass |
| decrease 50 by 20% | pass |
| 30 is 15% of | pass |
| points 20% -> 25% | pass |
| 7% of 100 shown as 7 | pass |
| 1/3 keeps its decimals (10 significant digits) | pass |
| 2 decimal places | pass |
| change from 0 is an error | pass |
| input with % and commas | pass |
Sources
Checked on .
Frequently Asked Questions
Built by Derek Giordano · Part of Ultimate Design Tools