Free ROI Calculator
How it works
Enter the amount you put in, the amount you got back, and (optionally) how long you held it — this calculator shows your net profit, your total ROI percentage, and the annualized return so you can fairly compare investments held for different lengths of time.
ROI Calculator
See exactly what your money earned — total return, net profit, and return per year.
1 Your investment
2 Time held (optional)
3 See your return
📊 Your return on investment
How the math works
ROI (return on investment) measures how much you gained or lost compared with what you put in: ROI % = (amount returned − amount invested) ÷ amount invested × 100. The annualized ROI spreads that return evenly across the holding period — (returned ÷ invested) ^ (1 ÷ years) − 1 — so a 50% gain over 5 years (about 8.45% per year) can be compared honestly with a 50% gain over 1 year.
Everyday uses
- Stocks and funds: compare the real return on shares you bought at different times for different amounts.
- Property flips and rentals: work out whether a deal actually beat simply leaving the money in a savings account.
- Business spending: check whether a new tool, ad campaign, or piece of equipment paid for itself.
- Side hustles: see the true return on gear, stock, or course fees versus what the hustle brought back.
Frequently asked questions
Q: What is a good ROI? A: It depends on the risk and the time involved. A broad stock index has historically returned roughly 7–10% per year; anything promising far more than that usually carries far more risk too. Always compare ROI together with the years held — that is what the annualized figure is for.
Q: Can ROI be negative? A: Yes. If the amount returned is less than the amount invested, ROI is negative and the difference is your loss. An ROI of −100% means the investment became worthless.
Q: Does ROI account for fees, taxes, or inflation? A: Only if you build them into your numbers. For a truer picture, add fees and taxes to the amount invested, and subtract any extra costs from the amount returned before calculating.