Quick Examples
Percentage Change Formula
Percentage Change = ((New Value − Old Value) / |Old Value|) × 100
((100 − 80) / |80|) × 100 = +25%
Percentage Change Calculator — Calculate % Change Between Two Numbers
Enter two values and the page reports the percentage change between them, automatically determining whether it's an increase (positive %, green up arrow) or a decrease (negative %, red down arrow) — useful when you don't yet know the direction or when you want a single tool that handles both. The math: ((new − old) / |old|) × 100, with `Math.abs(old)` in the denominator so negative bases (debts, losses, temperatures below freezing) don't flip the sign in counter-intuitive ways. Useful for stock-price comparisons, year-over-year metric tracking, A/B test deltas, comparing two estimates side-by-side, sales-quarter performance, or any moment when you want both magnitude AND direction in one number.
About this tool
The dedicated percentage-increase and percentage-decrease calculators force you to commit to a direction before entering numbers, which is fine when you know the answer. This calculator is for the more common case where you don't — you just have two numbers and want to know how they compare. The formula is ((new − old) / |old|) × 100; the result's sign tells you the direction (+ for increase, − for decrease) and the magnitude tells you the size. The `Math.abs(old)` denominator is the small detail that matters for negative-base inputs: without it, going from −10 to −5 calculates as −50% (counter-intuitive), with it, you get +50% (matches the everyday reading of "the value rose by 5 from −10"). Edge case: old = 0 is undefined and shows a friendly message. The direction indicator (↑/↓ with color) makes the result skim-readable in a meeting screenshot. Common reference cases: stock $100 → $112 = +12%, $112 → $100 = −10.7% (the asymmetry is correct: % gain to recover from a loss is bigger than the loss itself), monthly visitors 1,500 → 1,800 = +20%, a daily caloric goal of 2,400 dropping to 2,000 = −16.7% (a moderate cut), test score 75 → 90 = +20%.
- Auto-detects direction — no need to choose increase vs decrease tool
- Formula ((new − old) / |old|) × 100 with abs() for negative bases
- Direction indicator (↑ green / ↓ red) for skim-readability
- Step-by-step formula breakdown shown under the result
- Reactive — recalcs as you change either value
- Friendly message when old = 0 (division by zero edge case)
- Demonstrates loss/gain asymmetry (10% loss needs 11.1% gain to recover)
- Decimal inputs supported (precision financial / metric numbers)
- Copy result with one click
- Useful for stock prices, KPI tracking, A/B tests, year-over-year reports
Free. No signup. Your inputs stay in your browser. Ads via Google AdSense (consent required).
Frequently asked questions
When should I use % change vs the dedicated % increase / % decrease tools?
Use percentage-change when you don't yet know the direction (or when you want a single tool that handles both directions). Use the dedicated % increase or % decrease tools when you know the direction in advance and want the result framed positively in that direction (e.g., "25% off" reads more naturally than "−25% change" in retail context). The math is the same family — ((new − old) / |old|) × 100 — but the sign convention differs: percentage-change returns + or − to indicate direction, percentage-increase always assumes new > old (negative result hints at direction error), percentage-decrease returns positive numbers for actual drops. Same input → consistent magnitude across all three tools.
What's the loss/gain asymmetry (10% loss needs 11.1% gain to recover)?
A loss followed by an equal-percentage gain is NOT a wash, because each percentage applies to a different base. If a $100 stock loses 10%, it becomes $90; a 10% gain on $90 is $99, NOT back to $100. To recover from a loss of L (as a fraction), you need a gain of L / (1 − L). Worked: L = 0.10 → gain = 0.10 / 0.90 = 0.1111 = 11.11%. L = 0.20 → 25%. L = 0.50 → 100%. L = 0.75 → 300%. The asymmetry compounds the deeper the loss — a 50% drawdown requires a full doubling to recover, a 90% drawdown requires a 10×. CFA Institute curriculum uses this formula in portfolio-drawdown analysis; Brealey, Myers, Allen & Edmans Principles of Corporate Finance (15th ed, 2025) introduces it in the risk-and-return chapter.
When should I use percent change vs basis points?
For sub-percent moves — interest rates, bond yields, credit spreads, FX moves smaller than 1% — financial industry convention is basis points (1 bp = 0.01%). The Bank for International Settlements (BIS) reporting standards use bp throughout; central-bank rate decisions are quoted in bp ("ECB +25 bp", "Fed cut 50 bp"); 10y Treasury yield is "4.50% ± 5 bp" not "0.05%". The reason is precision and unambiguity: "the rate moved 0.25%" can mean either +0.25 percentage points (absolute) OR a 0.25% relative change (tiny). "25 bp" unambiguously means 0.25 percentage points absolute. For non-financial percentages and moves of 1% or more, percentage change is the natural unit.
Why use Math.abs() on the denominator for negative bases?
Without Math.abs, going from −10 to −5 calculates as ((−5) − (−10)) / (−10) × 100 = 5 / (−10) × 100 = −50%, which inverts the intuitive reading. The natural-language statement "the value rose by 5 from −10" matches a +50% reading, not −50%. Putting Math.abs around the denominator (((new − old) / |old|) × 100) preserves the sign of the numerator so that the percentage's sign tells direction (+ = rose, − = fell) regardless of whether the base is positive, negative, or zero. Spreadsheet implementations of percent change typically apply the same `abs()` convention to handle negative bases. Without abs, negative-base inputs produce mathematically valid but everyday-counter-intuitive results that confuse most users.
How is YoY % change reported in financial earnings releases?
SEC Form 10-K (annual) and 10-Q (quarterly) filings include comparative period data — quarterly results vs the same quarter prior year (Q3 2024 vs Q3 2023), and full-year vs full-year — calculated as ((current − prior) / prior) × 100. The "year-over-year" (YoY) framing isolates seasonal effects (a retailer's Q4 vs Q4, a SaaS company's Q1 vs Q1) and is the dominant comparison metric in earnings releases and investor presentations. Constant-currency reporting strips out FX moves to show "underlying" YoY change. CPI inflation is also reported as 12-month rolling YoY % change in the BLS All Items basket; ECB inflation target is 2% YoY symmetric (since July 2021 strategy review).
Sources (5)
- International Organization for Standardization (2022). ISO 80000-1:2022 — Quantities and units, Part 1: General; defines percentage (%) as the dimensionless ratio 0.01 (1% = 1/100 exact); foundational for change-percentage definition (delta / base × 100). ISO Technical Committee 12 (TC 12); supersedes ISO 80000-1:2009 / ISO 31-0.
- Bank for International Settlements (BIS) (2017). Basis point (bp) convention — 1 bp = 0.01% = 0.0001; standard sub-percent unit for central-bank rate moves and bond-yield reporting; the BIS Quarterly Review uses bp throughout for inter-period yield changes. Bank for International Settlements, Basel; codified in BIS / BCBS reporting standards.
- CFA Institute (2024). Loss/gain asymmetry in percentage change — a 50% loss requires a 100% gain to recover (0.5 × 2.0 = 1.0); a 10% loss requires an 11.11% gain (0.9 × 1.1111 = 1.0). The CFA curriculum derives the recovery formula gain_required = loss / (1 − loss), foundational for portfolio drawdown analysis. CFA Institute Curriculum (Quantitative Methods Level I).
- Brealey, R., Myers, S., Allen, F., & Edmans, A. (2025). Principles of Corporate Finance, 15th edition — risk-and-return chapter introduces loss/gain asymmetry math and drawdown recovery formula; 14th ed (2022) was first to add Edmans as 4th author. Standard finance textbook reference for percentage-change applications including stock returns, mortgage amortisation, and portfolio drawdown. McGraw-Hill, 2025 (15th edition); also Bodie, Kane & Marcus Investments, 13th edition (McGraw-Hill, January 2023).
- World Wide Web Consortium (W3C) (2018). Web Content Accessibility Guidelines (WCAG) 2.1 — Success Criterion 4.1.3 Status Messages. W3C Recommendation 5 June 2018; carried unchanged into WCAG 2.2 (Recommendation 5 October 2023).
These are the original publications the formulas in this tool are based on. Locate them by journal name and year on Google Scholar or PubMed.