Debt Payoff Calculator

List your debts — balance, APR, and minimum payment — add what extra you can pay each month, and see the snowball and avalanche plans side by side: months to debt-free, total interest, and the order your debts fall in each strategy.

Your debts

Fill in as many rows as you have debts (up to 10); leave the rest empty.

Debt 1

Debt 2

Debt 3

Debt 4

Debt 5

Debt 6

Debt 7

Debt 8

Debt 9

Debt 10

Fill in at least one debt to compare the strategies.

Companion guide: Snowball vs. avalanche as the engine runs them walks through one month of the simulation, the fixed target order and its tie rule, and the rollover of freed minimums on a fictional set of debts. This page covers what the calculator prints and the arithmetic behind each line; every explainer on the site is listed under Guides.

A worked three-debt example

Take three fictional debts: a $4,500 card at 22% APR with a $110 minimum, a $1,200 card at 19% with a $35 minimum, and an $8,000 loan at 9% with a $180 minimum, plus $150 extra a month. The minimums add up to $325, so the engine's monthly budget is $475. The snowball sends the remainder to the smallest starting balance first and is debt-free in 2 yr 11 mo at a cost of $2,777 in interest. The avalanche sends it to the highest APR first: debt-free in 2 yr 11 mo with $2,716 of interest — $60 less. Every figure on this page is computed at build time by the same tested engine that powers the calculator above, on illustrative inputs chosen for the arithmetic.

The example's inputs, with each debt's first month of interest
Debt Balance APR Minimum / mo First month's interest (balance × APR ÷ 12)
Debt 1 $4,500 22% $110 $82.50
Debt 2 $1,200 19% $35 $19.00
Debt 3 $8,000 9% $180 $60.00
All three $13,700 — $325 $161.50

The last column is the engine's validation floor: each minimum must exceed that debt's first month of interest, or the balance would never fall. Because every balance falls from month one, $161.50 is the most interest any single month of either plan charges.

What the engine computes each month

The form hands your rows to one engine function, which validates them and returns a typed result or an explicit, human-readable error. The interface only formats what comes back; it never does arithmetic of its own.

  1. Validate. Each balance must be greater than zero, each APR within the engine's accepted range, each minimum greater than that debt's first month of interest, and the extra amount zero or more; at most 10 debts are accepted. A failing input returns the engine's message instead of a plan — for an APR beyond the range: "Debt 1: enter an APR between 0 and 200 percent."
  2. Sort once. Before the first month runs, the debts are ordered from their starting figures: ascending balance for the snowball, descending APR for the avalanche, ties keeping entry order. The snowball's target order here is Debt 2 → Debt 1 → Debt 3 and the avalanche's is Debt 1 → Debt 2 → Debt 3. The sort is not repeated as balances fall.
  3. Accrue interest. Every open debt is charged its balance × APR ÷ 12. In month one that is $82.50, $19.00 and $60.00 — $161.50 across the three.
  4. Pay the minimums. Every open debt receives its minimum, $325 in total, leaving $150 of the $475 budget in month one — exactly the extra, because no minimum has been freed yet.
  5. Cascade the remainder. What is left goes to the first open debt in the strategy's order, capped at that debt's balance; any leftover continues to the next open debt in the same month. Under the snowball, Debt 2 ends month one at $1,200 + $19.00 − $35 − $150 = $1,034.00. Under the avalanche, Debt 1 ends it at $4,500 + $82.50 − $110 − $150 = $4,322.50.
  6. Settle and roll over. A debt whose balance reaches zero is recorded as cleared that month and, from the next month, accrues no interest and draws no minimum. The budget is constant, so the freed minimum joins the remainder flowing to the next target.
  7. Repeat until the last debt clears, summing interest and payments as it goes, or stop with an out-of-range message once a plan passes 1200 months (100 years).

Where the two plans part ways

Month each debt is cleared, by strategy (illustrative inputs)
Debt Snowball Avalanche
Debt 1 ($4,500 at 22%) month 25 month 22
Debt 2 ($1,200 at 19%) month 7 month 24
Debt 3 ($8,000 at 9%) month 35 month 35
Debt-free 2 yr 11 mo 2 yr 11 mo
Total interest $2,777 $2,716
Total paid $16,477 $16,416

The snowball clears Debt 2 in month 7; the avalanche clears Debt 1 in month 22, and the payoff orders read Debt 2 → Debt 1 → Debt 3 and Debt 1 → Debt 2 → Debt 3. Both finish in the same month, 2 yr 11 mo, yet the avalanche pays $60 less interest; the engine reports the two gaps separately — snowball interest minus avalanche interest, and snowball months minus avalanche months — $60 and 0 here.

Why the same month? Every month of a plan pays the full $475 except the last, so months to debt-free is the total paid divided by the budget, rounded up to a whole month. The snowball pays $16,477 in all — $13,700 of balances plus $2,777 of interest — or 34.7 budgets; the avalanche pays $16,416, or 34.6 budgets. Both round up to 35.

What changes when the extra changes

The same three debts under three fictional extra amounts
Extra / mo Budget / mo Snowball Avalanche Interest gap
$0 $325 5 yr 1 mo, $5,874 5 yr 1 mo, $5,874 $0
$150 $475 2 yr 11 mo, $2,777 2 yr 11 mo, $2,716 $60
$300 $625 2 yr 1 mo, $1,899 2 yr 1 mo, $1,861 $38

The extra amount is the only input that enlarges the budget without changing the debts. With none, the budget is just the minimums, $325, and the two plans coincide — Debt 2 → Debt 3 → Debt 1 in both. The remainder is zero until a debt clears on its own minimum; the first to go is Debt 2 in month 50, and once its $35 is freed both strategies direct it to the same next target, Debt 1. Rollover alone finishes the plan in 5 yr 1 mo at $5,874 of interest.

