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
Use one value per line, semicolons, or comma + space. For example, 100, 200, 300 is three values; 100,200,300 is one amount.
How to use our Present Value Calculator
- Pick What are you valuing? (Lump sum, Level payments, or Uneven cash flows).
- Enter the Annual discount rate (percent) (required).
- Enter Time until last cash flow (years).
- Choose Cash flows per year (for example, 12 for monthly, 4 for quarterly, 1 for yearly).
- If you are in Lump sum mode, enter Future value (USD).
- 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.
- If you are in Level payments mode, enter Payment each period (USD).
- If needed, fill Total number of periods (optional override) to use an exact period count instead of years times cash flows per year.
- 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.
- 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
- B Time Value of Money - Principles of Accounting, Volume 1: Financial Accounting - Openstax
- 11.3 Explain the Time Value of Money and Calculate Present and Future Values of Lump Sums and Annuities - Principles of Accounting, Volume 2: Managerial Accounting - Openstax
- Calculating the Present and Future Value of Annuities - Investopedia