IRR Calculator

Calculate the internal rate of return from a series of cash flows. Free irr calculator with the formula shown - runs entirely in your browser, no signup.

Updates automatically as you type.

Calculated in your browser; your inputs are not sent to us. Privacy

Results will appear here.
Calculation details
Every figure above is calculated locally in your browser from the assumptions shown. No inputs are sent anywhere. See the methodology section below for the formulas used.
Use this resultShare the current inputs, or ask ChatGPT to explain the calculation in context.
Ask an AI to explain this result
Share this result

Planning estimate only, not financial, tax, or legal advice. Verify assumptions and current rules before making decisions.

This tool runs in your browser. Your calculator inputs and results are never transmitted to us or to ad/affiliate partners. Ads and sponsored links may set third-party cookies to serve and measure them, but they never receive your calculation values. If you explicitly save a scenario, its permitted fields stay in local browser storage until you clear them. See our Privacy Policy.

Use this result

Share the current inputs or ask ChatGPT to explain the calculation in context.

More options
Report a calculation issue
Direct answer

What does this calculator estimate?

Calculate the internal rate of return from a series of cash flows. Free irr calculator with the formula shown - runs entirely in your browser, no signup.

Discounted cash inflows closing in on the $1,000 outlay as IRR guesses tighten
Four guesses bracket the IRR at 21.64%.
Transparent methodology

How this calculator works

Reviewed August 2026 · BoringToolsKit Editorial Team

Formula

IRR is the discount rate r where Σ cash_flow_t ÷ (1+r)^t = 0.

Cite this tool

BoringToolsKit. “IRR Calculator.” boringtoolskit.com/irr-calculator/ (reviewed August 2026). Free to reference in articles, syllabi, and answer posts with a link.

Privacy: Inputs and results stay in this browser. Any future sponsored recommendation or advertisement will be clearly labeled and kept separate from the calculation.

Worked example: solving the IRR by hand

Suppose you invest $1,000 today and receive $400 after year 1, $500 after year 2, and $600 after year 3. IRR is the rate r where NPV hits zero: -1000 + 400/(1+r) + 500/(1+r)^2 + 600/(1+r)^3 = 0. There is no closed-form solution for three periods, so you iterate, exactly as the calculator's bisection loop does.

Guess r = 20% (divide by 1.2): 400/1.2 = 333.33, 500/1.44 = 347.22, 600/1.728 = 347.22. Sum = 1,027.78, so NPV is +$27.78 and the true rate is higher. Guess r = 22%: 400/1.22 = 327.87, 500/1.4884 = 335.93, 600/1.815848 = 330.42. Sum = 994.22, NPV is -$5.78. The root sits between 21% and 22%.

Bisect: at r = 21.6%, the discounted inflows are 328.95 + 338.14 + 333.77 = 1,000.86; at r = 21.65% they total 999.90. The zero crossing lands at about r = 21.645%, which the tool reports as 21.64%. The supporting metrics would show $1,500 total inflows, $1,000 initial outlay, and a $500 net gain over three years, an undiscounted return the IRR compresses into one annualized rate.

Edge cases the bisection method cannot rescue

The algorithm scans rates from -99% up to 100,000% doubling the upper bound while the NPV signs match, so it finds only the first sign change. A project with flows like -1,000, +2,300, -1,320 (an outflow, inflow, outflow) changes sign twice and mathematically has two IRRs, about 10% and 20%; the calculator returns 'No unique IRR' rather than picking one, which is the honest answer.

Scale and timing matter more than the IRR headline suggests. Flows of -100, +130 after one year and -1,000, +1,300 after one year both produce a 30% IRR, but the second earns $300 versus $30. IRR also assumes you can reinvest interim cash at the IRR itself; at 21.64% that assumption is optimistic, which is why a $500 net gain on $1,000 annualizes to 21.64% only while every dollar stays compounding at that rate.

The parser strips currency symbols, commas, and whitespace from each line and silently skips malformed rows, so a typo like '40O' with a letter O is dropped rather than flagged. With fewer than two valid flows left, you get the 'at least two cash flows' error instead of a number. Also note the tool treats year 0 as the first line by convention; a positive first flow plus all-negative later flows will fail the outflow-first check.