Future Value Calculator

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
Compounding and contributions
Inflation (optional)
Calculating…
Did we solve your problem today?

How to use our Future Value Calculator

  1. Choose What do you want to find? (most people pick Future value).
  2. Enter your Starting amount (USD) and your Contribution each month (USD) (enter 0 if you will not add money).
  3. Enter the Interest rate (percent per year) and Time (years).
  4. Open Advanced options if needed, then pick Compounding frequency (how often interest is applied).
  5. In Advanced options, set Contribution frequency and When contributions are made (start or end of each period).
  6. If you want results in today's purchasing power, enter an optional Inflation rate (percent per year).
  7. If you picked Daily compounding, choose a Daily compounding convention (365 or 360 days/year).
  8. Click Calculate to see the ending balance, total contributions, total growth, and (optional) inflation-adjusted value.
  9. 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.


Sources