IRR Calculator
TIME VALUE OF MONEY · INTERNAL RATE OF RETURN OF A LIST OF CASH FLOWS
What return does a project earn? Enter the cash flows, the first one being today, to get the internal rate of return per period and per year, or a clear note when there is no single answer.
The first line is today; each next line is one period later. The IRR is per period. Enter how many periods make a year (12 for monthly flows) to also see it as a yearly rate. Type 1000 rather than 1,000.
Internal rate of return, per period
8.8963%
Sign changes in the flows
1
Answer is the only one
yes
Periods
3
How to use the IRR calculator
- Type the cash flows one per line, the first one being today. Money you pay out is negative.
- Each next line is one period later (a month, a quarter, a year, as you choose).
- Optionally enter how many periods make a year, to also see the yearly rate.
- Read the IRR: the rate per period at which the net present value of the flows is zero.
- If the flows change sign more than once, read the note: there may be no single IRR.
IRR formula
- Find r such that CF0 + CF1 / (1 + r) + CF2 / (1 + r)^2 + ... = 0
- One sign change in the flows: exactly one root above -100%
- Yearly rate = (1 + r)^(periods per year) - 1
Worked example: pay 1,000, get 300, 400, 500
The same flows as on the NPV page: $1,000 out now, then $300, $400 and $500 a year later each step:
- At 8%: NPV = +17.63
- At 9%: NPV = -2.01
- NPV reaches zero at r = 8.8963%
So the project earns about 8.90% a year on the money in it. Against a 10% required return it falls short, which matches the negative NPV at 10%.
Where to go next
See what the flows are worth at a rate you choose with the NPV Calculator. For growth between two values with no flows in between, the CAGR Calculator is the simpler tool.
Planning a leveraged trade? Check position size, liquidation distance and funding cost before you open it:
Run Pre-Trade Risk CheckUse via API or MCP
The same calculation is available as the MCP tool workflow.run_irr: a script or an AI agent gets the exact number, and an honest null when there is no single answer, instead of a model doing the arithmetic in its head.
EMBED ON YOUR SITE
<!-- TradingCalc widget: please keep the link below exactly as given (address and words) --> <div class="tradingcalc-widget" data-widget="irr-calculator"><a href="https://tradingcalc.io/irr-calculator?utm_source=embed&utm_medium=backlink&utm_campaign=irr-calculator">IRR Calculator by TradingCalc.io</a></div> <script async src="https://tradingcalc.io/embed.js"></script>
Free, no signup. Keep the text link in the code exactly as given, with its address and its words: it is the attribution and it points visitors to the full calculator. Change colors, size and start values or read the installation guide and FAQ.
What is IRR?
The internal rate of return is the discount rate at which the net present value of a list of cash flows is exactly zero. It is the return the project earns on the money tied up in it, per period.
How is IRR calculated?
There is no closed form, so it is found by search: the rate r that solves CF0 + CF1 / (1 + r) + CF2 / (1 + r)^2 + ... = 0. This page uses a bracketed bisection, which always converges, instead of a starting guess that can fail.
Why does it sometimes say there is no single answer?
When the flows change sign more than once (for example pay, receive, then pay again), the equation can have several solutions or none. Then an IRR would be misleading, so the page lists what it found, or says it found nothing. Even a single rate found among several sign changes is not shown as the answer, because others could be hiding.
What range does it search?
Rates from -99% to +9,900% per period, in steps of 0.2% on a logarithmic scale. Two roots closer together than one step, or two that touch, can be missed. Flows with a single sign change always have exactly one IRR; it is searched far beyond that range, to about 1e13 per period, and the page says so if the rate is even larger.
Does it need both positive and negative flows?
Yes. If every flow has the same sign, no rate makes them sum to zero and the page asks for at least one flow of each sign.
How do I get a yearly rate from monthly flows?
Enter 12 as the periods per year. The yearly rate shown is the compounded one: (1 + monthly IRR)^12 - 1, not the monthly rate times 12.