Use this future value calculator to estimate your ending balance from a starting amount, optional recurring contributions, and an interest rate over time. You can also solve for the starting amount, monthly contribution, or interest rate, and see inflation-adjusted results.
Advanced options
How to use our Future Value Calculator
- Choose What do you want to find? (most people pick Future value).
- Enter your Starting amount (USD) and your Contribution each month (USD) (enter 0 if you will not add money).
- Enter the Interest rate (percent per year) and Time (years).
- Open Advanced options if needed, then pick Compounding frequency (how often interest is applied).
- In Advanced options, set Contribution frequency and When contributions are made (start or end of each period).
- If you want results in today's purchasing power, enter an optional Inflation rate (percent per year).
- If you picked Daily compounding, choose a Daily compounding convention (365 or 360 days/year).
- Click Calculate to see the ending balance, total contributions, total growth, and (optional) inflation-adjusted value.
- If you are solving for something (like Monthly contribution), enter a Goal future value (USD) and review the Solved value output.
Definitions
Future value (FV): How much money you will have at the end of the time period (your ending balance), based on a growth rate. [2]
Starting amount (present value, PV): The money you begin with today.
Contribution (PMT): Money you add each period (like each month). It can be 0.
Interest rate (annual): The percent your money is expected to grow (or shrink) per year.
Compounding: When earned interest gets added to the balance so future interest is earned on a larger (or smaller) amount.
Ordinary annuity (end of period): Assumes contributions happen at the end of each period.
Annuity due (start of period): Assumes contributions happen at the start of each period, usually increasing the ending balance.
Inflation: When prices rise over time, so the same number of dollars buys less. [1]
Nominal vs real dollars: Nominal is the raw dollar amount in the future; real (inflation-adjusted) is expressed in today's purchasing power. [3]
Methodology
Overview
This calculator finds the ending balance (future value) from a starting amount plus optional recurring contributions. It also breaks the result into total contributions vs total growth (interest/returns). Optionally, it converts the nominal ending balance into today's dollars using an inflation rate. [1][3]
Step 1: Convert frequencies to numbers of periods
Let r_annual be the annual interest rate as a decimal (example: 7% becomes 0.07).
Let m_comp be compounding periods per year (annual=1, semiannual=2, quarterly=4, monthly=12, daily=365 or 360).
Let m_contrib be contribution periods per year (monthly=12, quarterly=4, yearly=1, etc.).
n = years * m_contrib
If n is not an integer, the calculator shows an error because the contribution formulas assume a whole number of contribution periods.
Step 2: Rate per contribution period (handles mismatched schedules)
If compounding frequency and contribution frequency are different, the calculator converts the annual nominal rate into an effective rate per contribution period.
i = (1 + r_annual/m_comp)^(m_comp/m_contrib) - 1
This i is the growth rate used each contribution period.
Step 3: Future value of the starting amount
FV_lump = PV * (1 + i)^n
Step 4: Future value of recurring contributions
If i is very close to 0, the calculator switches to the zero-rate versions to avoid divide-by-zero problems.
FV_ann_end = PMT * ((1 + i)^n - 1) / i ; if i = 0 then FV_ann_end = PMT * n
If contributions are made at the start of each period (annuity due):
FV_ann_start = FV_ann_end * (1 + i)
The calculator picks FV_contrib = FV_ann_end or FV_ann_start based on your timing choice.
Step 5: Total future value, contributions, and growth
FV_nominal = FV_lump + FV_contrib
Total_contributions = PV + PMT * n
Total_growth = FV_nominal - Total_contributions
Growth_share_percent = 100 * (Total_growth / FV_nominal)
If FV_nominal is 0, growth share is shown as N/A to avoid dividing by zero.
Inflation adjustment (optional)
If you enter an inflation rate inf (as a decimal), the calculator reports the ending balance in today's dollars (purchasing power). [1][3]
FV_real = FV_nominal / (1 + inf)^years
Solve-for modes
When you choose a Solve for mode, the calculator uses the same formulas above and solves for the requested input. It hides the input it is solving for and shows a Goal future value field instead.
Solve for contribution per period (then shown as monthly contribution if Monthly is selected):
PMT = (FV_goal - PV*(1+i)^n) * i / ((1+i)^n - 1) ; if i = 0 then PMT = (FV_goal - PV)/n
If timing is start of period, the required PMT is smaller by one period of growth:
PMT_start = PMT_end / (1 + i)
Solve for starting amount (PV):
PV = (FV_goal - PMT*((1+i)^n - 1)/i) / (1+i)^n ; if i = 0 then PV = FV_goal - PMT*n
If timing is start of period, the contribution future value is larger by (1+i), so PV adjusts accordingly.
Solve for interest rate (annual):
The calculator uses bisection to find r_annual such that the difference is zero.
Find r_annual where FV_total(r_annual) - FV_goal = 0
It searches within safe bounds (down to -99.9% and up to 100% annually). If the goal cannot be reached within those bounds, the solved rate is shown as N/A with a clear reason.
Validation and edge cases
Required percent inputs cannot be blank. Time (years) must be greater than 0. Negative rates are allowed; results can go down and can become negative if withdrawals (negative contributions) are large, which may not be allowed in real accounts.