That run also separates the snowball's target order, Debt 2 → Debt 1 → Debt 3, from its payoff order, Debt 2 → Debt 3 → Debt 1 — the one the result box prints — which records when each debt cleared, not where the remainder was aimed. With double the extra, $300 a month, the snowball finishes in 2 yr 1 mo with $1,899 of interest, the avalanche in 2 yr 1 mo with $1,861, and the gap moves from $60 to $38. The engine compares; how much extra a household can direct at its debts is not a question the arithmetic answers.

When both plans cost the same

The headline switches to "Both strategies cost the same here" whenever the computed difference is zero to the cent. With a single debt each order holds one debt and the plans are identical: Debt 1 of the example on its own, with $150 extra, clears in 1 yr 10 mo with $963 of interest under either name. With coinciding orders — the smallest starting balance is also the highest APR — the two sorts return the same sequence: two fictional debts, $1,500 at 24% with a $50 minimum and $6,000 at 10% with a $130 minimum, $100 extra, clear in 2 yr 7 mo with $1,161 of interest under both plans, and the difference is $0.

How to read the result

  • The headline — "Avalanche saves … in interest" — is snowball interest minus avalanche interest in whole dollars, $60 in the example.
  • Snowball and Avalanche each report months to debt-free and total interest in whole dollars — 2 yr 11 mo and $2,777 for the example's snowball.
  • Payoff order lists the debts in the order they reached zero, labelled by the row each was entered in.
  • Total paid monthly is every minimum plus the extra, shown to the cent — $475.00 here — and the same under both strategies for every month of the plan.

Interest totals are shown to whole dollars and the monthly total to the cent; internally every calculation keeps the full precision of IEEE-754 double-precision arithmetic, and nothing is rounded between steps. Your lender's figure may differ by a few cents depending on their rounding and day-count conventions — the difference is presentational, not an error.

Where the calculator stops

The limits are the engine's. Each APR is held fixed for every month of the plan and each minimum at the amount entered; there is no input for a rate that changes partway, new charges on a balance, fees, or a minimum that moves with the balance. Interest accrues monthly at APR ÷ 12 and payments land at the end of each month — the conventions the methodology page and the companion guide set out — so a statement that accrues daily will not reproduce the schedule line for line. Inputs are validated before any arithmetic runs: a minimum at or below a debt's first month of interest is refused with the engine's own message — for Debt 1 of the example, "Debt 1: the minimum payment must exceed the first month's interest ($82.50) or the balance never falls." — and a plan that would pass 1200 months (100 years) is stopped with an out-of-range message rather than a number. The Credit Card Payoff Calculator handles a single card and the Personal Loan Calculator runs a consolidation loan's fee-adjusted cost; this engine does not model folding one debt into another. A correct calculation can still be the wrong calculation for your situation — choosing the right loan for a real-world decision is judgment we cannot automate.

Frequently asked questions

What does the headline line of the result mean?

One subtraction: snowball interest minus avalanche interest, shown in whole dollars — $60 in the worked example, printed as "Avalanche saves $60 in interest". When the two totals agree to the cent it reads "Both strategies cost the same here". It is a difference between two computed totals, not a verdict; the engine ranks nothing.

Why must each minimum exceed the first month's interest?

If a payment does not cover the interest accruing that month, the balance grows instead of shrinking and the debt never amortizes. The calculator flags the exact row and the interest figure the minimum needs to beat — $82.50 for Debt 1 of the worked example.

What happens to a minimum payment when its debt is paid off?

It rolls forward. The total you pay each month stays constant — every minimum plus your extra — so each debt you eliminate frees its minimum to accelerate the next target. That rollover is what makes both strategies snowball over time.

How closely does this match my card statements?

It is a planning model: interest accrues monthly at APR ÷ 12 with payments at the end of each month, while card issuers typically accrue daily and set minimums that shrink with the balance. The model holds each minimum fixed at the amount you enter, so a statement's minimum and the model's diverge as the balance falls.

What do the "Debt 1 → Debt 3" labels in the payoff order refer to?

The row numbers in the form. Empty rows are skipped, so debts entered in rows 1, 3 and 4 are labelled Debt 1, Debt 3 and Debt 4. Each list reads in the order the debts reached zero: Debt 2 → Debt 1 → Debt 3 under the snowball in the worked example, Debt 1 → Debt 2 → Debt 3 under the avalanche.

Can I leave rows empty, or fill in only part of a row?

Empty rows are ignored; the form needs at least one complete row. A partly filled row is an error on that row — balance, APR and minimum are all needed — and no plan is shown until it is completed or cleared. The extra amount is optional and treated as zero when blank.

What happens if I enter no extra payment?

The plans still run on the minimums alone, and rollover is the only acceleration. The budget falls to the sum of the minimums — $325 in the worked example instead of $475 — and the plan lengthens from 2 yr 11 mo to 5 yr 1 mo, with $5,874 of interest.

Why would the calculator return an out-of-range message instead of a plan?

Two limits are the engine's. It accepts at most 10 debts — the 10 rows above — and stops once a plan passes 1200 months (100 years), returning its own message: "This plan takes longer than 100 years to finish — raise the payments to see a payoff." A fictional $10,000 balance at 3% with a $26 minimum, $1.00 above its $25.00 first month of interest, is one such plan.

Not financial advice: a general educational estimate using monthly compounding and end-of-month payments; card issuers typically accrue daily and adjust minimums as balances fall. Values are processed locally in your browser and never transmitted. See the methodology page.