XIRR Calculator

Find the true annualised return when you invest or withdraw money on different dates: SIPs, top-ups, partial withdrawals, or trading capital added over time. Same method as the spreadsheet XIRR function. Runs in your browser; nothing is uploaded.

Cash flows

Add every investment (money you put in) and every withdrawal (money you took out). The rows below are an example SIP; replace them with your own.

Date, type, amount (₹)
Generate monthly SIP installments
Current value
Result
XIRR (annualised)
-
Total invested₹0
Total received (withdrawals + current value)₹0
Net gain / loss₹0
Absolute return-
Period covered-

A worked example

Say you invest Rs 5,000 a month for 12 months starting July 2024, so Rs 60,000 in total, and a year after the first instalment your holding is worth Rs 66,000. A simple return would call that a 10% gain, but the money was not all invested for the same length of time: the last instalment has only just gone in while the first has been growing for a year. XIRR accounts for exactly when each rupee went in and comes out to 19.04% annualised, which is the number actually comparable to a fixed deposit rate or another investment's return.

Understanding XIRR

The idea
Find the annual rate r for which the sum of every cash flow, each divided by (1 + r) raised to the number of years since the first date, equals zero. Money invested counts as negative, money received (including today's value) as positive.
Days over 365
Years are counted as days divided by 365, the same as the spreadsheet function, so results match Excel and Google Sheets.
Why not simple return
Putting in Rs 10,000 a month for a year is not the same as putting in Rs 1.2 lakh on day one, because the later installments had less time to grow. XIRR accounts for that; a plain percentage gain does not.
Limits
It needs at least one investment and one receipt on different dates. Unusual patterns of alternating cash flows can in theory have more than one valid rate; this tool returns the one it finds first, which for normal invest-then-withdraw patterns is the only one.

Common questions

What is XIRR?

XIRR is the annualised return on a series of cash flows that happen on different dates. It finds the single yearly rate that, applied to every investment and withdrawal from its own date, makes the total equal the current value. It is the right measure when you add or take out money at irregular times, which a simple return figure cannot handle.

How is XIRR different from CAGR or a simple ROI?

CAGR and simple ROI assume one investment at the start and one value at the end. XIRR handles many dated cash flows, so it reflects when each rupee was actually invested. For a single buy and a single sell, XIRR and CAGR give the same answer.

How do I calculate my SIP returns?

Enter each monthly installment as an invested cash flow with its date, then enter the current value of the units as the current value. You can generate a run of monthly installments in one step with the SIP option. The XIRR shown is your annualised return on that SIP.

Why does my XIRR look extremely high or low?

When the period is shorter than a year, XIRR annualises a short-term result, so a small gain over a few weeks can look like a huge annual rate. It is mathematically correct but not a forecast. For short periods, look at the absolute return figure instead.

Does XIRR include taxes and charges?

Only if you include them. This calculator uses exactly the amounts you enter, so add brokerage and other costs into your invested amounts, and use the value after tax if you want an after-tax return.

Will this match Excel or Google Sheets?

Yes. It uses the same convention as the spreadsheet XIRR function: each cash flow is discounted by the number of days from the first date divided by 365. It needs at least one investment and one receipt, and the first date is the reference point.

Not investment advice. This tool calculates a return from the dated amounts you enter. It does not know your actual account statements, charges or taxes unless you include them, and past returns do not predict future ones.