Investment calculators
XIRR calculator: the real annual return on irregular cashflows
What return did these cashflows actually earn?
Every row is one dated movement of money. Mark each one Invested (money leaving your pocket — a SIP instalment, a lump-sum purchase) or Received (money coming back — a redemption, a dividend, and one final row for what the holding is worth today). Amounts stay positive; the direction carries the sign. Change anything and the return recalculates instantly, in your browser.
Enter at least one investment and one current value above to see the annualised return.
What you put in, and what it grew by
The gain is everything the money earned over the whole period. XIRR is that gain restated as a yearly rate, weighted by how long each rupee was actually invested.
Educational only. These are projections from the numbers you entered — not advice, a quote, or a prediction. Real returns vary, and tax treatment differs by option and changes over time. XIRR is a measure of past cashflows, not a forecast of future ones. Klera never lends or moves money.
Why absolute return and CAGR both fail a SIP
Suppose you started a SIP three years ago. You have put in ₹3.6 lakh over thirty-six instalments and the folio is worth ₹4.6 lakh today. What return did you earn?
The tempting answer is the absolute one: you are up ₹1 lakh on ₹3.6 lakh, so about 28%. That number is arithmetically correct and almost useless, because it silently assumes all ₹3.6 lakh was invested for the same length of time. It was not. The first instalment has been working for three years. Last month's instalment has been working for four weeks. Most of your money has been invested for far less than the full period, which means a 28% total gain represents a much healthier yearly rate than 28% divided by three.
CAGR does not rescue you either. Compound annual growth rate takes one amount, one start date, one end date, and works out the smooth yearly rate connecting them. It is the right tool for a lump sum you bought once and never touched. Feed it a SIP and it has nowhere to put the other thirty-five dates — you would have to pretend the whole ₹3.6 lakh went in on day one, which understates your return badly, or on the average date, which is a fudge.
XIRR is the general case that both of those are special cases of. It asks: what single annual rate, applied to each cashflow for exactly as long as that cashflow was invested, makes everything balance? There is no closed-form answer, so it has to be solved by iteration — the calculator above uses Newton-Raphson with a bisection fallback, the same kind of method a spreadsheet's XIRR function runs, and the same code the Klera app uses.
XIRR, CAGR and absolute return, side by side
Take one concrete case. You invest ₹1,00,000 on 1 January 2023 and another ₹1,00,000 on 1 January 2025. On 1 January 2026 the holding is worth ₹2,60,000.
Absolute return is ₹60,000 on ₹2,00,000 — 30%. Over three elapsed years that reads like roughly 10% a year, and it is wrong, because the second lakh was only invested for one of those years. CAGR on the total, treating ₹2,00,000 as if it all went in at the start, gives about 9.1% — also wrong, and wrong in the same direction. XIRR gets roughly 13.5%, because it charges the first lakh three years of growth and the second lakh only one.
The gap between those numbers is not a rounding difference. It is the entire question of whether your investments did well. And it explains why the "returns" figure your broking app shows can differ from the one on your fund house's statement: one may be quoting point-to-point NAV growth for the scheme, another your personal XIRR including the exact dates you bought. Both can be correct and mean different things. Before comparing two numbers, check that they are the same kind of number over the same dates.
Getting your own cashflows out of a statement
You need two columns: a date and an amount. For mutual funds, the transaction statement from the AMC or the consolidated account statement from CAMS or KFintech lists every purchase, SIP instalment, switch and redemption with its date and rupee value. That is your raw material. For stocks, the contract notes or the ledger from your broker do the same job.
The rule is simple. Every purchase is money leaving you, so it is a negative flow. Every redemption or dividend actually paid out is money coming back, so it is positive. Then add one final row dated today for what the holding is worth right now, also positive — this is the row people forget, and without it there is nothing for the purchases to be measured against. In the calculator above you never type a minus sign; the dropdown on each row marks it Invested or Received and the sign follows from that.
Two practical shortcuts. If you ran a plain monthly SIP with no changes, you do not need every instalment to get a usable answer — a handful of representative rows plus the closing value will land close, though the exact figure needs the exact dates. And if a fund was switched rather than redeemed, treat the switch-out as a receipt in the old scheme and a fresh purchase in the new one, otherwise the two folios contaminate each other.
Where XIRR calculations go wrong
The sign convention is the most common failure. Enter everything as positive and there is no rate that balances the flows, so a spreadsheet returns an error and a careless script returns nonsense. Get it exactly backwards — purchases positive, value negative — and you will often get a plausible-looking number with the wrong meaning attached.
Forgetting the closing value is the second. A list of purchases with no current value is all money in and no money out; there is nothing to solve for. The calculator above says so explicitly rather than showing a blank.
Then there is mixing units — some rows in rupees, some in thousands or in units of the fund rather than money — which produces a confidently precise and completely fictional rate. Using XIRR where CAGR would do is harmless but noisy: for a single lump sum held untouched, the two agree, and CAGR is easier to explain. And comparing XIRR figures across different time windows is the subtlest mistake of all. A 19% XIRR measured over eighteen months and a 12% XIRR measured over nine years are not rankable. The first one has barely been tested.
What XIRR does not tell you
XIRR is a summary of what happened to your money. It is not a summary of how sensibly it was invested, and it is worth being blunt about the gap.
It says nothing about risk. Two portfolios can post the same 14% XIRR while one drifted upward steadily and the other halved in the middle and recovered. If you would have panicked and sold during the second one, the identical XIRR describes an experience you could not have lived through. It says nothing about volatility, drawdown, or concentration.
It also cannot separate skill from conditions. A great XIRR earned entirely inside a bull run tells you the market rose, and very little about whether the fund manager added anything — which is why comparing against the scheme's own benchmark over the exact same dates is more informative than the raw number. And it says nothing about tax: XIRR is a pre-tax figure, and equity and debt holdings are not taxed alike, so two identical XIRRs can leave you with different amounts of money.
Finally, it is a description of the past. A three-year XIRR is a fact about three particular years that will not repeat. Use it to check whether a holding is doing what you bought it for, not to project what it will do next.
Doing this on your own portfolio
Rebuilding a cashflow table by hand for every folio gets old quickly. Klera computes XIRR on your tracked investments automatically, offline on your phone — it holds mutual funds, stocks, FDs, RDs, PPF, EPF, NPS, gold, real estate and crypto as holdings, and once your purchases are recorded the annualised return is derived from them rather than typed in. It is the same solver as the calculator on this page, ported from the app's own code. There is no account, no cloud sync and no server that ever sees your holdings, and the app does not pull live market prices for every asset class or calculate your tax — you update valuations yourself, and the maths runs on your device. Get Klera free on Android if you want the returns tracked rather than recalculated by hand each quarter.
Frequently asked questions
What is XIRR in mutual funds?
XIRR is the annualised return on a set of investments made on different dates. A SIP puts money in every month, so each instalment has been invested for a different length of time. XIRR finds the single yearly rate that, applied to every instalment for exactly as long as it was held, produces the value you have today. It is the number fund houses and portfolio trackers report for a SIP.
What is the difference between XIRR and CAGR?
CAGR assumes one amount went in on one date and came out on another, so it only needs a start value, an end value and a number of years. XIRR handles many amounts on many dates. For a lump sum held untouched the two give the same answer. For anything with instalments, top-ups or partial withdrawals, CAGR has no way to represent the timing and XIRR does.
What is a good XIRR for a mutual fund?
There is no honest single number. A liquid fund doing 6% is doing its job; an equity fund at 6% over a decade is not. XIRR also depends heavily on the period — the same fund can show 22% measured from a market bottom and 9% measured from a peak. Judge it against the fund’s own benchmark over the same dates, not against a figure someone quoted you.
Why is my XIRR different from my absolute return?
Because absolute return ignores time completely. If you invested ₹60,000 across several months and it is now worth ₹92,000, the absolute return is about 53% no matter whether that took one year or ten. XIRR divides that gain across the actual holding period of each instalment, so a large absolute return earned slowly becomes a modest yearly rate.
How do I calculate XIRR in Excel?
Put every cashflow in one column and its date in the next, with purchases entered as negative numbers and today’s value as a final positive number dated today. Then use =XIRR(values, dates). Google Sheets uses the same function. The calculator above does the same arithmetic without the spreadsheet, and the sign convention is handled by a dropdown so you cannot get it backwards.
Can XIRR be negative?
Yes. If the value of your holding is below what you put in, adjusted for when you put it in, XIRR comes out negative — it is simply the rate at which your money shrank each year. A negative XIRR on a young SIP is common and says very little; the early instalments have barely had time to do anything either way.