Investment ROI Calculator
See your total return and annualized return on any investment.
Short answer
ROI is profit divided by the amount invested. Turning $10,000 into $13,000 is a 30% total ROI, but over three years that is only about 9.1% annualised, always compare investments on the annualised figure, not the headline.
Use the Investment ROI Calculator below for your own numbers. It updates as you type.
Your numbers
Net gain
Total ROI
50.0%
Annualized
8.4%
per year
- Initial investment
- $10,000.00
- Final value
- $15,000.00
- Net gain
- $5,000.00
Return on investment is the simplest measure of whether money you put somewhere came back bigger. Put in $10,000, take out $15,000, and your ROI is 50%. The arithmetic takes one line.
The trouble starts the moment time enters the picture. A 50% return over five years is 8.45% a year. The same 50% over twenty years is 2.05% a year. Identical headline, completely different investment. And most of the questions people arrive with, what a promised future sum is worth today, what a monthly contribution grows into, whether a tax-free yield beats a taxable one, what they actually made on a stock after fees, are all the same compounding arithmetic asked from a different direction.
This guide works through every one of them: ROI, annualized return and CAGR, future value of a lump sum and of regular contributions, present value, tax-equivalent yield, and stock and crypto profit after the fees that catch people out. Nothing here is investment advice. It is arithmetic.
How do you calculate return on investment?
ROI measures your gain as a percentage of what you put in:
ROI = (final value − initial investment) ÷ initial investment × 100 Net gain = final value − initial investment
Invest $10,000, sell for $15,000, and the gain is $5,000, so ROI is 5,000 ÷ 10,000 = 50%. The Investment ROI Calculator returns the net gain, the total ROI and the annualized return from three inputs: what you put in, what it was worth at the end, and how many years you held it.
Here is what a $10,000 starting position looks like across a range of outcomes, with the annualized figure shown for a five-year hold:
| Final value | Net gain | Total ROI | Annualized over 5 years |
|---|---|---|---|
| $8,000 | −$2,000 | −20.00% | −4.36% |
| $11,000 | $1,000 | 10.00% | 1.92% |
| $12,500 | $2,500 | 25.00% | 4.56% |
| $15,000 | $5,000 | 50.00% | 8.45% |
| $20,000 | $10,000 | 100.00% | 14.87% |
ROI can be negative, and the formula handles that without any special case. A $10,000 position that falls to $8,000 has an ROI of −20%.
The number that carries no information on its own is the middle column. Read it without the right-hand column and you know nothing about how good the investment was.
What is the difference between ROI, annualized return and CAGR?
These three get used interchangeably and only two of them mean the same thing.
Total ROI is the whole gain over the whole holding period, with no reference to time. Annualized return is the steady yearly rate that would compound your starting amount up to the final amount over that period. CAGR, compound annual growth rate, is the same number as annualized return, computed the same way. Different name, identical formula.
Annualized return = CAGR = (final value ÷ initial investment)^(1 ÷ years) − 1
The exponent is what does the work. Raising the total growth multiple to the power of one over the number of years strips the time out and leaves a per-year rate. Note that this is a geometric average, not an arithmetic one. You cannot get it by dividing total ROI by the number of years. A 50% return over five years is not 10% a year, because each year's growth compounds on the last. It is 8.45%.
| Metric | Answers | Formula | Comparable across holding periods |
|---|---|---|---|
| Net gain | How many dollars did I make | Final − initial | No |
| Total ROI | How much did it grow in total | Gain ÷ initial | No |
| Annualized return / CAGR | How fast did it grow per year | (Final ÷ initial)^(1 ÷ years) − 1 | Yes |
One limitation worth stating plainly. CAGR is a smoothed number. It describes the straight line from start to finish and says nothing about the path. An asset that halved and then quadrupled can post the same CAGR as one that ground upward quietly, and those are not the same investment to live through.
Why a 60% return over six years is not a good return
Sixty percent sounds like a lot. Run it through the annualized formula and it is 8.15% a year.
(1.60)^(1 ÷ 6) − 1 = 0.0815
Here is the same 60% total return stretched over different holding periods:
| Holding period | Total ROI | Annualized return |
|---|---|---|
| 1 year | 60% | 60.00% |
| 2 years | 60% | 26.49% |
| 3 years | 60% | 16.96% |
| 5 years | 60% | 9.86% |
| 6 years | 60% | 8.15% |
| 10 years | 60% | 4.81% |
| 20 years | 60% | 2.38% |
Every row shows the same headline gain. They describe wildly different investments.
Why 8.15% over six years is unimpressive rather than merely modest depends on what else that money could have done. The long-run average of the broad US stock market is commonly cited at around 10% a year before inflation and roughly 7% after it, though the figure depends heavily on which index, which currency and which decades you measure, and no past average is a forecast. Measured against a benchmark in that region, a 60% six-year return means you took whatever risk and effort the position required and landed at or below what a plain index fund would have done while you did nothing. That is the real test. Not whether the number is positive, but whether it beat the boring alternative after fees, tax and the risk you carried.
How do you calculate the future value of an investment?
Future value runs the arithmetic forwards. You know what you have now, you assume a rate, and you want the amount at the end.
Future value = present value × (1 + rate)^periods
A $10,000 lump sum at 6% a year for 10 years:
10,000 × (1.06)^10 = $17,908.48
The gain is $7,908.48, a total ROI of 79.08%, which is of course 6% annualized because that is what we assumed. Future value and annualized return are the same equation solved for different unknowns.
Future value of $10,000, no further contributions:
| Annual rate | 5 years | 10 years | 20 years | 30 years |
|---|---|---|---|---|
| 4% | $12,166.53 | $14,802.44 | $21,911.23 | $32,433.98 |
| 6% | $13,382.26 | $17,908.48 | $32,071.35 | $57,434.91 |
| 8% | $14,693.28 | $21,589.25 | $46,609.57 | $100,626.57 |
| 10% | $16,105.10 | $25,937.42 | $67,275.00 | $174,494.02 |
Two things to take from the grid. The rate matters more than it looks: four percentage points of extra return over 30 years turns $32,433.98 into $100,626.57. And the years matter more than the rate: 6% for 30 years beats 10% for 10 years.
Three cautions before you use any of these figures for planning. The rate is an assumption, not a fact. Real returns arrive unevenly, so a single smooth rate is a model rather than a forecast. And these are nominal dollars, so if you want purchasing power, use a rate net of inflation and treat the answer as today's money.
How do you calculate future value with regular monthly contributions?
Most people are not sitting on a lump sum. They are adding a fixed amount every month, which is an annuity, and the future value has two parts: the starting balance compounding on its own, plus each contribution compounding for however long it has left.
Future value = P × (1 + r)^n + PMT × [ ((1 + r)^n − 1) ÷ r ]
where r is the rate per period, n is the number of periods, P is the starting balance and PMT is the contribution each period.
For monthly contributions, divide the annual rate by 12 and multiply the years by 12. Start with $10,000, add $500 a month, assume 6% a year for 10 years, so r = 0.005 and n = 120:
- Starting balance grows to
10,000 × (1.005)^120 = $18,193.97 - Contributions grow to
500 × ((1.005)^120 − 1) ÷ 0.005 = $81,939.67 - Future value = $100,133.64
You put in $70,000 in total, $10,000 at the start and $60,000 over 120 months. Growth accounts for $30,133.64 of the ending balance.
Notice the starting balance reached $18,193.97 here rather than the $17,908.48 in the lump-sum table above. Same 6%, same 10 years. The difference is compounding frequency: monthly compounding turns a 6% nominal rate into slightly more than 6% of actual annual growth. Whenever you compare two projections, check they use the same compounding period before you conclude anything.
The Compound Interest Calculator runs exactly this formula with monthly compounding, so use it when contributions are part of the picture. The Retirement Calculator applies the same arithmetic over a working life and then asks the harder question of what the balance supports once you stop adding to it.
A note on annuity products. The formula above is the mathematical annuity, a stream of equal payments. A commercial annuity contract sold by an insurer is a different thing with its own charges, surrender terms and guarantees, and its value cannot be reduced to this equation. Use the arithmetic to understand the payment stream. Read the contract for everything else.
How do you calculate the present value of an investment?
Present value runs the arithmetic backwards, and it is the one people find counter-intuitive. It answers: what is a promised future amount worth today?
Present value = future value ÷ (1 + rate)^periods
If someone will pay you $50,000 in 10 years and you would otherwise have earned 6% a year on that money, the promise is worth:
50,000 ÷ (1.06)^10 = $27,919.74
That is not an accounting trick. $27,919.74 invested today at 6% becomes $50,000 in 10 years, which you can check against the future value formula. So the two are genuinely equivalent, and anyone offering you less than $27,919.74 today for that claim is offering you a worse deal than waiting.
The rate you divide by is called the discount rate, and it is doing all the work. It represents what the money could earn elsewhere at comparable risk. A higher discount rate means a future dollar is worth less today.
Present value of $50,000 promised in the future:
| Discount rate | In 5 years | In 10 years | In 20 years | In 30 years |
|---|---|---|---|---|
| 3% | $43,130.44 | $37,204.70 | $27,683.79 | $20,599.34 |
| 5% | $39,176.31 | $30,695.66 | $18,844.47 | $11,568.87 |
| 7% | $35,649.31 | $25,417.46 | $12,920.95 | $6,568.36 |
| 9% | $32,496.57 | $21,120.54 | $8,921.54 | $3,768.56 |
Present value is the right tool whenever you are choosing between money now and money later: a lump sum against a payment plan, a buyout offer against a future payout, a settlement against an instalment schedule. Convert everything to today's dollars first, then compare.
What is a promised $12,000 a year for 20 years worth today?
A stream of equal future payments is an annuity, and it has its own present value formula. You do not have to discount each payment separately.
Present value of an annuity = PMT × [ 1 − (1 + r)^−n ] ÷ r
Twenty annual payments of $12,000, discounted at 5%:
12,000 × [1 − (1.05)^−20] ÷ 0.05 = $149,546.52
The payments add up to $240,000 in nominal dollars. Their worth today is $149,546.52, a little over 62% of the headline. The gap is not a fee or a deduction. It is the cost of waiting, because a dollar arriving in year 19 has to be discounted by 19 years of foregone return.
This is why a lottery jackpot's lump-sum option is so much smaller than the advertised total, and why "$240,000 paid out over 20 years" and "$149,546.52 today" can be the same offer priced two ways. When someone quotes you the sum of a payment stream, they are quoting the number that flatters the deal. Discount it before you compare.
Change the discount rate and the answer moves a lot, so be honest about what you would realistically earn on the money instead. Use a rate you could actually get at similar risk, not the best return you can imagine.
What is tax-equivalent yield and how do you calculate it?
A municipal bond yielding less than a corporate bond can still leave you with more money, because municipal interest is generally exempt from federal income tax while taxable bond interest is not. Comparing the two headline yields directly is meaningless. Tax-equivalent yield puts them on the same footing by asking what a taxable bond would have to yield, before tax, to match the tax-free one after tax.
Tax-equivalent yield = tax-free yield ÷ (1 − your marginal tax rate)
A 3.5% tax-free yield, for someone whose marginal rate is 30%:
3.5% ÷ (1 − 0.30) = 3.5% ÷ 0.70 = 5.00%
So that municipal bond is worth as much to this person as a taxable bond paying 5.00%. If the best comparable taxable bond pays 4.6%, the municipal wins. If it pays 5.4%, the taxable one wins.
The reverse direction is the same equation rearranged, and it is sometimes the more intuitive one: after-tax yield = taxable yield × (1 − marginal rate). A 5% taxable bond at a 30% marginal rate leaves you 3.5%, which is exactly where we started.
Tax-equivalent yield of a tax-free bond, at a range of marginal rates:
| Tax-free yield | 15% | 20% | 25% | 30% | 35% | 40% |
|---|---|---|---|---|---|---|
| 3.0% | 3.53% | 3.75% | 4.00% | 4.29% | 4.62% | 5.00% |
| 3.5% | 4.12% | 4.38% | 4.67% | 5.00% | 5.38% | 5.83% |
| 4.0% | 4.71% | 5.00% | 5.33% | 5.71% | 6.15% | 6.67% |
| 4.5% | 5.29% | 5.62% | 6.00% | 6.43% | 6.92% | 7.50% |
| 5.0% | 5.88% | 6.25% | 6.67% | 7.14% | 7.69% | 8.33% |
The rates across the top are illustrative round numbers, not tax brackets. Use the column nearest your own.
Four things to get right before you trust the output.
Use your marginal rate, not your average rate. The relevant figure is the rate on your next dollar of income, because that is the rate the bond interest would be taxed at. Your effective or average rate across all your income is the wrong number and will understate the benefit. Find your marginal rate from the current bracket schedule for your filing status, or from your tax preparer, rather than guessing.
Combine federal, state and local where they apply. A municipal bond issued in your own state is often exempt from that state's income tax as well, which raises the effective marginal rate in the denominator and makes the bond look better. Out-of-state bonds usually are not. State treatment varies, so check yours rather than assuming.
Exempt does not mean exempt from everything. Some municipal interest is captured by alternative minimum tax rules, and tax-free interest can still count toward other income-linked calculations. Capital gains on a municipal bond sold before maturity are taxable in the ordinary way. Only the interest is exempt.
This is a yield comparison, not a credit comparison. Two bonds with the same tax-equivalent yield are not the same investment if one issuer is far more likely to default, or if one has ten years left to run and the other has two. Match credit quality and maturity first, then compare yields.
How do you calculate stock profit after fees?
Stock profit is ROI with two extra line items, and both of them sit on the wrong side of the equation.
Cost basis = (shares × buy price) + buy fees Net proceeds = (shares × sell price) − sell fees Profit = net proceeds − cost basis ROI = profit ÷ cost basis × 100
Buy 200 shares at $45.00 with a $9.95 commission, sell at $58.00 with another $9.95:
- Cost basis:
(200 × 45.00) + 9.95 = $9,009.95 - Net proceeds:
(200 × 58.00) − 9.95 = $11,590.05 - Profit:
11,590.05 − 9,009.95 = $2,580.10 - ROI:
2,580.10 ÷ 9,009.95 = 28.64%
Compare that to the number most people compute in their head, (58 − 45) ÷ 45 = 28.89%. The fees cost a quarter of a percentage point on a single round trip of this size.
The mistake worth naming is charging the fee only once. There are two transactions, and both usually cost something. Commissions on US stock trades are zero at many brokers now, but that is not universal across brokers, account types, markets or instruments, and where commissions have gone the other costs have not: the bid-ask spread you cross on both sides, currency conversion on foreign listings, account or platform fees, and in some markets a transaction tax or stamp duty on purchases. Check your own contract note rather than assuming the trade was free.
To get your real ROI, put your full cost basis into the Investment ROI Calculator as the initial investment and your net proceeds after selling costs as the final value. The calculator does not model fees itself, so fold them in before you type.
Taxes are the other deduction, and they come after all of this. The calculator reports the pre-tax figure.
How do you work out cost basis when you bought at several prices?
Buying the same holding more than once is where people fool themselves, usually in the flattering direction, because they remember the first purchase and forget the ones they made at higher prices.
Add up what every lot cost and divide by the total number of shares:
Average cost per share = total amount paid ÷ total shares held
| Purchase | Shares | Price | Cost |
|---|---|---|---|
| First buy | 100 | $20.00 | $2,000.00 |
| Second buy | 50 | $32.00 | $1,600.00 |
| Third buy | 100 | $26.00 | $2,600.00 |
| Total | 250 | $24.80 average | $6,200.00 |
Sell all 250 shares at $30.00 and you receive $7,500.00, a profit of $1,300.00 and an ROI of 20.97% on the $6,200 you actually committed.
Anchor on the first lot instead and you would tell yourself you made 50%, because $20.00 grew to $30.00. Both numbers are arithmetically correct about something. Only 20.97% is correct about your money.
One qualification. Average cost is the right way to measure the economics of your whole position, but it is not always the rule for tax. Which shares you are deemed to have sold when you sell part of a holding is set by your tax jurisdiction, whether that is first-in-first-out, average cost, or specific identification of lots you nominate. Those rules can produce a different taxable gain from the figure above. Measure your performance with average cost. Report your gain with whatever your jurisdiction requires.
How do you calculate crypto profit?
The formula is identical to stock profit. What differs is that crypto fees are larger, appear in more places, and are often deducted in the asset rather than shown as a separate charge, which makes them easy to miss entirely.
Send $2,000 to an exchange that charges 1.5% on the buy. You are not buying $2,000 of the coin, you are buying $1,970 of it. Suppose the price then doubles:
- Coin actually acquired:
2,000 × (1 − 0.015) = $1,970 worth - Value after the price doubles:
1,970 × 2 = $3,940.00 - Sell fee at 1.5%:
3,940 × 0.015 = $59.10 - Cash back:
3,940.00 − 59.10 = $3,880.90 - Profit:
3,880.90 − 2,000.00 = $1,880.90 - ROI: 94.05%
The coin went up 100%. You made 94.05%. Roughly 6 percentage points of a doubling disappeared into two fees of 1.5% each, and neither of them arrived as a bill.
Held for two years, that 94.05% is (1.9405)^(1 ÷ 2) − 1 = 39.30% a year, which is the number to use when comparing it against anything else.
The costs people miss, beyond the headline trading fee:
- The spread. The price you transact at is not the mid-market price on the chart. On thin pairs the gap can dwarf the stated fee.
- Network and withdrawal fees. Moving coin on-chain or off the exchange costs something, sometimes a lot, and it is charged in the asset.
- Conversion legs. Going fiat to a major coin and then to the coin you wanted means paying a fee on each leg.
- Spot price versus execution price. A large order eats through the order book and fills at an average worse than the top of it.
Total up every dollar that left your bank account as the initial investment, and every dollar that came back as the final value. Ignore what the chart says the coin did. That is the only way the ROI figure means anything.
Crypto disposals are taxable events in most jurisdictions, including crypto-to-crypto swaps, and the reporting requirements are their own subject. Nothing in this section is investment or tax advice, and none of it is a view on whether any asset is worth owning. It is arithmetic.
What ROI does not capture
ROI is useful and incomplete. It is silent on:
- Risk. A 30% return on a position that could plausibly have gone to zero is not comparable to 30% on something stable. ROI measures the outcome, never the range of outcomes you were exposed to.
- Cash flows in and out. The formula assumes one amount in and one amount out. If you added or withdrew money along the way, ROI misstates the return, and money-weighted measures such as IRR are the right tool.
- Inflation. A nominal 6% during a period of 3% inflation is roughly 3% of real purchasing power. Over decades that gap compounds into most of the answer.
- Taxes. Everything in this guide except the tax-equivalent yield section is pre-tax.
- Fees and costs. Trading costs, platform fees, spreads and fund expense ratios all come out of the return, and the ones charged annually compound against you the same way returns compound for you.
- Your time. An actively managed position that returns slightly more than an index fund but costs you hours every week has a cost the percentage does not show.
How to use ROI without fooling yourself
- Always quote the holding period alongside the return, or quote the annualized figure instead. A percentage with no time attached is not information.
- Compare against the boring alternative. The question is not whether you made money. It is whether you beat what the same money would have done in a low-cost index fund at comparable or lower risk.
- Include every cost on both sides before you type anything into a calculator. Buy fees and sell fees, not just one of them.
- Use your whole cost basis, not the price of the first lot you bought.
- Discount future promises to present value before comparing them with money in hand.
- Adjust for tax where it changes the ranking, which for bond comparisons it frequently does.
- Be suspicious of a smooth number. CAGR describes the endpoints, not the journey, and the journey is what determines whether you would actually have held on.
The bottom line
ROI tells you how much an investment gained relative to what it cost. Annualized return, which is the same thing as CAGR, tells you how good that gain was once time is accounted for, and it is the only one of the two you can compare across investments held for different lengths. Future value runs the arithmetic forwards from what you have, present value runs it backwards from what you have been promised, and tax-equivalent yield runs it across a tax line so two yields can be compared honestly.
All of it is the same compounding equation. Put your real cost basis and your real net proceeds into the Investment ROI Calculator to see the total and annualized figures, use the Compound Interest Calculator when regular contributions are involved, and the Retirement Calculator when the question is what the ending balance actually supports.
This guide explains the arithmetic. It is not investment, tax or financial advice, and no figure in it is a forecast of any asset's return.
Frequently asked questions
How do I calculate ROI?
ROI = (final value − initial investment) ÷ initial investment × 100. A $10,000 investment that grows to $15,000 has an ROI of 50%. The calculator also shows your net gain and annualized return.
What is the difference between ROI and annualized return?
Total ROI is the overall percentage gain regardless of time. Annualized return expresses that gain as a steady yearly rate. A 50% ROI is ~8.4%/year over 5 years but only ~2%/year over 20, annualized is the fair way to compare.
What is a good ROI?
It depends on risk and timeframe. As a benchmark, the broad stock market has historically returned around 10% per year before inflation (about 7% after). A “good” ROI beats a comparable-risk benchmark over the same period.
How is annualized return calculated?
Annualized return = (final value ÷ initial investment)^(1 ÷ years) − 1. It’s the constant yearly rate that would compound your initial amount up to the final value over the holding period.
Does ROI account for risk?
No. ROI measures return only, not the risk taken to earn it. A high ROI on a volatile asset isn’t directly comparable to a lower ROI on a safe one, always weigh return against the risk involved.
Can ROI be negative?
Yes. If the final value is less than your initial investment, ROI is negative, a loss. For example, $10,000 falling to $8,000 is a −20% ROI. The calculator handles losses and shows a negative annualized return.
Does this ROI calculator include inflation or fees?
No. It shows the nominal return before inflation, taxes, and fees. Your real return is lower once those are subtracted, so treat the figure as a gross starting point rather than your take-home gain.
What if I added money over time?
Simple ROI assumes a single initial amount and a final value. If you contributed along the way, a metric like IRR (internal rate of return) is more accurate. For steady monthly contributions, our compound interest calculator is a better fit.
Further reading
Compound interest explained: how your money really grows
Compound interest is the closest thing to free money, and the reason starting early beats investing more later. Here is how it works, with the math made simple.
Read the guideFinanceShould you pay off debt or invest? A simple framework
It comes down to comparing a guaranteed return against an uncertain one, plus a couple of rules that keep you out of trouble. Here is how to decide.
Read the guide