Percentage Change Calculator
Enter a start and end value to get the exact percentage increase or decrease, the raw difference, and a plain-English summary.
- Free, no account
- No watermark
- No usage limit
About the Percentage Change Calculator
Most percentage change calculators hand you one number and stop there. Ours shows the work, so when you enter where a value started and where it ended up you get the percent increase or decrease, the raw difference, and the three lines of arithmetic that produced it: new minus old, divide by the size of the start, times 100. So you are not staring at a lone "23.1%" wondering whether it is right. You can see exactly where it came from.
That step-by-step view is the part free tools skip, and it is the part a lot of people actually need. Students have to show their steps for the marks. Anyone building a report wants to check the math before pasting it into a slide. One tap on Copy result grabs the answer and all three steps as plain text, ready to drop into homework, an email, or a spreadsheet note. And the Share link reopens this exact calculation on someone else's screen, both numbers already filled in, so you send a colleague "here is the 12% I meant" instead of retyping it.
A price that went from $50 to $75 is a 50% increase. A stock that slid from 80 to 60 is a 25% drop. The formula behind both is (new − old) ÷ |old| × 100, and the tool runs it the instant you finish typing. To watch it move, the example chips under the inputs load a real scenario with one click, a rent bump, a raise, a markdown.
Measuring change as a percent instead of a flat difference is what makes numbers comparable. A $10 jump is a big deal on a $20 item and barely noticeable on a $2,000 laptop. Percentage change strips out the size of the starting number, so a tiny move and a giant one sit on the same scale. That is why it turns up in prices, salaries, test scores, website traffic, populations, and portfolio returns.
How to use
- Enter the original value in the first box (last month's revenue, the old price, the before number).
- Enter the new value in the second box (this month's revenue, the new price, the after number).
- Read the result. The big number is the percentage change, green for an increase, red for a decrease. Below it sits the raw difference and the step-by-step math.
- Copy or share. Hit Copy result to grab the answer and steps as text, or Share to send a link that reopens both numbers exactly as you have them.
- Change either number for a new scenario. The answer updates live, no button to press.
You can type decimals like 19.99, negative numbers, and very large figures. Leave a box empty and the tool waits instead of throwing an error. If the start value is zero, it explains why there is no answer rather than flashing something broken, more on that below.
The formula, one step at a time
percentage change = (new value − old value) ÷ |old value| × 100
Three moves. Subtract old from new to get the raw difference, the amount the number actually moved. Divide that by the absolute value of the starting number, which turns the difference into a rate ("how big was that move compared to where we began?"). Multiply by 100 to read it as a percent.
Say a subscription went from $40 to $52. The difference is 12. Divide 12 by 40 and you get 0.3. Times 100, that is a 30% increase. Run it backwards, $52 down to $40, and it is (40 − 52) ÷ 52, about a 23.1% decrease. Those two are not mirror images, and that catches almost everyone.
The old value is the anchor. It is the denominator, the "compared to what." Divide by the new number by accident and every answer comes out wrong, which is the single most common slip when people do this by hand.
Why up 50% then down 50% doesn't land you back
Go up 50%, then down 50%, and you would expect to break even. You don't. Start at 100. Up 50% takes you to 150. Take 50% off 150, that is 75 off, and you finish at 75, down a quarter from where you started.
The base moved. The first 50% was 50% of 100. The second was 50% of 150. Same percent, different starting point, so the actual amounts don't match. This is exactly why a discount and the hike that undoes it are never the same percent. Knock 20% off a $100 item and it is $80. To climb back to $100 from $80, you need a 25% increase, because now you are calculating against the smaller base. Cut something in half and it takes a 100% gain to recover. A drop always needs a bigger percentage gain to undo it than the drop itself, and this is the arithmetic behind that.
Percentage change vs percentage points
If one thing on this page saves you from a bad headline, make it this. A mortgage rate that goes from 4% to 6% moved two ways at once, both correct. It rose 2 percentage points (6 − 4). And it rose 50 percent (2 ÷ 4 × 100). Points measure the flat gap between two percentages, while percent change measures that same gap against the starting percentage.
"Interest rates jumped 50%!" is technically true for a 4% to 6% move, and completely misleading, because most people picture rates near 50% instead of a two-point bump. When you are comparing two things that are themselves percentages (interest, unemployment, conversion rates, poll numbers), decide up front whether you mean points or percent change, and say which. This calculator gives you the percent change. For the flat gap, subtract the two rates yourself.
Why you can't average two percentages
Traffic rose 10% one month, 30% the next. Average growth is not 20%. Each percent was measured against a different base, and the second month's applied to a number the first month already grew. Do it properly: start at 100, up 10% to 110, up 30% on 110 to 143. The real change from 100 to 143 is 43%, and the true per-month average works out near 19.6%. Close here, but the more the numbers swing the further that naive 20% drifts, always upward. To get a typical change across several periods, chain the actual values end to end and take the change over the whole span.
Frequently asked questions
How do I calculate percentage change by hand?
Subtract the old value from the new one, divide by the absolute value of the old, then multiply by 100. From 40 to 52 that is 12 ÷ 40 × 100 = 30%. Positive means it grew, negative means it fell. Watch the denominator, it is always the starting number, never the new one.
What does a negative result mean?
The value dropped. A −25% change means it fell by a quarter from the start. The tool marks a decrease in red and labels it in words, so a small minus sign never trips you up, and anything sitting above zero is growth.
Does it handle negative starting numbers?
Yes, and that is where dividing by |old| pays off. From −10 to −25 the value got more negative, so it went down, and the tool reports −150%. Divide by the raw −10 instead and the sign flips, telling you it went up, which is backwards. Absolute value in the denominator keeps the direction honest.
Why won't it calculate from a start of zero?
The formula divides by the starting value, and dividing by zero has no answer. There is also no sensible meaning to it. Something going from 0 to 10 isn't "up 100 percent," it is growth from nothing, and no percent describes that. So the tool asks for a non-zero start instead of printing "Infinity." If your real baseline is genuinely zero, report the plain increase (it went up by 10).
Can I share or embed a calculation?
Yes. Share copies a link with both numbers baked in, so whoever opens it sees the same result without retyping. Embed hands you a snippet to drop the live calculator onto your own page or blog, with a small link back to us. Nothing you enter is uploaded either way.
Is my data private?
Completely. Every calculation runs on your own device in the browser. Nothing you type is sent to a server, logged, or tracked, there is no sign-up, and once the page loads it keeps working with no connection.
Can I average a list of percentage changes?
No. Plain averaging overstates the real figure, because each change sits on a different base. Chain the actual values through instead, or use a compound growth (geometric mean) calculation. Averaging the percents directly gives a number that is too high.