Enter your debts to estimate how long it will take to become debt-free and how much interest you will pay, then compare the Snowball and Avalanche payoff strategies with an optional extra monthly amount.
Advanced options
How to use our Debt Payoff Calculator (Snowball vs Avalanche)
- Add each debt: enter a name (optional but needed for promo APR), your current balance (USD), APR (percent), and minimum monthly payment (USD).
- Pick a payoff strategy: Avalanche (highest APR first) or Snowball (smallest balance first). You still pay every debt’s minimum each month in both.
- Choose your Monthly payment setup: either pay minimums plus an extra amount, or set one total monthly budget for all debts.
- If using extra: enter Extra monthly payment (USD). Enter 0 to see what happens with minimum payments only.
- If using a total budget (Advanced options): enter your Total monthly debt payment budget (USD). Make sure it is at least the sum of your minimum payments.
- (Optional) Set a Plan start month so the debt-free date uses your real timeline.
- (Optional) If you have a 0% promo APR: turn it on, enter the promo duration (months), and type the exact debt names that get the promo (comma-separated).
- Click Calculate. Review the debt-free date, months, and total interest, plus the Minimum payment feasibility check if any minimums are too low to ever pay off.
- If you want to speed things up, increase your extra amount or budget and recalculate. Compare strategies using the same monthly payment setup.
Definitions
Balance: How much you currently owe on a debt.
APR (Annual Percentage Rate): The yearly interest rate. This calculator uses APR to estimate a monthly rate. See methodology notes about the approximation.[1]
Minimum payment: The smallest amount you plan to pay on a debt each month.
Extra payment: Money you pay each month on top of all minimum payments.
Total monthly budget: One total amount you can pay across all debts each month; the calculator covers minimums first, then uses the rest as extra.
Avalanche: Pay extra toward the debt with the highest APR first (then the next highest).
Snowball: Pay extra toward the debt with the smallest balance first (then the next smallest).
Rollover: When a debt is paid off, the money that used to go to it is immediately reused to pay other debts faster.
Amortize: To pay down a balance over time with repeated payments that cover interest and principal.[2]
Methodology
Overview (what the calculator simulates)
This calculator runs a month-by-month payoff simulation. Each month, it estimates interest, applies your minimum payments, then sends any remaining money to one target debt (plus rollover to the next debt if the target is finished early). This is an estimate for planning; real statements can differ by lender rules and timing.
Interest model used
apr_decimal = apr_percent / 100
monthly_rate = apr_decimal / 12
interest_m = balance_start_m * monthly_rate
APR is an annual rate, and dividing by 12 is a common monthly planning approximation.[1]
Monthly payment amount (based on your setup)
sum_min_m = sum(min_payment_i for each unpaid debt i)
available_payment_m = sum_min_m + extra_payment_monthly
extra_m = max(0, total_monthly_budget - sum_min_m) (only in total-budget mode)
available_payment_m = sum_min_m + extra_m (only in total-budget mode)
If total-budget mode is selected and your total monthly budget is less than the sum of minimum payments, the plan is not feasible, so the calculator shows an error.
Target selection rules
Snowball target = unpaid debt with smallest current balance
Avalanche target = unpaid debt with highest APR
To keep results stable, ties are broken with simple, consistent rules (for example, using the other field, then name).
Payment allocation and rollover (important)
Step 1: For each debt i, pay its minimum payment (but do not pay more than balance_i + interest_i).
Step 2: Send all remaining available money to the current target debt (cap at remaining balance + interest).
Step 3: If money is still left after the target is fully paid, immediately apply the leftover to the next target debt in the same month.
This rollover step prevents money from being “wasted” in the month a debt finishes.
0% promo APR option (if enabled)
if debt_name is in promo_list and month_index < promo_apr_months: effective_apr = 0
else: effective_apr = regular_apr
If promo APR is enabled but none of the promo names match your debt names exactly, the calculator shows an error so you can fix the mismatch.
Minimum payment feasibility check (the differentiator)
if min_payment <= balance * (apr_decimal/12): payoff_impossible_under_model
If the monthly interest is at least the payment, the balance will not go down in this model, so that debt can never be paid off unless you raise the payment (or the APR drops). This check is related to the idea of amortization and whether a payment actually reduces principal.[2]
Smallest payment that would amortize (per debt)
min_amortizing_payment = balance * (apr_decimal/12) + 0.01
The extra 0.01 USD is used so the payment is strictly greater than the first-month interest in this model. This is a safety threshold, not a recommended payoff plan.
Stopping rules, rounding, and long timelines
Stop when all balances <= 0 (treat balances within 0.005 as 0).
If months_to_debt_free > 600, stop and show a warning (plan is extremely long or not feasible).
Money is calculated with full precision during the simulation, then displayed rounded to cents to avoid confusing penny drift.
Debt-free date
debt_free_date = add_months(plan_start_month, months_to_debt_free)
Dates are estimates and assume you make one payment per month, using your chosen start month. Month-to-month planning is consistent with the idea of accounting periods (monthly time buckets).[3]