IRR Calculator
Calculate IRR (Internal Rate of Return) and MIRR from cash flows. Newton-Raphson iteration + bisection fallback for robust convergence.
IRR Calculator
Cash flow series
Year 0 is the initial investment (enter as negative). Years 1+ are returns (positive) or further outflows (negative).How to use the IRR Calculator
Enter your cash flow series
Year 0 is the initial investment — enter it as a negative number (e.g., -50000). Years 1+ are the returns flowing back to you, entered as positive numbers. Mid-life capex? Enter as negative in the relevant year.
Set your finance rate
This is your cost of capital — the rate you're being charged on debt, or the WACC of your firm. For a conventional project (money out first, then money in) IRR above this rate means accept and below means reject. For a loan-like series, or one that changes sign more than once, that rule can mislead, so the verdict then uses NPV at this rate instead.
Set the reinvestment rate (for MIRR)
MIRR assumes positive cash flows are reinvested at a realistic rate (often lower than IRR — usually the company's cost of capital or risk-free rate). MIRR fixes a known IRR flaw: regular IRR implicitly assumes reinvestment at IRR itself, which is often unrealistic.
Read the result
IRR is computed via Newton-Raphson iteration; if Newton diverges, a bisection fallback runs. NPV at IRR should be ~$0 (this confirms convergence). MIRR is shown alongside as the more honest comparable.
IRR and MIRR — the rate-of-return view of an investment
IRR is the discount rate that makes the NPV of a series of cash flows equal to zero. It answers the question: "What is the effective compound rate of return this investment earns?" If IRR exceeds your cost of capital (finance rate), the project creates value; if not, it destroys value. The intuition is elegant — you're solving for the rate at which the present value of inflows exactly equals the upfront cost. The math is less elegant: there's no closed-form solution, so we solve iteratively.
How IRR is actually computed
Newton-Raphson is the standard approach. Starting from an initial guess (we use 10%), we compute NPV at that rate and the derivative of NPV with respect to the rate. The next guess is current_guess − NPV ÷ derivative. The process converges quadratically in well-behaved cases, usually within 5-10 iterations. When NPV's derivative becomes very small or when cash flows produce wild oscillations, we fall back to bisection — narrowing the search range by half each step. Excel's own IRR function also iterates, stopping when the result is accurate to 0.00001% or giving up after 20 tries, so a spreadsheet and this page can occasionally differ on hard cases. When cash flows change sign more than once there can be more than one rate at which NPV is zero; the page now says so and points you to NPV and MIRR instead of presenting the one it found as the answer.
IRR is a rate; NPV is the dollars created. When they rank two projects differently, NPV is the one that measures what you are trying to maximise.
Why MIRR exists
Regular IRR has a hidden assumption that quietly destroys its honesty: it assumes every positive cash flow is reinvested at the IRR itself until project end. For a project with an IRR of 25%, IRR pretends you'll find 25% reinvestment opportunities for every dollar that comes back. That's almost never true in the real world — most companies can only reinvest at their cost of capital. MIRR fixes this by explicitly using a realistic reinvestment rate (you set it) for positive cash flows and the finance rate for funding negatives. The result is almost always lower than the regular IRR — and considerably more honest. OpenStax's Principles of Finance adds the other advantage: MIRR has only one solution, where IRR can have several. It shares IRR's blind spot on scale, though, so it can accept or reject a project but not rank two of different sizes.
What the example shows
The default series invests USD 50,000 and returns USD 10,000 rising to USD 30,000 over five years. Its IRR is 23.29%, and NPV at a 10% finance rate is about USD 22,200. Reinvesting the inflows at 8% instead of at 23% gives a MIRR of 17.68%. IRR is sensitive to timing: delay every inflow by a year and the IRR falls to 17.24%, while 10% more up front lowers it to 19.61%. The rate itself travels well across markets; what changes is the hurdle you compare it with, which is your own cost of capital.
Solved by iteration: the multiple-IRR trap, and what MIRR assumes instead
IRR is the discount rate at which NPV is zero (OpenStax). It has no closed-form formula and is found by iteration.
Excel's IRR() iterates until the result is accurate to 0.00001%, and returns #NUM! if it has not converged after 20 tries.
Multiple IRRs: a series that changes sign more than once can have several. -100, +230, -132 has two: 10% and 20%.
Descartes' rule of signs: the number of positive roots is at most the number of sign changes, less an even number.
MIRR discounts outflows at the finance rate and compounds inflows at the reinvestment rate, and has a single answer.
IRR assumes inflows are reinvested at the IRR itself; MIRR replaces that with a rate you choose.
Scale: IRR and MIRR cannot rank projects of different sizes; NPV can (OpenStax).
On the defaults, IRR is 23.29%, MIRR at 10% / 8% is 17.68% and NPV at 10% is about USD 22,200.
Timing matters: delaying every inflow by a year cuts the default IRR from 23.29% to 17.24%.
A doubling is about 14.87% a year over five years and 7.18% over ten.
Frequently Asked Questions
-
Convention. The cash flow series for IRR uses signs to distinguish outflows (negative) from inflows (positive). Year 0 is "money out of your pocket," hence negative. Later positives are "money flowing back to you." The math depends on at least one sign change in the series — without it, there's no IRR.
-
IRR implicitly assumes the cash a project returns is reinvested at the IRR itself. MIRR uses rates you set: outflows are discounted at the finance rate and inflows compounded to the end at the reinvestment rate, usually the cost of capital. On this page's defaults the IRR is 23.29% and the MIRR, at 10% finance and 8% reinvestment, is 17.68%. MIRR also has a single answer, where IRR can have several.
-
IRR requires at least one negative AND one positive cash flow. All-positive (you have inflows but no initial cost) or all-negative (you only paid out) has no IRR by definition. Check that Year 0 is negative and at least one later year is positive.
-
The IRR should make NPV exactly zero by definition. If the reported NPV at IRR is more than a few cents off, the solver didn't converge cleanly — usually because of unusual cash flow patterns (extreme outliers, multiple sign changes). MIRR or direct NPV at your hurdle rate is more reliable in those cases.
-
Yes, when the cash flows change sign more than once. -100, +230, -132 has two IRRs, 10% and 20%, and the solver returns whichever it reaches first from its starting guess. Descartes' rule of signs sets the limit: the number of positive solutions is at most the number of sign changes, and less than it by an even number. The page warns when your series has more than one sign change; use NPV at your finance rate, or MIRR, to decide.
-
ROI is total gain ÷ cost, with no allowance for time. IRR is the annual compound rate that the timing of the cash flows implies. A 50% ROI over ten years is only about 4.1% a year; a 100% ROI is about 14.9% a year over five years and 7.2% over ten.
-
One above your cost of capital, the rate you entered as the finance rate. Benchmarks quoted for asset classes vary by source, period and fees, so this page does not print any. If two projects are mutually exclusive, compare their NPVs at that rate rather than their IRRs.
-
Quite. On this page's defaults, 10% more up front lowers the IRR from 23.29% to 19.61%, and delaying every inflow by one year lowers it to 17.24%. Run the cases that worry you, especially later receipts, before relying on a single figure.
-
Both. IRR is intuitive for communication (everyone understands "this project earns 18%"). NPV is more rigorous for choosing between alternatives — it's the dollar value created, not just the rate. When IRR and NPV disagree on ranking mutually exclusive projects, NPV wins. The professional habit: run both, prefer NPV on conflicts.
-
No. All calculation happens entirely in your browser via JavaScript. Open DevTools → Network and watch — there's zero outbound traffic. Safe for confidential investment evaluations and competitive financial modelling.
Method & sources
How it computes
IRR = the rate r at which sum CF_t / (1+r)^t = 0: Newton-Raphson from 10%, bisection over (-99%, 1000%) if that fails; NaN without a sign change. MIRR = (FV of inflows at the reinvestment rate / PV of outflows at the finance rate)^(1/n) - 1. The accept/reject verdict is the sign of NPV at the finance rate. RecaCorpFin.irr / mirr / signChanges / decide, tested.
What this tool implements
- Bug fixed: the verdict applied 'accept when IRR beats the finance rate' to every series. That rule runs backwards for a loan-like series (+100 then -110 was accepted at 8% with NPV -1.85) and can fail either way with several sign changes (-100, 230, -132 was accepted at 8% with NPV -0.21). The verdict now uses the sign of NPV at the finance rate, warns when the series changes sign more than once, and says when the IRR equals the rate. The FAQ misquoted Descartes (positive roots are AT MOST the number of sign changes).
- Default series (-50,000 then 10,000 to 30,000 over five years): IRR 23.29%, MIRR 17.68% at a 10% finance and 8% reinvestment rate, NPV at 10% about USD 22,200; prose now states these. Excel behaviour follows Microsoft's IRR and MIRR pages (iterative, 20 tries, 0.00001% tolerance, #NUM! otherwise). MIRR wording follows OpenStax 16.3 and 16.4.
- Removed as unsourced: real-estate and private-equity IRR bands, the ASEAN 200-400 bp premium, the '95% of the time' NPV agreement figure, PE hurdle and carry conventions, and the 200-500 bp sensitivity ranges.
Sources
- Microsoft Support. IRR function (Excel): iterative technique, up to 20 tries, accurate to 0.00001%, #NUM! if no result. https://support.microsoft.com/en-us/office/irr-function-64925eaa-…
- Microsoft Support. MIRR function (Excel): finance rate for payments, reinvestment rate for cash received. https://support.microsoft.com/en-us/office/mirr-function-b020f038…
- OpenStax. Principles of Finance, 16.3 Internal Rate of Return (IRR) Method (NPV = 0, two IRRs, reinvestment assumption, scale). https://openstax.org/books/principles-finance/pages/16-3-internal…
- OpenStax. Principles of Finance, 16.4 Alternative Methods (MIRR: one solution, compounding at a chosen rate). https://openstax.org/books/principles-finance/pages/16-4-alternat…
Pick up where you left off
Stored only in this browser — never sent to our servers.