Percentage Calculator

Every percentage question people actually ask is one of seven shapes. Each card below is one shape — type your numbers and the answer appears instantly, with the working shown so you can check it by hand. Covers tips, sales tax, discounts, markups, exam scores, price changes and the percentage-points trap. For ratios and proportions see the Ratio Calculator; for fractions and scientific math the Scientific Calculator.

1. What is P% of X?

% of =  
15% of 200 → 0.15 × 200 = 30 (a 15% tip on a 200 bill).

2. X is what percent of Y?

is what percent of =  
30 out of 200 → 30 ÷ 200 × 100 = 15% (30 correct answers on a 200-question sheet).

3. Percent change: from X to Y

from to =  
80 → 100 is a 25% increase, but 100 → 80 is only a 20% decrease — the base matters.

4. Increase or decrease X by P%

% =  
250 + 12% = 280 (price plus tax); flip the selector for a 20% discount.

5. Reverse: the final price is Z — what was the original?

final value after % → original =  
280 after +12% tax → 280 ÷ 1.12 = 250. Do NOT subtract 12% from 280 — that gives 246.4, which is wrong.

6. Margin & markup from cost and price

cost price → margin =   of the price, markup =   over the cost
Same 10 profit: it is 25% of the cost (markup) but only 20% of the price (margin). Markdowns, tax and fees are always taken against the starting number.

7. Percentage points vs relative percent

from % to % =  
30% → 35% is +5 percentage points, but a +16.67% relative change. News headlines mix these up constantly.
Try an example:
The one formula behind cards 1–5: a percentage is just a fraction with a denominator of 100 — P% = P/100. Every result above is some arrangement of part ÷ whole or whole × P/100. Privacy: all arithmetic happens in this tab; nothing is uploaded.

What is a percentage, really?

"Per cent" literally means per hundred. 15% is the fraction 15/100 = 0.15 wearing a costume. That is why every percentage question reduces to one of two moves: multiply when you have the whole and want the part (15% of 200 = 200 × 0.15 = 30), and divide when you have the part and want the share (30 out of 200 = 30 ÷ 200 = 0.15 = 15%).

Question shapeMoveExample
P% of XX × P/10015% of 200 = 30
X is what % of YX ÷ Y × 10030 of 200 = 15%
change X → Y(Y − X) ÷ X × 10080 → 100 = +25%
X ± P%X × (1 ± P/100)250 + 12% = 280
reverse from ZZ ÷ (1 ± P/100)280 ÷ 1.12 = 250

The three mistakes everybody makes

1. Percent changes don't add. A 10% raise followed by another 10% raise is not 20% — it is 1.10 × 1.10 = 1.21, a 21% raise, because the second raise applies to the already-raised salary. Going up 25% and back down 25% leaves you at 0.75 × 1.25 = 93.75% of where you started.
2. The base changes direction. 80 → 100 is +25% (base 80), but 100 → 80 is −20% (base 100). A "25% off then 25% restocking fee" loses money for the same reason.
3. Percentage points ≠ percent. An approval rating moving from 30% to 33% rose 3 points but 10 percent relative to itself. Card 7 keeps the two apart.

Margin vs markup once and for all

Both describe the same profit, but against a different base: markup is profit over cost, margin is profit over price. A 2× price over cost (cost 50, price 100) is a 100% markup but only a 50% margin. Since price is always bigger than cost, margin is always the smaller percentage — mixing them up overstates profit.

CostPriceProfitMarkupMargin
40501025%20%
5010050100%50%
2510075300%75%

FAQ

Why is my reverse-percentage answer "wrong"? — because subtracting the percent from the final number uses the wrong base; always divide by (1 ± P/100) instead.
Can a percent change exceed 100%? — yes: 40 → 100 is a +150% change; it just means the new value is 2.5× the old one.
What about percent difference (no direction)? — when neither value is the "before", divide by the average of the two: |A−B| ÷ ((A+B)/2) × 100.
Does it round? — display only, and only trailing noise is trimmed; the arithmetic itself uses full precision, so chains like card 4 → card 5 stay exact.
Is my data sent anywhere? — no: no server, no storage, no analytics; the page runs locally.