Percentage calculator
The three everyday percentage questions, live.
How to use the percentage calculator
- All three everyday percentage questions sit on one card, one row each — there's no mode to pick. Fill in the row that matches your question and read the answer beside it.
- Row 1, “What is X% of Y”, handles tips, discounts and commission: 18% of 64 gives
11.52. - Row 2, “X is what % of Y”, turns a fraction into a percentage: 43 out of 60 gives
71.6667%. - Row 3, “% change from A to B”, compares two values and signs the result — 80 to 100 shows
+25%, so growth and decline are obvious at a glance. - Results update on every keystroke, rounded to at most 4 decimal places with thousands separators.
Common uses
- Work out a tip or commission on the spot — 18% of a $64 dinner, or your 3% cut of a $12,500 sale.
- Convert scores and proportions to percentages: 43 correct out of 60 questions, or 27 survey respondents out of 180.
- Measure a price or salary change: rent going from $1,400 to $1,500 is +7.1429% — useful when only the dollar figures are quoted.
- Track metrics month over month — traffic, revenue, weight — with the sign showing direction and the percentage making different scales comparable.
- Double-check a store's math: is "30% off $89.99" really the price on the tag?
Tips & limitations
- Percentage change is asymmetric: 80 → 100 is +25%, but 100 → 80 is −20%. Same gap, different baseline — which is why a 50% drop needs a +100% rise to recover.
- Don't confuse percent with percentage points: a rate moving from 10% to 12% is a +20% relative change (what row 3 reports) but only 2 points.
- A row shows
—when the answer would be undefined: dividing by zero in row 2, or measuring change from a starting value of 0 in row 3. That's math, not a bug. - Change from a negative start divides by its absolute value, so −50 → 50 reads as +200%. Conventions vary across finance tools when baselines are negative, so compare with care.
- There's no reverse-percentage row — for "the price before a 20% increase", divide the final value by 1.20 yourself (subtracting 20% is the classic wrong answer).
How it's built & why it's safe
Three small formulas run live in your browser: X / 100 × Y for "X% of Y", X / Y × 100 for "what percent", and (B − A) / |A| × 100 for percentage change, with a plus sign added to increases. Zero denominators are caught and shown as a dash instead of Infinity, and every result is rounded to four decimals and formatted with your locale's separators via toLocaleString. It's a single tiny script — no server, no storage, and nothing you type ever leaves your device.
Related tools: Discount & Tax Calculator · Loan & Mortgage Calculator · Buy & Trade Calculator · Bill Splitter & Tip Calculator
Frequently asked questions
What three calculations does it do?
What is X% of Y (20% of 80 is 16); X is what percent of Y (20 is 25% of 80); and the percentage change between two numbers (80 to 100 is +25%). All three rows are always visible and compute independently as you type.
Why is 80 to 100 a +25% change but 100 to 80 only -20%?
Percentage change is measured against the starting value, and the two directions start from different numbers: the 20-unit gap is 25% of 80 but 20% of 100. That asymmetry is why big losses need even bigger percentage gains to recover.
What's the difference between percent change and percentage points?
Points measure the raw gap between two percentages; percent change measures it relative to the start. A poll moving from 40% to 44% rose 4 points but +10% in relative terms. This tool's third row reports the relative change.
Why does a row just show a dash?
An input is empty or the math is undefined — you can't divide by zero, so "what % of 0" and "% change from 0" have no answer. Enter a nonzero baseline and the result appears.
How does it handle negative starting values?
The change row divides by the absolute value of the start, so going from -50 to 50 shows +200%. That's a sensible convention but not the only one in use, so treat percentage change across negative baselines with caution anywhere.
Can it work backwards — the original price before a markup?
Not directly. Divide the final amount by 1 plus the rate (after a 20% increase, divide by 1.2), then verify with the first row. Subtracting 20% from the final number lands below the true original.
Is anything I type saved or uploaded?
No. The formulas run locally in your browser on each keystroke — no server call, no storage. Reloading the page resets the example numbers.