Calculate debt payoff

Compare highest-interest-first and smallest-balance-first payoff schedules under one fixed monthly debt budget.

freeworks offlinenothing uploaded
ToolDebt Payoff Calculator
Input
Output
Put this on your own site

The frame below runs the same code as this page, in the reader's own browser. Nothing is sent to us, and nothing is sent to you.

Pick a dark background and the text and panels follow it, so the frame stays readable on a dark page.

Preview

How it works

Each month adds one-twelfth of every annual rate, pays all minimums, then directs spare money to the highest-rate balance for avalanche or smallest opening balance for snowball. No statement values are assumed, and simulation stops after 1,200 months rather than presenting the safety ceiling as a payoff date.

Formula
monthly interest = current balance × annual rate ÷ 12
spare payment = monthly budget − sum of minimum payments
  • Avalanche minimises interest under the model, while snowball exposes the motivational tradeoff of clearing a small account sooner.
  • Balances below one cent are treated as paid after the final fractional calculation.

Worked example

Two cards and a loan
Each line is balance, rate and minimum payment
Input
											Debts: ["2000 19.9 50","5000 6.5 100","800 24.9 25"]
Monthly budget: 400
										
Output
												Avalanche months: 22
Avalanche interest: 672.89
Snowball months: 22
Snowball interest: 672.89
Saving: 0
Total debt: 7800
Recommendation: Both methods cost about the same here, so pick whichever you will actually stick to.
											

When to use this

Credit-card payoff plans, debt-counselling worksheets, and household cash-flow reviews compare interest cost with the motivation of closing a small account first.

Edge cases

  • A budget below the sum of minimum payments is rejected before simulation.
  • A debt line with a negative balance, negative annual rate, negative minimum, or extra column is rejected as malformed.
  • A budget that cannot clear interest and principal within 1,200 months is rejected instead of reporting the safety cap as a payoff date.