IRR Calculator

Compute Internal Rate of Return from fixed or irregular cash flows.

Same cash flow each period for N periods.
$
$

Results

  • IRR (per period) %
  • IRR (annualized) %
  • Initial Investment $
  • Total Inflows $
  • NPV at IRR (≈0) $

How to Use the IRR Calculator

Follow these steps to calculate IRR and annualized IRR for a series of cash flows using CalcMastery. You’ll also see NPV at IRR for confirmation.

  1. Select the cash flow frequency

    Choose Yearly, Semiannual, Quarterly, or Monthly to match how your cash flows occur. This sets periods per year (1, 2, 4, or 12). If your data is monthly but you select Yearly, the annualized IRR will be wrong. Pick the frequency that matches your list of cash flows.

  2. Enter the initial investment (outflow)

    Type the upfront cost as a positive currency amount (e.g., 10000). The tool treats this as an outflow at time 0. Do not include currency symbols or commas as thousand separators (use 10000, not 10,000). Avoid adding a minus sign unless your project begins with an inflow instead of a cost.

  3. List the cash flows by period

    Enter your period-by-period amounts as a simple list (e.g., 2500, 3200, 4000, 4100). Use a dot “.” for decimals (75.5), and avoid thousand separators. Mark outflows with a leading minus sign when they occur after time 0. Do not repeat the initial outflow here—only list cash flows from period 1 onward.

  4. Toggle decimals (optional)

    Use “Show Decimals” if you want more precise percentage and currency outputs. Rounded displays can hide small differences; turn this on if you’re comparing similar projects. If values look odd, ensure you didn’t mix decimal comma with decimal point.

  5. Review the results

    Read IRR (per period) first—it’s the return for each selected period. Then see Annualized IRR, computed from the per-period rate using your chosen frequency. NPV at IRR should be approximately 0; if it isn’t, check for formatting issues or missing periods.

Tip: Enter percentages as plain numbers (e.g., read “7.5%” as 7.5, not 0.075) when interpreting outputs.

Frequently Asked Questions