Annuity Calculator

Use this annuity calculator to find a future value, present value, or payout amount for equal payments that repeat over time. You can choose monthly or other frequencies, payment timing (beginning or end), and see a small balance schedule to double-check your results.

Advanced options
Balances and goals
Timing and compounding
Payout solve-for
Schedule formatting
Did we solve your problem today?

How to use our Annuity Calculator

  1. Select what you want to calculate: Payout (withdraw from a balance), Future Value (save up), or Present Value (value today).
  2. Enter the payment amount (USD). In Payout mode, this is your withdrawal unless you switch to solve for payment.
  3. Enter the annual interest rate (percent). This is required and cannot be blank.
  4. Choose your payment frequency (payments per year), like monthly (12) or quarterly (4).
  5. Enter the time length (years) when it applies. In Payout mode you can instead solve for how long the money lasts.
  6. Open Advanced options to set starting balance (PV), compounding frequency, and whether payments happen at the beginning or end of each period.
  7. In Payout mode, use the Solve for setting to choose Payment amount or Years, then recalculate.
  8. Check the Effective annual rate (percent) to compare rates fairly when compounding differs.
  9. Review the schedule preview (first 12 rows and the final row) to make sure the balance moves the way you expect.

Definitions

Annuity (math annuity): A pattern of equal payments made many times (for example, $500 each month). This calculator uses the math idea of an annuity, not an insurance company quote.[3]

Payment amount (PMT): The dollar amount paid in or taken out each payment period.

Present value (PV): The value of a future payment stream in today dollars, given an interest rate.[1]

Future value (FV): How much the account is worth after all payments and interest are applied.

Ordinary annuity (end of period): Payments happen at the end of each period (example: end of the month).

Annuity due (beginning of period): Payments happen at the beginning of each period (example: on the 1st of the month).

Nominal annual rate: The stated yearly interest rate before adjusting for how often it compounds.

Compounding frequency (m): How many times per year interest is added to the balance (example: 12 for monthly).

Payment frequency (k): How many payments per year you make or receive (example: 12 for monthly).

Effective annual rate (EAR or APY): The true one-year growth rate after compounding is included.


Methodology

Overview

This calculator supports three common annuity scenarios: (1) Future Value from equal deposits, (2) Present Value of a payment stream, and (3) Payout withdrawals from a starting balance. The core idea is time value of money: money now can grow with interest, so timing matters.[1]

Step 1: Convert the annual rate into a per-payment-period rate

First compute the interest rate per compounding period from the nominal annual rate and compounding frequency.[1]

i = (annual_rate_percent/100) / m

Then convert that to the effective rate per payment period when payment frequency (k) differs from compounding frequency (m).[1]

j = (1 + i)^(m/k) - 1

If the computed payment-period rate j is very close to 0, the calculator switches to the zero-rate versions to avoid divide-by-zero.

Step 2: Effective annual rate (EAR/APY)

EAR is the one-year growth rate implied by compounding frequency m.[3]

EAR = (1 + i)^m - 1

Step 3: Number of payments

The number of payments is payments per year times years.

n = years * k

Mode A: Future Value (saving up)

End-of-period deposits (ordinary annuity):[1][2]

FV = PMT * ((1 + j)^n - 1) / j

Beginning-of-period deposits (annuity due) get one extra period of growth:[1]

FV_due = FV * (1 + j)

Zero-rate special case:

if j = 0, then FV = PMT * n

Mode B: Present Value (value today)

End-of-period payments (ordinary annuity):[1][2]

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

Beginning-of-period payments (annuity due):[1]

PV_due = PV * (1 + j)

Zero-rate special case:

if j = 0, then PV = PMT * n

Mode C: Payout (withdraw from a starting balance)

When solving for the payment amount (ordinary timing), the calculator uses the standard amortization rearrangement:[1]

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

Zero-rate special case:

if j = 0, PMT = PV / n

When solving for how many payments the balance lasts (ordinary timing), it uses:[1]

n = -ln(1 - PV*j/PMT) / ln(1 + j)

Feasibility rule (blocked with an error-style message): if j > 0 and PMT is less than or equal to PV times j, the payment is not enough to ever bring the balance down to zero, so the result is shown as N/A.

Payment timing adjustments

If you choose beginning-of-period payments, the calculator applies the standard annuity-due adjustment (multiply by 1 + j) for PV and FV formulas.[1] For solve-for-years in payout mode, the calculator uses ordinary timing; if you need beginning-of-period solve-for-years, interpret results cautiously because the exact adjustment depends on the cash-flow timing at month 0.

Totals and schedule preview

Total payments is payment amount times number of payments. Total interest is the difference between the ending value and the total payments for savings, or the difference between total withdrawals and the starting balance for payout. The schedule preview computes each payment period step-by-step using the payment-period rate j and shows the first 12 rows and the final row so you can sanity-check the direction of the balance.[1]

Input validation and edge cases

The annual rate is required (blank is invalid). Payment and balance fields must be numbers (commas and spaces are allowed, letters are rejected). Compounding frequency and payment frequency must be positive. Negative rates are allowed only when the computed (1 + j) stays positive so the math remains valid.


Sources