Estimated Future Value
$ {{ money(endingBalance) }}
Real (after inflation): $ {{ money(endingBalanceReal) }} · IRR: {{ (irrAnnual * 100).toFixed(2) }} %
$ {{ money(totalPrincipal) }} Principal $ {{ money(totalContributions) }} Contributions $ {{ money(totalInterest) }} Interest $ {{ money(totalFees) }} Fees
$
% / yr
yrs mos
$
$
%
%
% / yr
$
Metric Value Copy
{{ r.label }} {{ r.display }}
Year Deposit ($) Interest ($) Ending ($) Copy
{{ r.year }} {{ money(r.depositCum) }} {{ money(r.interestCum) }} {{ money(r.ending) }}
Month Deposit ($) Interest ($) Fees ($) Ending ($) Copy
{{ r.period }} {{ money(r.deposit) }} {{ money(r.interest) }} {{ money(r.fee ?? 0) }} {{ money(r.ending) }}

                

Introduction:

Compound interest growth icon.

Compound interest is the way balances grow when earnings are added back and earn again. It helps plan savings and investment goals by showing how deposits, timing, taxes, fees, and prices shape the future value. Use this compound interest savings calculator to compare scenarios and pick a pace that fits your horizon.

You enter a starting amount and an annual rate and a compounding schedule, then choose a length in years and months. Optional monthly and yearly deposits can be added at the beginning or at the end of each month so you can mirror paydays or transfers. Estimated results include a headline future value and a breakdown by principal, contributions, and earnings.

When taxes apply to interest the calculator reduces each credit before it is added. Fees reduce the balance each month by a fixed charge or a percentage, so steady costs are visible. The result can also be shown in real terms by applying an inflation assumption to the total at the end.

A quick example helps. A starting balance of 20,000 at five percent compounded annually for five years with no deposits grows to 25,525.63 in nominal terms. Real value is the same when inflation is zero, and the time weighted return aligns with the stated rate in this simple case.

Use consistent units and avoid unrealistic rates so comparisons stay meaningful. If a result seems off, check the contribution timing and the compounding choice since the order of operations changes growth.

Technical Details:

Balances, rates, periods, and cash flows are the core quantities. The model uses a nominal annual interest rate and a compounding schedule to determine when credits are posted while deposits and fees are handled month by month. Inflation is applied once at the end to convert the nominal total into a real amount.

The calculation builds a monthly schedule over the selected horizon. In each month contributions are applied at the chosen time, interest is added only in months that align with the compounding frequency, and then any fees are deducted. The final balance is summarized yearly for reporting and used to estimate a time‑weighted return over the whole span.

The ending balance is the headline result. A second figure expresses purchasing power by dividing by the inflation factor for the same number of years. A rate of return over the full period is computed as an internal rate that sets the net present value of monthly cash flows to zero and is then annualized for clarity.

Comparisons are most valid when rates, timing choices, and fees are kept consistent across scenarios. This is a forward model and it does not reflect market volatility, irregular days, or intramonth timing details.

E = P0 × (1+rm) N + c × (1+rm) N 1 rm
Symbols and units
Symbol Meaning Unit/Datatype Source
P0Initial principal$Input
rmPeriodic rate when compounding monthlyfraction per monthDerived
NTotal monthsmonthsDerived
cMonthly contribution$Input → annual/12 + monthly
EEnding balance (nominal)$Derived
tTax on interest creditspercent per yearInput
fyAnnual fee percentagepercent per yearInput
fmMonthly fixed fee$ per monthInput
iInflation ratepercent per yearInput
ErealEnding balance in real terms$Derived
Worked example. Starting 20,000, rate 5% per year, compounding annually, length 5 years, no contributions, no taxes, no fees, inflation 0%.
E = 20{,}000 × (1+0.05)5 = 25{,}525.63
Real equals nominal when inflation is zero. With a single upfront deposit, the annualized internal rate matches the stated rate.

Algorithmic pipeline (general case):

  1. Convert annual inputs to monthly equivalents where needed.
  2. For each month, optionally add contribution at beginning or end.
  3. Apply interest only on months aligned with compounding frequency.
  4. Subtract fees as percentage of balance plus any fixed monthly fee.
  5. Accumulate monthly rows and roll up cumulative yearly totals.
  6. Compute real balance by dividing by the inflation factor.
  7. Build monthly cash‑flow series and solve for monthly IRR via bisection.
  8. Annualize monthly IRR using $begin:math:text$(1+r)^{12}-1$end:math:text$.

Units, precision & rounding:

  • Currency displays use two decimals with the current locale’s separators.
  • Calculations use floating‑point values without forced cent rounding.
  • Rates are entered as percent per year; internal math uses fractions.

Validation & bounds from the interface:

Inputs and constraints
FieldTypeMinMaxStep/PatternError TextPlaceholder
Initial investmentnumber0
Interest rate (%/yr)number00.01
Compound frequencyselectannually | semiannually | quarterly | monthly
Length (years)number0
Length (months)number011
Annual contributionnumber0
Monthly contributionnumber0
Contribution timingselectbegin | end
Tax rate (interest)number00.01
Inflation ratenumber00.01
Annual fee (%)number00.01
Monthly fee ($)number00.01

I/O formats:

