Debt Repayment Timeline
{{ summaryHeadline }}
Paid $ {{ formatCurrency(totals.totalPaid) }} Interest $ {{ formatCurrency(totals.totalInterest) }} Saved {{ readableMonths(totals.monthsSaved) }} Interest saved $ {{ formatCurrency(totals.interestSaved) }} Min payments $ {{ formatCurrency(totalMinimum) }}
Debt Repayment Inputs
Debts
Name Balance ($) APR (%) Minimum ($) Remove
$
%
$
{{ strategyHint }}
$
Minimum payments add up to $ {{ formatCurrency(totalMinimum) }}
% / yr
$
$
Metric Value Copy
{{ row.label }} {{ row.display }}
Month Payment ($) Principal ($) Interest ($) Balance ($) Copy
{{ row.label }} $ {{ formatCurrency(row.payment) }} $ {{ formatCurrency(row.principal) }} $ {{ formatCurrency(row.interest) }} $ {{ formatCurrency(row.remaining) }}
Debt Paid off Months Interest ($) Copy
{{ mile.name }} {{ mile.label }} {{ readableMonths(mile.months) }} $ {{ formatCurrency(mile.interestPaid) }}
{{ formattedJSON }}
:

Introduction:

Debt repayment strategies explain how to clear loans and cards in less time while paying less interest. They help you decide where every spare dollar goes so progress is steady and measurable.

Results show a calendar date for becoming debt free, the months required, and interest saved compared with paying only the minimums. You provide balances, rates, minimums, and any extra you can add each month, then see the payoff timeline update immediately.

The calculator always covers every minimum payment, then applies the leftover according to the strategy you choose: avalanche (highest APR), snowball (smallest balance), highest balance first, or highest minimum payment first. When a debt closes its former minimum rolls into the extra pool so momentum keeps growing.

Use consistent figures and review the first month interest for each debt to confirm that your minimums are realistic. If the interest equals or exceeds a minimum the plan cannot reduce that balance, so increasing the minimum or extra is necessary.

Technical Details:

The quantities tracked are debt balance, annual percentage rate as a fraction per year, and the minimum payment per month. From these, monthly interest is computed and payments are split between interest and principal for each period.

After minimums, the algorithm sorts active debts based on the selected strategy—highest APR, lowest balance, largest balance, or largest minimum payment. Each month it directs the extra to the top-ranked balance, and once a debt is cleared its minimum joins the extra for future months.

Results include a payoff month count, a calendar label derived from the selected start month, totals for principal and interest paid, and savings against a baseline that pays only minimums. Values near the boundary where a minimum barely covers first month interest are sensitive and may require a slightly larger minimum or extra.

Comparisons assume fixed minimums and rates, interest applied before payment each period, monthly steps, and whole schedule consistency from a single start month. The default favours higher rates, but switching strategies reorders the queue while preserving those baseline assumptions.

i = B ( r 12 )
Symbols and units
Symbol Meaning Unit/Datatype Source
B Balance at period start $ Input
r Annual interest rate fraction per year Input
i Interest charged for the month $ Derived
m Minimum payment $ per month Input
e Extra payment pool for the month $ Derived
P Principal paid this month $ Derived
R Remaining balance after payment $ Derived
Worked example. Let B = 1,200 and r = 0.12, so
i = 1200 ( 0.12 12 ) = 12.00
With m = 50 and no extra, P = 50 − 12.00 = 38.00 and R = 1,200 + 12.00 − 50 = 1,162.00. If an extra of 100 is available, the additional 100 applies to the highest rate balance after minimums.

Processing pipeline

  1. Validate start month and each debt’s balance, rate, and minimum.
  2. Compute monthly interest for every open debt.
  3. Apply each minimum to cover interest and reduce principal.
  4. Add base extra, any freed minimums, rounding, annual raise, and optional bonus to the extra pool.
  5. Direct the extra pool to the highest rate balance, then the next, until exhausted.
  6. Close any balance that reaches zero and add its former minimum to the next month’s pool.
  7. Record payment, interest, principal, and remaining balance for the month.
  8. Repeat until all balances are zero or the 600 month limit is reached.

Validation & bounds

Input validation and error messages
Field Type Min Max Step/Pattern Error Text
Start month month string — — YYYY-MM Select a start month in YYYY-MM format.
Balance ($) number 0 — step 0.01 Ignored if not above zero.
APR (%) number 0 — step 0.01 —
Minimum ($) number 0 — step 0.01 Minimum payment must be above zero.
Monthly extra ($) number 0 — step 0.01 —
Annual raise (%) number 0 — step 0.1 —
Annual lump sum ($) number 0 — step 1 —
Bonus month integer 1 12 — —
Round extra to ($) number 0 — step 1 Rounded up to the next increment.
Feasibility rule — — — m > first month interest Minimum must exceed the first month’s interest.

