Paste dated investments and withdrawals, add today's value, and get the annualised return the way a spreadsheet XIRR does.
XIRR is the single yearly rate that makes all your dated investments and withdrawals add up to zero, so six monthly investments of ₹10,000 from 5 January 2023 that are worth ₹63,500 on 5 July 2023 give an XIRR of 21.44% a year. It is a money-weighted return: each rupee counts from the day it went in. That is why it suits a SIP, where the amounts and dates differ, and why plain CAGR does not, since CAGR assumes one amount at the start and one at the end. The page uses the spreadsheet convention. Each flow is discounted by (1 + rate) raised to the number of actual days since the first date divided by 365, so the year is always 365 days, even in a leap year. A flow of ₹1,000 invested on 1 January 2023 and ₹1,100 received on 1 January 2024 is exactly 10%.
Type or paste one cash flow per line: a date, a comma or tab or semicolon, then the amount. Dates can be YYYY-MM-DD, DD/MM/YYYY (day first, as in India), DD-MM-YYYY or a form like 15 Jan 2024. Amounts can use Indian grouping such as -1,00,000, a rupee sign, or brackets for a negative. Money you put in is negative. Money you get back is positive, and so is the value of what you still hold, which you can add in the Current value boxes or as a last row. A header line starting with Date is skipped, and lines beginning with # are notes. If a line cannot be read, the page names the line number and what is wrong, without repeating your text. Up to 2,000 rows are read.
The rate has no closed form, so the page searches for it. It scans yearly rates from −99.99% to +1,000,000% for a change of sign in the total, and also for rates where the total touches zero without crossing it (for example −₹100, +₹200 and −₹100 a year apart give exactly 0%). It narrows each sign change by halving the interval, and then polishes it. This is slower than the Newton step in some spreadsheets but it does not fail to start. The result shows the residual, the flows discounted at the answer, which should be about ₹0.00. There are cases with no answer: all flows with the same sign, all rows on one day, or a loss of more than 99.99% a year. Some flows have more than one rate that fits, for example −₹1,000, +₹2,300 and −₹1,320 a year apart fit both 10% and 20%. The page then lists the rates it found, nearest zero first, and warns that a spreadsheet may pick another. It cannot rule out rates outside the range it searched.
A yearly rate from a short period can mislead: ₹1,000 that grows to ₹1,010 in 30 days annualises to 12.87%, and the page warns when the flows span less than 365 days. XIRR assumes every flow is reinvested at the same rate, which real money is not. It ignores tax, exit loads and charges unless you include them in the amounts. Mutual fund statements may list dates in another order or format, so check the first rows after pasting. Your rows are processed in your browser, are not saved and are not sent anywhere. The result is arithmetic on the numbers you give, not investment advice.
Enter each instalment as a negative amount on its date, for example 2023-01-05, -10000 for six months, then add the current value and today's date. Six instalments of ₹10,000 from 5 January 2023 that are worth ₹63,500 on 5 July 2023 give 21.44% a year.
CAGR needs one starting amount and one ending amount. XIRR takes any number of dated flows. For a single investment the two agree up to the day count: ₹1,00,000 growing to ₹2,00,000 in 1,826 days is 14.86% by both. For a SIP only XIRR makes sense.
Usually it does not: the Microsoft example of five flows from 2008 gives 37.34% here and there. Small differences come from the spreadsheet stopping at 0.000001% accuracy, from rows being in another order, or from flows with more than one rate that fits, where the page lists them all.
XIRR needs at least one negative and one positive amount, and not all on one date. If every row is an investment, add the current value as a positive row. A total loss of more than 99.99% in a year also has no rate in the range searched.
YYYY-MM-DD, YYYY/MM/DD, DD/MM/YYYY, DD-MM-YYYY, DD.MM.YYYY and 15 Jan 2024. Slash dates are read day first, so 03/04/2024 is 3 April 2024. A date like 30/02/2024 is rejected with its line number.
Annualising compounds a short gain over a whole year. ₹1,000 becoming ₹1,010 in 30 days is 1%, but 12.87% a year by XIRR. The page warns when the first and last dates are less than 365 days apart; judge such results by the absolute gain.