Input and output formats
InputAccepted FamiliesOutputEncoding/PrecisionRounding
Amounts, rates, termsNumeric fieldsTablesLocale formatting on screenDisplay at two decimals
CSV (annual, monthly, summary)Plain text numbersNo forced rounding
JSON payloadFull precision floatsNone

Time & calendrics:

  • Timeline advances in whole months; years equal 12 months each.
  • Interest credits occur exactly on months that match the chosen frequency.
  • No day‑count, leap‑year, or trading‑day adjustments are modeled.

Performance & complexity:

  • Monthly loop is linear in the number of months.
  • IRR uses bisection up to 80 iterations, constant time per evaluation.
  • Sensitivity curve runs the same schedule at seven nearby rates.

Diagnostics & determinism:

  • Identical inputs produce identical outputs.
  • IRR is omitted when cash‑flows do not bracket a solution.

Security & privacy:

  • Inputs are numeric and sanitized to numbers; invalid values become zero.
  • No data is transmitted or stored server‑side.

Assumptions & limitations:

  • Contributions apply monthly only; weekly and biweekly schedules are not modeled.
  • Taxes reduce interest before it is added to the balance.
  • Fees are deducted monthly; percentage fees are prorated from an annual rate.
  • Heads‑up Fees cannot exceed the current balance in a month.
  • Heads‑up Negative nominal rates are not accepted through the inputs.
  • Inflation is uniform over the whole horizon and applied at the end.
  • All months are treated as equal length; day‑level timing is ignored.
  • Market volatility and sequence‑of‑returns risk are outside scope.
  • With zero horizon or zero ending balance, IRR is not available.

Edge cases & error sources:

  • Very long horizons may accumulate floating‑point drift.
  • Rates near zero can make annuity math ill‑conditioned.
  • Zero contributions and a zero rate keep balances flat by design.
  • IRR fails when cash‑flows never change sign.
  • Monthly fee greater than balance is clipped to the balance.
  • Switching timing between begin and end changes compounding order.
  • Changing frequency alters when interest appears in the schedule.
  • Locale formatting may display commas where dots are expected.
  • Copy to clipboard can be blocked by browser permissions.
  • JSON consumers must handle large arrays for long horizons.

Scientific & standards backing:

  • Time value of money and compound interest from standard finance texts.
  • Internal rate of return defined as the discount rate solving net present value.
  • Real returns computed by deflating with an aggregate inflation factor.

Outputs are educational and not financial advice.

Step‑by‑Step Guide:

Compound interest projections show how today’s money grows into a future amount.

  1. Enter the initial investment.
  2. Set the annual interest rate and choose a compounding schedule.
  3. Pick the length in years and months.
  4. Optionally add annual and monthly contributions and choose timing.
  5. Optionally set taxes on interest, inflation, and any fees.
  6. Review the summary, schedules, breakdown, composition, growth, and JSON views.
Example: 20,000 at 5% for 5 years compounded annually with no deposits yields 25,525.63.
  • If results look low, check whether contributions are at end rather than beginning.
  • Use the growth view to see sensitivity when the rate moves a few points.

FAQ:

Is my data stored?

No. Calculations run in your browser and nothing is sent to a server.

Clipboard or file downloads happen locally.
How accurate are the numbers?

Math uses floating‑point values and posts interest on compounding months. On‑screen currency rounds to two decimals; CSV and JSON keep raw values.

Month‑level timing is assumed.
Which units and formats are supported?

Amounts are in currency units, rates are percent per year, terms are years and months. Exports are CSV tables and a JSON payload.

Can I use it offline?

After the page is loaded, calculations work without a connection. Some visual elements may require assets that must have been loaded previously.

What does a near‑zero real return mean?

Purchasing power is roughly flat after adjusting for the chosen inflation rate. Small changes in fees or timing can tip it positive or negative.

How do I calculate IRR?

Build monthly cash‑flows for deposits and the final balance, then find the monthly rate that makes their present value zero and annualize it.

Why is IRR missing?

It is omitted when flows never change sign or when the horizon is zero. Adding contributions or extending the term can restore a solution.

Is there any cost or license noted?

The package here does not include licensing terms. Availability and terms depend on where it is hosted.

Troubleshooting:

  • “Copied!” does not appear — allow clipboard access in your browser.
  • Charts do not render — ensure required assets finished loading.
  • IRR shows “—” — add a contribution or extend the length.
  • CSV opens with commas as decimals — set your spreadsheet locale.
  • Fees consume the balance — lower the fixed fee or the percentage.
  • Numbers look off — verify compounding frequency and timing choice.
Blocked: All inputs are zero. Enter a positive amount, rate, term, or contribution to produce results.

Advanced Tips:

Tip Use beginning‑of‑month timing to approximate workplace contributions that hit before interest posts.

Tip Pair annual and monthly deposits to mirror irregular top‑ups and regular auto‑saves.

Tip Test a fee percentage of zero first, then add fees to see drag clearly.

Tip Use the sensitivity curve to gauge how a one‑point rate shift affects your target.

Tip Compare nominal and real figures to separate growth from purchasing power.

Tip Export JSON when you need to pass schedules into another model.

Glossary:

Compound interest
Earnings added to principal so future interest earns on interest.
Nominal rate
Quoted annual percentage before compounding and tax effects.
Compounding frequency
How often interest credits are posted to the balance.
Contribution timing
Beginning or end of month placement of deposits.
Real value
Purchasing power after adjusting for inflation.
Internal rate of return
Rate that zeroes the net present value of cash‑flows.