{
  "id": "debt-payoff",
  "version": "008c865ec150",
  "status": "published",
  "name": "Debt Payoff Calculator",
  "question": "What is my debt payoff date?",
  "summary": "Computes the months to be debt-free, the total interest, and the payoff order for up to ten debts paid with a fixed monthly budget by the avalanche (highest APR first) or snowball (smallest balance first) method.",
  "category": "finance",
  "subcategory": "loans",
  "url": "https://www.acalculator.org/finance/debt-payoff-calculator",
  "markdown": "https://www.acalculator.org/finance/debt-payoff-calculator.md",
  "kind": "schedule",
  "method": "Each month: interest = balance × APR ÷ 1200 on every debt; pay each debt its monthly payment; the rest of the budget (all the payments plus the extra) goes to the debts in payoff order, so a paid-off debt’s payment rolls into the next.",
  "assumptions": [
    "Interest is charged monthly on each balance at its APR ÷ 12; rates and payments do not change.",
    "The monthly budget stays the same until every debt is paid off, so the payment of a paid-off debt rolls to the next one.",
    "Snowball order is by the balances you enter (smallest first); avalanche order is by APR (highest first); ties keep the order of the rows.",
    "No new charges are added to the debts.",
    "Values are not rounded to the cent between months; only the display is rounded."
  ],
  "inputs": {
    "$schema": "https://json-schema.org/draft/2020-12/schema",
    "type": "object",
    "properties": {
      "debts": {
        "title": "Your debts",
        "description": "One row per debt: a name, what you owe, the yearly interest rate (APR), and the monthly payment.",
        "type": "array",
        "items": {
          "type": "object",
          "properties": {
            "name": {
              "title": "Name",
              "description": "A name for the debt, to tell the debts apart.",
              "type": "string",
              "maxLength": 40
            },
            "bal": {
              "title": "Balance",
              "description": "What you owe on this debt today.",
              "type": "number",
              "x-unit": "USD",
              "exclusiveMinimum": 0,
              "maximum": 10000000
            },
            "apr": {
              "title": "APR",
              "description": "The yearly interest rate. The monthly rate is this ÷ 12.",
              "type": "number",
              "x-unit": "percent",
              "minimum": 0,
              "maximum": 100
            },
            "min": {
              "title": "Minimum payment",
              "description": "The monthly payment on this debt, from your statement. It stays the same every month.",
              "type": "number",
              "x-unit": "USD",
              "minimum": 0,
              "maximum": 10000000
            }
          }
        }
      },
      "extra": {
        "title": "Extra each month",
        "description": "An amount paid every month on top of all the minimum payments, to the debt the method picks.",
        "type": "number",
        "x-unit": "USD",
        "minimum": 0,
        "maximum": 10000000
      },
      "method": {
        "title": "Pay off first",
        "description": "Avalanche pays the highest APR first, which saves the most interest; snowball pays the smallest balance first, for quick wins.",
        "type": "string",
        "enum": [
          "avalanche",
          "snowball"
        ]
      },
      "start": {
        "title": "Start date",
        "description": "The day you start the plan. The first payment is one month later.",
        "type": "string",
        "format": "date"
      }
    }
  },
  "outputs": {
    "months": {
      "label": "Months to be debt-free",
      "description": "How many months of payments clear every debt.",
      "format": "integer"
    },
    "budget": {
      "label": "Paid each month",
      "description": "All the monthly payments plus the extra: the same every month until the last one.",
      "format": "money"
    },
    "interest": {
      "label": "Total interest",
      "description": "All the interest paid on all the debts.",
      "format": "money"
    },
    "paid": {
      "label": "Total paid",
      "description": "What you owe today plus all the interest.",
      "format": "money"
    },
    "order": {
      "label": "Payoff order",
      "description": "The debts in the order they are paid off, with the month each is cleared.",
      "format": "text"
    },
    "debtFree": {
      "label": "Debt-free date",
      "description": "The month of the last payment, when a start date is given.",
      "format": "month-year"
    },
    "saved": {
      "label": "Interest the extra saves",
      "description": "The interest with no extra payment minus the interest with it, both in the same order.",
      "format": "money"
    },
    "sooner": {
      "label": "Months sooner",
      "description": "How many months sooner the debts are paid off with the extra payment.",
      "format": "integer"
    },
    "otherInterest": {
      "label": "Interest, other method",
      "description": "The total interest if the same payments went to the debts in the other order.",
      "format": "money"
    },
    "difference": {
      "label": "Saved vs other method",
      "description": "The interest with the other method minus the interest with this one; negative when this one costs more.",
      "format": "money"
    }
  },
  "defaultAnswer": {
    "inputs": {
      "debts": [
        {
          "name": "Credit card",
          "balance": 7500,
          "rate": 24.9,
          "payment": 225
        },
        {
          "name": "Medical bill",
          "balance": 900,
          "rate": 0,
          "payment": 50
        },
        {
          "name": "Car loan",
          "balance": 11000,
          "rate": 6.9,
          "payment": 310
        },
        {
          "name": "Personal loan",
          "balance": 3200,
          "rate": 13.5,
          "payment": 110
        }
      ],
      "extra": 200,
      "method": "avalanche",
      "start": "2026-09-30"
    },
    "outputs": {
      "months": 30,
      "budget": 895,
      "interest": 3733.5283132119202,
      "paid": 26333.528313211922,
      "order": "Medical bill (month 18), Credit card (month 22), Personal loan (month 25), Car loan (month 30)",
      "debtFree": "2029-03-30",
      "saved": 2787.275398380645,
      "sooner": 12,
      "otherInterest": 4269.794201897844,
      "difference": 536.2658886859235
    },
    "text": "Paying $895.00 a month, you are debt-free in 30 months and pay $3,733.53 in interest."
  },
  "examples": [
    {
      "given": {
        "debts": [
          {
            "name": "Credit card",
            "balance": 7500,
            "rate": 24.9,
            "payment": 225
          },
          {
            "name": "Medical bill",
            "balance": 900,
            "rate": 0,
            "payment": 50
          },
          {
            "name": "Car loan",
            "balance": 11000,
            "rate": 6.9,
            "payment": 310
          },
          {
            "name": "Personal loan",
            "balance": 3200,
            "rate": 13.5,
            "payment": 110
          }
        ],
        "extra": 200,
        "method": "avalanche"
      },
      "expect": {
        "months": 30,
        "budget": 895,
        "interest": 3733.528313211921,
        "order": "Medical bill (month 18), Credit card (month 22), Personal loan (month 25), Car loan (month 30)",
        "saved": 2787.275398380646,
        "sooner": 12,
        "otherInterest": 4269.794201897846,
        "difference": 536.2658886859244
      },
      "source": "month-by-month rules in content.mdx; Python 3 in docs/progress/WP-49/python/debts.py; Consumer Financial Protection Bureau, How to reduce your debt. https://www.consumerfinance.gov/about-us/blog/how-reduce-your-debt/"
    },
    {
      "given": {
        "debts": [
          {
            "name": "Credit card",
            "balance": 7500,
            "rate": 24.9,
            "payment": 225
          },
          {
            "name": "Medical bill",
            "balance": 900,
            "rate": 0,
            "payment": 50
          },
          {
            "name": "Car loan",
            "balance": 11000,
            "rate": 6.9,
            "payment": 310
          },
          {
            "name": "Personal loan",
            "balance": 3200,
            "rate": 13.5,
            "payment": 110
          }
        ],
        "extra": 200,
        "method": "snowball"
      },
      "expect": {
        "months": 31,
        "interest": 4269.794201897846,
        "order": "Medical bill (month 4), Personal loan (month 13), Credit card (month 26), Car loan (month 31)",
        "difference": -536.2658886859244
      },
      "source": "month-by-month rules in content.mdx; Python 3 in docs/progress/WP-49/python/debts.py; Consumer Financial Protection Bureau, How to reduce your debt. https://www.consumerfinance.gov/about-us/blog/how-reduce-your-debt/"
    },
    {
      "given": {
        "debts": [
          {
            "name": "A",
            "balance": 500,
            "rate": 0,
            "payment": 50
          },
          {
            "name": "B",
            "balance": 1500,
            "rate": 0,
            "payment": 50
          }
        ],
        "extra": 100,
        "method": "snowball",
        "start": "2026-10-01"
      },
      "expect": {
        "months": 10,
        "interest": 0,
        "paid": 2000,
        "sooner": 10,
        "saved": 0,
        "debtFree": "2027-08-01"
      },
      "source": "hand calculation in content.mdx; Consumer Financial Protection Bureau, How to reduce your debt. https://www.consumerfinance.gov/about-us/blog/how-reduce-your-debt/"
    }
  ],
  "sources": [
    "Consumer Financial Protection Bureau, How to reduce your debt (the highest-rate-first and smallest-balance-first approaches). https://www.consumerfinance.gov/about-us/blog/how-reduce-your-debt/",
    "Federal Trade Commission, Consumer Advice: How to get out of debt. https://consumer.ftc.gov/articles/how-get-out-debt",
    "Monthly interest on a balance at APR ÷ 12: Regulation Z, 12 CFR 1026.14 (periodic rate). https://www.consumerfinance.gov/rules-policy/regulations/1026/14/"
  ],
  "related": [
    "debt-snowball",
    "debt-consolidation",
    "credit-card-payoff",
    "loan-payoff"
  ],
  "changelog": []
}
