ForHosting KIT · Finance & money

Debt snowball calculator

Clear the smallest balance first and roll each freed minimum into the next: cards of 800 and 2500 plus a 5000 loan, with 200 extra a month, are all paid off in 18 months, the 800 card by month 4. Free in your browser.

  • Free
  • Runs in your browser
  • No sign-up
  • Your data stays on your device
Use it from WebAPIEmailTelegramApp soon
If you enter
Extra payment
200
You get
Debt count
3
Monthly budget
465
Max months
600
Total principal
8,300

The debt snowball method is a payoff plan that ranks every balance from smallest to largest so you can retire easy wins first while still covering every contractual minimum. Each month you pay the minimum on every open debt, then you send any extra cash to the smallest remaining principal. When that smallest account hits zero, its old minimum rolls onto the next smallest balance and the monthly attack payment grows like a snowball rolling downhill. This calculator accepts a list of debts with names, balances, and minimum payments, plus an optional extra payment, and returns the snowball payoff sequence together with the number of months needed to clear every balance. A negative balance is rejected as invalid input rather than silently treated as a credit.

How snowball ranking and the monthly cascade work

Debt snowball is a behavioral payoff rule, not an interest-minimizing rule. You list every open balance, sort from smallest principal to largest, and treat that ranking as the attack order. Ties keep the original input order so two equal balances stay stable across runs.

First the engine pays each still-open debt up to its contractual minimum, never more than the remaining principal. Whatever is left of the monthly budget is applied to the current snowball focus—the first debt in the original smallest-to-largest ranking that still has a positive balance. If that focus is paid off mid-month, leftover cash immediately cascades to the next ranked open debt in the same month, which is how a real household would reallocate a surplus rather than leaving money idle.

When a debt is retired, its minimum is not removed from the budget; it stays inside the constant monthly total and becomes extra firepower for the next target. The sister comparison of snowball versus avalanche with interest is a different calculator.

Coaching and counseling sessions

Load a client’s cards and loans with statement balances and minimums, then show snowball payoff order and months to clear without requiring APR on every row.

What is the debt snowball method?

Snowball ranks debts from smallest balance to largest, pays every minimum, and sends extra cash to the smallest remaining principal. When a debt is paid, its old minimum rolls onto the next smallest target.

How is payoff order chosen?

They often match, but a large minimum can retire a bigger debt earlier.

Does extra payment speed the snowball up?

Freed minimums also cascade, so each win accelerates the next.

What happens if a balance is negative?

A negative balance is not an open debt; the calculator rejects it instead of treating it as a credit. Failed validation is not billed.

Does the snowball calculator include interest?

No, interest is left out on purpose. It ranks and times the payoff from balances and minimum payments only, so you do not need the rate of every card. A comparison of snowball and avalanche with interest is a different calculator.

Everything on this page is available programmatically. This section is for teams who want to wire it into their own systems; everyone else can just use the tool above.

POSThttps://api.kit.forhosting.com/fin/debt-snowball

Prefer to automate it? One authenticated POST creates the task; the result comes back by webhook or a signed link. The same capability also runs here on the web, by email and from Telegram — and soon from our app too.

curl -X POST https://api.kit.forhosting.com/fin/debt-snowball \
  -H "Authorization: Bearer $KIT_KEY" \
  -H "Content-Type: application/json" \
  -d '{"debts":[{"name":"Card A","balance":2500,"min_payment":75},{"name":"Card B","balance":800,"min_payment":40},{"name":"Personal loan","balance":5000,"min_payment":150}]}'
{
  "debts": [
    {
      "name": "Card A",
      "balance": 2500,
      "min_payment": 75
    },
    {
      "name": "Card B",
      "balance": 800,
      "min_payment": 40
    },
    {
      "name": "Personal loan",
      "balance": 5000,
      "min_payment": 150
    }
  ]
}
{
  "task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
  "type": "fin.debt_snowball",
  "status": "queued",
  "_links": {
    "result": "/tasks/tsk_…/result"
  }
}

The API is asynchronous: the call returns a task_id immediately and the result arrives by webhook. Polling is capped at 1 req/s per task.

Per request$0.002

Published price — no tokens, no invented credits. A failed task is never charged.

max_items30
HTTPCodeMeaning
401unauthorizedMissing or invalid API key.
402insufficient_balanceYour balance doesn't cover the task price.
404unknown_typeThat task type doesn't exist.
429rate_limitedToo many requests. Use the webhook instead of polling.

How snowball ranking and the monthly cascade work

Every simulated month the total cash you send creditors is constant: the sum of all original minimum payments plus extra_payment. Interest is intentionally omitted: this endpoint ranks and times a principal-only snowball from balances and minimums, which is the search intent of people who want payoff order and months without APR.

Input contract, response fields, and failure modes

Optional decimals from zero to eight controls half-up rounding of currency-style outputs and defaults to two. Example: Card B at eight hundred with a forty minimum, Card A at twenty-five hundred with a seventy-five minimum, and a personal loan at five thousand with a one hundred fifty minimum, plus two hundred extra, produces a three-step snowball and a single months-to-payoff figure you can pin in tests. POST a JSON body with a required debts array of one to thirty objects. Each row needs a finite balance that is greater than zero and a finite min_payment that is greater than or equal to zero. A negative balance is invalid_input and is the explicit error this contract promises; a zero balance is also rejected because it is not an open debt. An optional name labels the debt in snowball_order, payoff_order, and the payoff table; omitted or blank names become Debt 1, Debt 2, and so on. Optional extra_payment defaults to zero and is the surplus beyond the sum of all original minimums. Optional max_months defaults to six hundred and is a safety cap from one to twelve hundred; if the principal-only schedule cannot finish inside that cap the request fails. On success the body includes debt_count, extra_payment, monthly_budget, max_months, total_principal, months, years, total_paid, snowball_order, payoff_order, a payoff array of name, balance, min_payment, month_paid, and sequence, plus a formula string. Missing debts, empty arrays, non-finite numbers, negative min_payment or extra_payment, out-of-range integers, a zero monthly budget, and schedules that cannot finish within max_months fail with invalid_input and are not billed.

Where a debt snowball API earns its keep

Many users know their balances and minimums from a statement but do not have a clean interest rate, so a principal-only snowball calculator matches how they actually plan. Education sites that rank for debt snowball calculator convert better when the free browser tool matches the automation path byte for byte on the same pure module. Treat the result as decision support, not legal or fiduciary advice: the tool does not model fees, deferred-interest promotions, variable rates, or tax deductibility—only a deterministic monthly principal cascade under a constant budget. Fintech onboarding flows can pre-fill debts from account links and return payoff_order plus months as a deterministic JSON contract for dashboards. Classroom modules can pin months and payoff_order against hand-worked cases that ignore interest on purpose. Sweep extra_payment in your own loop to show how one extra grocery-budget cut shortens the last month_paid. Keep max_months tight in interactive demos so an underfunded plan fails fast instead of looping.

Household cash-flow planning

Sweep extra_payment to see how many months a grocery-budget cut or side-hustle surplus shaves off the last month_paid on the snowball plan.

Education pages and product sandboxes

Embed the free browser widget on debt snowball articles, or call the API from LMS graders and quote flows to pin payoff_order and months for scripted debt sets.

What does the debt snowball calculator cost?

The browser tool is free. API requests use prepaid KIT balance at $0.002 per successful call; invalid input is not billed.

Read the full KIT documentation →