Debt payoff calculator

Debt payoff calculator: compare snowball and avalanche

Add each debt’s balance, APR, and minimum payment, plus any extra you can pay each month. This calculator projects month-by-month plans for the snowball method (lowest opening balance first) and the avalanche method (highest APR first) using one shared budget. Calculations are estimates under the assumptions on this page—not a bank feed and not a line-for-line match to a real card statement.

This is a calculator, not financial advice. Results are estimates under the assumptions on this page.

How to use it

  1. Add debts — For each debt, enter current balance, annual APR (%), and monthly minimum. A name or label is optional.
  2. Set extra — Enter any extra amount you can put toward debt after minimums.
  3. Compare — Review snowball and avalanche side by side under the same budget and the same interest rules.
  4. Read the monthly forecast — See suggested payments, estimated interest, and ending balances month by month.
  5. Optional: save the plan in this browser, download a CSV file, or download a JSON backup. The calculator does not connect to a bank. No sign-up or payment is required.

Your debts

One debt is enough to calculate. Add another to compare snowball and avalanche. A blank label is shown as Debt 1, Debt 2, and so on. The id under each debt is the tie-break.

Month 1 of the forecast is this month. Interest is added, then the payment.

Added to the minimums of debts that start above zero. That monthly budget stays fixed for the forecast.

Modeled monthly budget: $0.00. Minimums counted: $0.00.

Add one debt to calculate. Add another to compare strategies.

Your payoff forecast

With one debt, snowball and avalanche use the same payments. Add another debt to compare orders. With 0% APR, the two orders can also finish together.

ForecastThis is a forecast from the balances on this page. Changing a balance, or applying a snapshot, starts a new forecast under the same budget rules. It is not a payment ledger, and a difference from an older forecast is not interest you have already saved.

Add one debt to calculate. Add another to compare strategies.

Balance check-ins

Recorded snapshotOptionally note a debt’s balance after you check a statement. A snapshot is for your own comparison. It is not a payment ledger. Using it replaces that debt’s current balance and builds a new forecast. A difference from an older forecast is not interest you have already saved.

Add a debt before saving a snapshot.

Save and export

Saved data stays in this browser. Another browser or device does not pick it up, and switching browsers does not erase the copy stored here. Clearing this site's data removes the local copy. Anyone who uses this browser profile can see it.

CSV and JSON files can include balances, rates, and labels. You choose the download. This site does not upload the file. Clearing saved data here does not delete copies already in your downloads folder.

Fictional first month

Not a real account. These figures show how month 1 differs by strategy under the rules in Assumptions. Later months follow the same rules. This section does not list a multi-month interest total.

Extra $100.00. Monthly budget $175.00.

Fictional inputs
IdLabelOpening balanceAPRMinimum
card_smallFictional small card$500.0012.00%$25.00
card_aprFictional higher-APR card$2,000.0024.00%$50.00
Snowball month 1
DebtInterest (est.)Suggested paymentEnding balance (est.)
card_apr$40.00$50.00$1,990.00
card_small$5.00$125.00$380.00
Avalanche month 1
DebtInterest (est.)Suggested paymentEnding balance (est.)
card_apr$40.00$150.00$1,890.00
card_small$5.00$25.00$480.00

Questions

Is this connected to my bank?

No. You enter numbers yourself. The calculator does not connect to a bank.

What is the difference between snowball and avalanche here?

Both use the same budget B and the same interest rule. Snowball sends leftover to the lowest month-opening balance first (ties by id). Avalanche sends leftover to the highest APR first (ties by id). Order is set at the start of each month and not re-sorted mid-month.

Will results match my credit-card statement?

No. This uses fixed APR and simple monthly interest as stated in Assumptions. It does not model day-count, fees, deferred interest, or issuer minimum formulas. Treat results as estimates for comparing strategies.

What happens if I hit the month limit?

The forecast reports that the debts were not paid off within the simulation limit. That is not a proof that payoff is impossible forever.

Where do my debt details go? Can I export?

Balances, APRs, labels, minimums, extra amounts, and snapshots stay in this browser. Saving stores them in localStorage under the key debt-payoff-plan.v1. The scripts do not send that plan to our servers. CSV and JSON files download to your device only when you ask. Clear saved data removes the saved plan from this browser and does not delete files already in your downloads folder. Details are on the privacy page.

Assumptions

Interest: fixed APR you enter. Each month, for each debt with a balance above zero, interest equals the opening balance times (APR / 100) / 12, rounded half-up to the cent, then added to that debt. Opening balance means the balance at the start of that month, before that month's interest and before that month's payments. Each debt is rounded on its own. Rounding the debts together can differ by a cent.

Budget: B equals the sum of the minimums for debts whose balance at the start of the forecast is greater than zero, plus the extra amount. Debts that start at zero do not add their minimum to B. B stays fixed for the whole run. When a debt that started above zero reaches zero, the part of B that would have covered its minimum becomes leftover for the strategy target. It is not removed from B.

Each month, in this order: (1) accrue that interest; (2) pay each active debt its fixed minimum, capped at opening balance plus that month's interest; (3) leftover equals B minus the minimums actually paid; (4) apply leftover to the focus debt, capped at the amount still owed after the minimum. If that debt reaches zero in the same month, apply what remains to the next focus debt, and so on. The order is chosen once at the start of the month and is not re-sorted while leftover is applied. Unused budget at the end of a month is not carried forward.

Snowball order: this month's opening balance, lowest first, before interest and before minimums. Ties go to the stable debt id, ascending, character by character, case-sensitive. Avalanche order: APR, highest first. Ties use the same id rule.

The simulation limit is 600 months. If balances remain, the forecast says the debts were not paid off within the simulation limit of 600 months. That is not a proof that payoff is impossible forever. A month where one payment is below that debt's interest does not, by itself, end the forecast. A first month where total interest is at least B does not, by itself, end the forecast either. Other debts can reach zero and leave their minimum inside B.

If a balance would exceed $1,000,000,000,000.00, the estimate stops. That stop is a numeric limit, not a proof that payoff is impossible.

Input limits in this build: at most 40 debts; amounts from 0 through $1,000,000,000.00 with at most 2 decimal places; APR from 0 through 100.00 with at most 2 decimal places; labels optional, up to 80 characters; at most 240 balance snapshots; JSON files up to 100000 bytes. Blank, negative, and non-numeric amounts are rejected. Scientific notation is rejected. Zero APR, a zero minimum, a zero extra amount, and a zero balance are allowed. A zero balance is left out of the forecast.

Amounts use one currency. The dollar sign is a display mark. This calculator does not convert currencies.

This calculator is not a bank, lender, or statement engine. It does not model daily accrual, statement cycles, minimums that change as a percentage of the balance, fees, deferred interest, variable APR, or a connection to a bank. Updating a balance starts a new forecast from the numbers on the page. It does not record a payment ledger, and a difference from an older forecast is not interest you have already saved.