Present Value Calculator

Use this Present Value Calculator to convert future money into its value today using a discount rate, for a lump sum, repeated payments, or an uneven cash flow list. It also shows the per-period rate, discount factor, and a period-by-period breakdown to help you spot mistakes.

Advanced options
Rate setup
Payment stream options
Uneven cash flows

Use one value per line, semicolons, or comma + space. For example, 100, 200, 300 is three values; 100,200,300 is one amount.

Present value (USD)
–
Value today of all cash flows at your discount rate. If cash flows are negative (money you pay), present value can be negative.
Discount rate per period
–
This is the per-period rate used in discounting. Example: if cash flows are monthly, this is a monthly rate.
Total number of periods used
–
This is the time index of the last cash flow (for example, 120 for 10 years of monthly cash flows, if the last cash flow is at period 120).
Discount factor to last period
–
Multiplier that converts a value at the last period into a value today: 1/(1+i)^t.
Notes / warnings
–
If you see N/A, change inputs to a feasible set (for example, rate per period must be greater than -100%).
Did we solve your problem today?

How to use our Present Value Calculator

  1. Pick What are you valuing? (Lump sum, Level payments, or Uneven cash flows).
  2. Enter the Annual discount rate (percent) (required).
  3. Enter Time until last cash flow (years).
  4. Choose Cash flows per year (for example, 12 for monthly, 4 for quarterly, 1 for yearly).
  5. If you are in Lump sum mode, enter Future value (USD).
  6. Open Advanced options and pick how to convert the annual rate to a per-period rate, and (for payment streams) choose whether payments happen at the end or beginning of each period.
  7. If you are in Level payments mode, enter Payment each period (USD).
  8. If needed, fill Total number of periods (optional override) to use an exact period count instead of years times cash flows per year.
  9. If you are in Uneven cash flows mode, paste the Uneven cash flows list (one number per period, separated by new lines, semicolons, or a comma followed by a space) and choose whether the first number is today (time 0) or one period from now.
  10. Click Calculate and review the Present value, discount rate per period, discount factor, and the breakdown table.

Definitions

Present value (PV): What future money is worth in todays dollars after discounting it back to now. [1]

Future value (FV): A money amount at a future time (like 10 years from now). [2]

Discount rate: The rate used to translate future money into todays value (often your required return or opportunity cost). [1]

Period: One step in time between cash flows (for example, 1 month if you choose 12 cash flows per year).

Per-period rate: The discount rate that applies each period after converting the annual rate to match your cash flow frequency.

Ordinary annuity: Equal payments made at the end of each period. [2]

Annuity due: Equal payments made at the beginning of each period (one period sooner than ordinary). [3]

Discount factor: The multiplier that turns a future dollar into todays dollars for a specific period (for example, 0.75 means $1 later equals $0.75 today at the chosen rate).

Cash flow (CF): Money in or out at a time. Positive means you receive money; negative means you pay money.


Methodology

1) Set up periods

We first determine the total number of periods (n). Usually:

n = years x cash flows per year (m). If you fill the override, the calculator uses that n instead.

2) Convert annual rate to a per-period rate

Convert the required annual discount rate into a rate that matches one period. This is important because discounting must use the same time step as the cash flows. [1]

i_per_period = (r_annual_decimal) / m

Use this when the annual rate is treated like a nominal APR split evenly across periods.

i_per_period = (1 + r_annual_decimal)^(1/m) - 1

Use this when the annual rate is an effective annual rate (it already includes compounding across the year). [2]

3) Calculate PV based on the selected mode

Lump sum: Discount one future amount back to today. Fractional n is allowed here (real exponent).

PV = FV / (1 + i_per_period)^n

Level payments: For payments at the end of each period (ordinary annuity), use the standard annuity PV formula. [2]

PV = PMT * (1 - (1 + i_per_period)^(-n)) / i_per_period

If payments happen at the beginning of each period (annuity due), the PV is one period less discounted, so we multiply by (1 + i). [3]

PV_due = PV_ordinary * (1 + i_per_period)

If the per-period rate is exactly 0, the calculator uses the zero-rate limits:

PV = PMT x n for level payments, and PV = sum of cash flows for uneven cash flows.

Uneven cash flows: Discount each cash flow separately and add them up. The period index t starts at 1 if the first entry is one period from now, or at 0 if you include a time-0 cash flow.

PV = sum_{t=t0..T} (CF_t / (1 + i_per_period)^t)

4) Discount factor outputs and the breakdown table

The calculator reports the discount factor to the last period (t = n) and uses per-period discount factors in the breakdown table.

DF(t) = 1 / (1 + i_per_period)^t

Each breakdown row shows: period number, the cash flow, the discount factor for that period, and that cash flows PV contribution (cash flow times discount factor).

5) Validation and edge-case handling

Required percent inputs must be filled in. Cash flows per year must be a positive integer. Years must be 0 or more when used; the period override and uneven-list modes ignore Years. Per-period rate must be greater than -100% (i_per_period > -1) or discounting breaks. For Level payments, n must be a whole number; use the period override if needed. For Uneven cash flows, the list determines the periods; Years and the override are ignored. Lump-sum time may be fractional.


Sources