Units, precision, and rounding

  • Currency displays to cents using locale formatting.
  • Rates and currency inputs are rounded to two decimals on sync.
  • Extra rounding uses a ceiling to the chosen increment.
  • Internal math uses IEEE 754 double precision; displays round at presentation.

I/O formats

Inputs and outputs
Input Accepted Families Output Encoding/Precision Rounding
Balances, rates, minimums Numbers with decimal separator Summary metrics and monthly schedule Two decimals for currency Half up to the cent
Advanced options Raise %, lump sum, month, rounding Milestones, charts, baseline comparison JSON and CSV exports available As above

Time & calendrics

  • Start month selects the calendar anchor for labels such as Jan 2025.
  • Debt free date is the label of the final payoff month.

Networking & storage behavior

All calculations, schedules, and downloads are produced in the browser. No server requests are performed by the calculator and nothing is stored remotely unless you copy or save it.

Performance & complexity

Each month iterates over open debts in rate order, so complexity is proportional to months multiplied by active debts. A guard stops schedules that would exceed 600 months.

Diagnostics & determinism

Identical inputs produce identical schedules. Errors appear for missing start month, infeasible minimums, and schedules that would extend beyond 50 years.

Security & privacy

No secrets or credentials are used. Names are treated as plain text. Avoid entering personally identifiable information in labels.

Assumptions & limitations

  • Minimums and rates are treated as constant for modeling.
  • Heads‑up Interest applies before payment each month.
  • Heads‑up Extra rounding is upward to the next increment.
  • Annual raise compounds once every 12 months on the extra only.
  • Annual lump sum applies in the chosen month after other payments.
  • Balances at or below zero are ignored during setup.
  • Heads‑up The plan halts at 600 months if not fully paid.
  • Heads‑up A minimum must exceed first month interest to reduce a balance.

Edge cases & error sources

  • Start month not in YYYY-MM format.
  • No debt with positive balance and minimum.
  • Minimum not above first month interest for a debt.
  • Payments that only cover interest across all debts.
  • Very small extras combined with high rates extend payoff time.
  • Floating point rounding may change the last cent displayed.
  • Overpayment of a closing debt returns unused dollars to the pool.
  • Charts and exports are unavailable until a schedule exists.
  • Rounding the extra can change which month a payoff occurs.
  • Changing the start month only relabels dates, not the math.

Privacy & compliance

Processing occurs in the browser and no data is transmitted or stored on a server by the calculator. Outputs are educational and not financial advice.

Step‑by‑Step Guide

Debt repayment modeling produces a payoff date, cost, and savings compared with minimums.

  1. Enter each debt’s balance, rate, and minimum.
  2. Pick the start month to anchor calendar labels.
  3. Add a monthly extra you can commit.
  4. Optionally set annual raise, lump sum, and rounding.
  5. Review the summary, schedule, milestones, and charts.
  6. If an error appears, increase a minimum or the extra and recalc.

Example: Start in January, add 200 as an extra, and decide whether to raise that amount each year or send a bonus in a chosen month. The summary shows the new date and savings.

FAQ

Is my data stored?

No. Calculations and files are produced in the browser. Nothing is sent to a server by the calculator unless you choose to share or save outputs.

Avoid sensitive personal labels.
How accurate is the schedule?

It follows monthly interest from your rates and splits each payment into interest and principal. Real statements may differ when lenders change rates, fees, or minimum formulas.

What units and formats work?

Currency uses two decimals, rates are percentages, and the start month uses a year and month format. Labels are calendar months such as Jan 2025.

Does it support the smallest balance first?

No. Payments after minimums go to the highest rate first. To mimic a smallest balance approach, adjust rates to reflect your desired order.

What does a borderline result mean?

If a minimum equals the first month interest, the balance will not shrink. Increase that minimum or add more extra so principal is reduced each month.

Can I export results?

Yes. You can copy or download CSV, export DOCX for summaries and schedules, and copy or download a JSON payload of inputs, summary, schedule, and milestones.

Does it work without a connection?

After the page loads, calculations and exports continue to work. No remote calls are used by the calculator to process your inputs.

What happens if payoff exceeds 50 years?

The tool stops and shows an error. Increase minimums or add more extra so payments cover interest and reduce principal.

Troubleshooting

  • No results showing: enter at least one debt with positive balance and minimum.
  • Dates look odd: set a valid start month in year and month format.
  • Plan stalls: raise a minimum so it exceeds first month interest.
  • Totals feel high: confirm rates and minimums match your statements.
  • Charts missing: compute a schedule first, then open the chart tab.
  • Downloads empty: ensure results exist before exporting.

Advanced Tips

  • Tip Round your extra to a tidy increment to keep budgets simple and accelerate payoff.
  • Tip Align the annual bonus month with a refund or bonus you expect.
  • Tip Model a future raise by adding a small annual increase to the extra.
  • Tip Use one row per distinct rate even if two loans are with the same lender.
  • Tip Compare baseline months and interest with your plan to see real gains.
  • Tip Adjust the start month to map results to your upcoming billing cycle.