CAGR Calculator
Calculate the Compound Annual Growth Rate (CAGR) of any investment. See the smoothed annualized return between two values over time.
Last updated: 2026-03-07
CAGR calculator
Growth rate
Compound Annual Growth Rate
—Calculation History (0)
Examples
Stock Investment
$10,000 grew to $25,000 in 10 years
A buy-and-hold stock investment that more than doubled over a decade.
CAGR: 9.60% — Total return: 150%
Real Estate
$300,000 home now worth $520,000 after 7 years
A residential property purchase appreciating in a growing market.
CAGR: 8.19% — Total return: 73.33%
Business Revenue
Revenue grew from $500k to $2M in 5 years
A startup scaling from initial traction to solid revenue.
CAGR: 31.95% — Total return: 300%
How CAGR works
CAGR (Compound Annual Growth Rate) measures the average annual rate of growth of an investment over a specified time period, assuming profits are reinvested. It smooths out year-to-year volatility into one clean number.
The formula is: CAGR = (Ending Value / Beginning Value)^(1/Years) − 1. This gives you the steady annual rate that would take your beginning value to the ending value over the given period.
CAGR is more accurate than a simple average return because it accounts for compounding. For example, if an investment goes up 50% then down 33%, the simple average return is 8.5%, but the actual CAGR is 0% — you're back where you started.
CAGR is ideal for comparing investments with different time horizons, benchmarking portfolio performance, and evaluating business growth rates like revenue or user base over time.
Frequently asked questions
- What is CAGR and why does it matter?
- CAGR (Compound Annual Growth Rate) is the rate at which an investment would have grown if it grew at a steady rate every year. It's useful because it smooths out volatile year-to-year returns into one comparable number. This makes it easy to compare investments with different time horizons.
- How is CAGR different from average return?
- Average return is the arithmetic mean of annual returns. CAGR is the geometric mean — it accounts for compounding. If a stock goes up 100% then down 50%, the average return is 25%, but the CAGR is 0% because you're back at the original value. CAGR reflects actual growth.
- Is the S&P 500 CAGR really about 10%?
- Historically, the S&P 500 has delivered a CAGR of roughly 10% before inflation (about 7% after inflation) over long periods. However, this varies significantly by start and end dates. A 10-year window might show anywhere from -3% to 18% CAGR depending on timing.
- Can I use CAGR for non-financial growth?
- Absolutely. CAGR is widely used for business metrics like revenue growth, user base growth, market size expansion, and even population growth. Any scenario where you know a start value, end value, and time period works.
Related calculators
Measure your real growth
CAGR cuts through volatility to show you the true annualized return. Compare investments, track business growth, or benchmark your portfolio.
Was this calculator helpful?
Your feedback helps us improve future calculators.
Disclaimer
CAGR is a theoretical measure that smooths volatile returns into a single annualized rate. It does not reflect actual year-to-year performance. Past growth does not guarantee future results. This is for informational purposes only, not investment advice.
Embed this calculator
Copy the code below to embed this calculator on your website or blog. It's free — no API key needed.
<iframe src="https://calc.mintloop.dev/embed/finance/cagr-calculator" width="100%" height="600" frameborder="0" title="CAGR Calculator" loading="lazy"> </iframe>
Optional: auto-resize script
<script>
var CALC_HUB_ORIGIN = 'https://calc.mintloop.dev';
window.addEventListener('message', function(e) {
if (e.origin !== CALC_HUB_ORIGIN) return;
if (!e.data || e.data.type !== 'calc-hub-resize') return;
var frames = document.querySelectorAll('iframe[src*="calc.mintloop.dev"]');
frames.forEach(function(f) {
if (f.contentWindow === e.source) {
f.style.height = String(Math.max(0, Number(e.data.height) || 0)) + 'px';
}
});
});
</script>