{
  "title": "Savings withdrawal calculator",
  "human_url": "https://happytails.ai/en/finance-tools/savings-withdrawal-calculator/",
  "agent_url": "https://happytails.ai/agents/en/finance-tools/savings-withdrawal-calculator/",
  "language": "en",
  "markdown_url": "https://happytails.ai/en/finance-tools/savings-withdrawal-calculator.md",
  "content": "Savings withdrawal calculator\nSee how long a savings balance lasts with monthly withdrawals, or find the largest monthly withdrawal that lasts for the months you choose. Interest, yearly increases and the month the money runs out are shown in a full schedule.\nHow can we improve this tool?\nReport a problem or share an idea.\nPlease leave out private information. Your message and the tool name go to our team via PostHog.\nHow to use Savings withdrawal calculator\nEnter the starting balance, the yearly interest or return and the number of months.\nChoose whether to test a withdrawal or find the largest one that lasts.\nEnter the monthly withdrawal, or the balance you want to keep at the end.\nChoose the withdrawal timing, how often interest is credited and any yearly increase, then review and download the JSON report or the monthly CSV.\nUseful next steps\nSavings goal\nCompound interest\nSimple interest calculator\nMethod\nThe balance runs month by month. Interest accrues on the balance at the yearly rate divided by 12, rounded to the cent, and is credited at the end of each credit period. Withdrawals come out at the start or end of each month and rise every 12 months by your yearly increase. A withdrawal that would empty the account first receives the interest accrued so far; if it still cannot be paid in full, the account is depleted that month and the shortfall is shown.\nSustainable withdrawal\nIn the second mode the tool searches whole cents for the largest first-year withdrawal that is paid in full every month and leaves at least your target balance. It is the exact ledger version of the annuity relation behind the spreadsheet PV and PMT functions (Microsoft Support, PV function, checked 16 October 2026); one cent more falls short.\nAssumptions and limits\nThe same return is applied every month. Real returns vary, and the order of good and bad years can change the outcome. Taxes, inflation and fees are not included. This is a calculation from your own numbers, not financial or retirement advice.",
  "content_format": "text/plain",
  "visibility": "public",
  "links": [
    {
      "name": "Savings goal",
      "url": "https://happytails.ai/en/finance-tools/savings-goal/"
    },
    {
      "name": "Compound interest",
      "url": "https://happytails.ai/en/finance-tools/compound-interest/"
    },
    {
      "name": "Simple interest calculator",
      "url": "https://happytails.ai/en/finance-tools/simple-interest/"
    }
  ],
  "tool": {
    "id": "savings-withdrawal-calculator",
    "category": "finance-tools",
    "built": true,
    "requirements": "Starting balances, withdrawals and target balances up to 1000000000000 at 0 to 3 decimal places, 100000000000 at 4, 10000000000 at 5 and 1000000000 at 6, with every month-end balance within 1000000000000000 minor currency units (10000000000000 at 2 decimal places), rates from 0 to 100 percent, 1 to 1200 months and yearly increases from 0 to 100 percent. Calculated locally in your browser. Downloads are a JSON report and a CSV with one row per month.",
    "implementation": {
      "fields": [
        {
          "key": "opening",
          "label": "Starting balance",
          "value": "200000",
          "type": "text",
          "maxLength": 30,
          "help": "The balance before the first withdrawal."
        },
        {
          "key": "rate",
          "label": "Yearly interest or return (%)",
          "value": "4",
          "type": "text",
          "maxLength": 20,
          "help": "From 0 to 100, the same every month."
        },
        {
          "key": "months",
          "label": "Months to model",
          "value": "300",
          "type": "text",
          "maxLength": 10,
          "help": "Whole months from 1 to 1200."
        },
        {
          "key": "mode",
          "label": "Calculate",
          "value": "depletion",
          "type": "select",
          "values": [
            "depletion",
            "sustainable"
          ],
          "labels": {
            "depletion": "How long a withdrawal lasts",
            "sustainable": "The largest withdrawal that lasts"
          }
        },
        {
          "key": "withdrawal",
          "label": "Monthly withdrawal",
          "value": "1200",
          "type": "text",
          "maxLength": 30,
          "help": "Taken each month until the balance runs out.",
          "showWhen": {
            "mode": [
              "depletion"
            ]
          }
        },
        {
          "key": "target",
          "label": "Balance to keep at the end",
          "value": "0",
          "type": "text",
          "maxLength": 30,
          "help": "The sustainable withdrawal leaves at least this amount. Enter 0 to use the whole balance.",
          "showWhen": {
            "mode": [
              "sustainable"
            ]
          }
        },
        {
          "key": "timing",
          "label": "Withdrawal timing",
          "value": "start",
          "type": "select",
          "values": [
            "start",
            "end"
          ],
          "labels": {
            "start": "Start of each month",
            "end": "End of each month"
          }
        },
        {
          "key": "credit",
          "label": "Interest credited",
          "value": "monthly",
          "type": "select",
          "values": [
            "monthly",
            "quarterly",
            "semiannual",
            "annual"
          ],
          "labels": {
            "monthly": "Monthly",
            "quarterly": "Quarterly",
            "semiannual": "Every 6 months",
            "annual": "Yearly"
          }
        },
        {
          "key": "increase",
          "label": "Yearly withdrawal increase (%)",
          "value": "0",
          "type": "text",
          "maxLength": 20,
          "help": "From 0 to 100, applied every 12 months."
        },
        {
          "key": "decimals",
          "label": "Decimal places in amounts",
          "value": "2",
          "type": "select",
          "values": [
            "2",
            "0",
            "1",
            "3",
            "4",
            "5",
            "6"
          ]
        }
      ],
      "registrationFamily": "personal-balance-schedules",
      "input": false,
      "note": "Calculated on your device over at most 1200 months.",
      "experience": {
        "automatic": false,
        "single": false,
        "inputMaxLength": 1000000,
        "inputMode": "text",
        "label": "Balance and withdrawal values",
        "placeholder": "Enter values in the form fields",
        "help": "This calculator reads the form fields below; there is no text box. Up to 1,000,000 characters. Review the settings before running.",
        "action": null
      },
      "mode": "explicit",
      "interactive": false
    },
    "execution": "Browser interface",
    "api": null,
    "browser_agent": {
      "supported": true,
      "name": "run_current_tool",
      "discovery": "WebMCP on the human page in a supporting browser",
      "verification": "See audit/API-AUDIT.md; availability is not verification"
    }
  },
  "markdown": "# Savings withdrawal calculator\n\n- Human page: https://happytails.ai/en/finance-tools/savings-withdrawal-calculator/\n- Markdown: https://happytails.ai/en/finance-tools/savings-withdrawal-calculator.md\n- Structured JSON: https://happytails.ai/agents/en/finance-tools/savings-withdrawal-calculator/index.json\n- Visibility: public\n\n## Tool capabilities\n\n| Property | Value |\n| --- | --- |\n| Tool ID | `savings-withdrawal-calculator` |\n| Category | finance-tools |\n| Implementation | Registered implementation. Registration alone is not a production-quality guarantee. |\n| Browser execution | Use the visible action or interactive controls. |\n| Browser processing | Browser; see tool notes for network behavior. |\n| HTTP API | Not callable through HTTP. |\n| Browser-agent interface | run_current_tool |\n\n### Implementation notes\n\nCalculated on your device over at most 1200 months.\n\n### Inputs and settings\n\nNo free-text input is required. Use the file inputs and/or settings below.\n\n| Setting | Meaning | Control type | Default | Constraints |\n| --- | --- | --- | --- | --- |\n| `opening` | Starting balance | text | \"200000\" |  |\n| `rate` | Yearly interest or return (%) | text | \"4\" |  |\n| `months` | Months to model | text | \"300\" |  |\n| `mode` | Calculate | select | \"depletion\" | Allowed: depletion, sustainable |\n| `withdrawal` | Monthly withdrawal | text | \"1200\" |  |\n| `target` | Balance to keep at the end | text | \"0\" |  |\n| `timing` | Withdrawal timing | select | \"start\" | Allowed: start, end |\n| `credit` | Interest credited | select | \"monthly\" | Allowed: monthly, quarterly, semiannual, annual |\n| `increase` | Yearly withdrawal increase (%) | text | \"0\" |  |\n| `decimals` | Decimal places in amounts | select | \"2\" | Allowed: 2, 0, 1, 3, 4, 5, 6 |\n\n### Browser-agent workflow\n\n1. Open the human page in a browser that supports WebMCP.\n2. Discover the interface exposed by that page; use its actual schema.\n3. Select files on the page first when the tool requires files.\n4. Call `run_current_tool` with valid input and settings.\n5. Inspect the returned result or error and the displayed output. Retrieve files from the displayed download links.\n\nCalls do not automatically copy or download results. Browser permissions still apply. Interface availability alone is not proof of successful execution.\n\n### Planning specification\n\nStarting balances, withdrawals and target balances up to 1000000000000 at 0 to 3 decimal places, 100000000000 at 4, 10000000000 at 5 and 1000000000 at 6, with every month-end balance within 1000000000000000 minor currency units (10000000000000 at 2 decimal places), rates from 0 to 100 percent, 1 to 1200 months and yearly increases from 0 to 100 percent. Calculated locally in your browser. Downloads are a JSON report and a CSV with one row per month.\n\nThis describes intended requirements. Use the implementation notes, interface schema and observed output to determine current support.\n\n### Complete machine-readable capability record\n\n```json\n{\n  \"id\": \"savings-withdrawal-calculator\",\n  \"category\": \"finance-tools\",\n  \"built\": true,\n  \"requirements\": \"Starting balances, withdrawals and target balances up to 1000000000000 at 0 to 3 decimal places, 100000000000 at 4, 10000000000 at 5 and 1000000000 at 6, with every month-end balance within 1000000000000000 minor currency units (10000000000000 at 2 decimal places), rates from 0 to 100 percent, 1 to 1200 months and yearly increases from 0 to 100 percent. Calculated locally in your browser. Downloads are a JSON report and a CSV with one row per month.\",\n  \"implementation\": {\n    \"fields\": [\n      {\n        \"key\": \"opening\",\n        \"label\": \"Starting balance\",\n        \"value\": \"200000\",\n        \"type\": \"text\",\n        \"maxLength\": 30,\n        \"help\": \"The balance before the first withdrawal.\"\n      },\n      {\n        \"key\": \"rate\",\n        \"label\": \"Yearly interest or return (%)\",\n        \"value\": \"4\",\n        \"type\": \"text\",\n        \"maxLength\": 20,\n        \"help\": \"From 0 to 100, the same every month.\"\n      },\n      {\n        \"key\": \"months\",\n        \"label\": \"Months to model\",\n        \"value\": \"300\",\n        \"type\": \"text\",\n        \"maxLength\": 10,\n        \"help\": \"Whole months from 1 to 1200.\"\n      },\n      {\n        \"key\": \"mode\",\n        \"label\": \"Calculate\",\n        \"value\": \"depletion\",\n        \"type\": \"select\",\n        \"values\": [\n          \"depletion\",\n          \"sustainable\"\n        ],\n        \"labels\": {\n          \"depletion\": \"How long a withdrawal lasts\",\n          \"sustainable\": \"The largest withdrawal that lasts\"\n        }\n      },\n      {\n        \"key\": \"withdrawal\",\n        \"label\": \"Monthly withdrawal\",\n        \"value\": \"1200\",\n        \"type\": \"text\",\n        \"maxLength\": 30,\n        \"help\": \"Taken each month until the balance runs out.\",\n        \"showWhen\": {\n          \"mode\": [\n            \"depletion\"\n          ]\n        }\n      },\n      {\n        \"key\": \"target\",\n        \"label\": \"Balance to keep at the end\",\n        \"value\": \"0\",\n        \"type\": \"text\",\n        \"maxLength\": 30,\n        \"help\": \"The sustainable withdrawal leaves at least this amount. Enter 0 to use the whole balance.\",\n        \"showWhen\": {\n          \"mode\": [\n            \"sustainable\"\n          ]\n        }\n      },\n      {\n        \"key\": \"timing\",\n        \"label\": \"Withdrawal timing\",\n        \"value\": \"start\",\n        \"type\": \"select\",\n        \"values\": [\n          \"start\",\n          \"end\"\n        ],\n        \"labels\": {\n          \"start\": \"Start of each month\",\n          \"end\": \"End of each month\"\n        }\n      },\n      {\n        \"key\": \"credit\",\n        \"label\": \"Interest credited\",\n        \"value\": \"monthly\",\n        \"type\": \"select\",\n        \"values\": [\n          \"monthly\",\n          \"quarterly\",\n          \"semiannual\",\n          \"annual\"\n        ],\n        \"labels\": {\n          \"monthly\": \"Monthly\",\n          \"quarterly\": \"Quarterly\",\n          \"semiannual\": \"Every 6 months\",\n          \"annual\": \"Yearly\"\n        }\n      },\n      {\n        \"key\": \"increase\",\n        \"label\": \"Yearly withdrawal increase (%)\",\n        \"value\": \"0\",\n        \"type\": \"text\",\n        \"maxLength\": 20,\n        \"help\": \"From 0 to 100, applied every 12 months.\"\n      },\n      {\n        \"key\": \"decimals\",\n        \"label\": \"Decimal places in amounts\",\n        \"value\": \"2\",\n        \"type\": \"select\",\n        \"values\": [\n          \"2\",\n          \"0\",\n          \"1\",\n          \"3\",\n          \"4\",\n          \"5\",\n          \"6\"\n        ]\n      }\n    ],\n    \"registrationFamily\": \"personal-balance-schedules\",\n    \"input\": false,\n    \"note\": \"Calculated on your device over at most 1200 months.\",\n    \"experience\": {\n      \"automatic\": false,\n      \"single\": false,\n      \"inputMaxLength\": 1000000,\n      \"inputMode\": \"text\",\n      \"label\": \"Balance and withdrawal values\",\n      \"placeholder\": \"Enter values in the form fields\",\n      \"help\": \"This calculator reads the form fields below; there is no text box. Up to 1,000,000 characters. Review the settings before running.\",\n      \"action\": null\n    },\n    \"mode\": \"explicit\",\n    \"interactive\": false\n  },\n  \"execution\": \"Browser interface\",\n  \"api\": null,\n  \"browser_agent\": {\n    \"supported\": true,\n    \"name\": \"run_current_tool\",\n    \"discovery\": \"WebMCP on the human page in a supporting browser\",\n    \"verification\": \"See audit/API-AUDIT.md; availability is not verification\"\n  }\n}\n```\n\n## Page guide\n\nSee how long a savings balance lasts with monthly withdrawals, or find the largest monthly withdrawal that lasts for the months you choose. Interest, yearly increases and the month the money runs out are shown in a full schedule.\n\nHow can we improve this tool?\n\nReport a problem or share an idea.\n\nPlease leave out private information. Your message and the tool name go to our team via PostHog.\n\n### How to use Savings withdrawal calculator\n\n1. Enter the starting balance, the yearly interest or return and the number of months.\n2. Choose whether to test a withdrawal or find the largest one that lasts.\n3. Enter the monthly withdrawal, or the balance you want to keep at the end.\n4. Choose the withdrawal timing, how often interest is credited and any yearly increase, then review and download the JSON report or the monthly CSV.\n\n## Useful next steps\n\n- [Savings goal](https://happytails.ai/en/finance-tools/savings-goal/) ([Markdown](https://happytails.ai/en/finance-tools/savings-goal.md))\n\n- [Compound interest](https://happytails.ai/en/finance-tools/compound-interest/) ([Markdown](https://happytails.ai/en/finance-tools/compound-interest.md))\n\n- [Simple interest calculator](https://happytails.ai/en/finance-tools/simple-interest/) ([Markdown](https://happytails.ai/en/finance-tools/simple-interest.md))\n\n## Method\n\nThe balance runs month by month. Interest accrues on the balance at the yearly rate divided by 12, rounded to the cent, and is credited at the end of each credit period. Withdrawals come out at the start or end of each month and rise every 12 months by your yearly increase. A withdrawal that would empty the account first receives the interest accrued so far; if it still cannot be paid in full, the account is depleted that month and the shortfall is shown.\n\n### Sustainable withdrawal\n\nIn the second mode the tool searches whole cents for the largest first-year withdrawal that is paid in full every month and leaves at least your target balance. It is the exact ledger version of the annuity relation behind the spreadsheet PV and PMT functions (Microsoft Support, PV function, checked 16 October 2026); one cent more falls short.\n\n### Assumptions and limits\n\nThe same return is applied every month. Real returns vary, and the order of good and bad years can change the outcome. Taxes, inflation and fees are not included. This is a calculation from your own numbers, not financial or retirement advice.\n"
}