{
  "slug": "medicare-part-b-irmaa-calculator",
  "title": "Medicare IRMAA Surcharge Calculator",
  "heading": "Medicare Part B & D IRMAA Surcharge Calculator",
  "category": "financial",
  "url": "https://www.revenuelab.fyi/toolbox/medicare-part-b-irmaa-calculator",
  "summary": "See which income bracket you land in and what the surcharge costs.",
  "description": "Medicare premiums are income-tested. If your modified adjusted gross income from two years ago exceeds a threshold, the Social Security Administration adds an Income-Related Monthly Adjustment Amount to both your Part B and Part D premiums. The brackets are cliffs, not phase-ins: one dollar of extra income can cost well over a thousand dollars a year per person. This calculator places your MAGI in the correct tier, applies the surcharge, and shows the annual cost for one person and for a couple both on Medicare. It also reports the distance to the next bracket, which is the number that matters for year-end planning — a Roth conversion, a capital gain, or a large IRA withdrawal that nudges you over a line costs far more than the tax on the extra income alone. Thresholds and premium amounts are set annually; enter the current-year figures from your Medicare notice to keep the result exact.",
  "formula": "Total Monthly Premium = Base Part B + Part B IRMAA + Part D IRMAA, by MAGI bracket, doubled for a couple both enrolled.",
  "dateModified": "2026-09-06",
  "run_url": "https://www.revenuelab.fyi/api/public/calc?tool=medicare-part-b-irmaa-calculator",
  "inputs": [
    {
      "id": "magi",
      "label": "MAGI from two years ago",
      "kind": "number",
      "hint": null,
      "default": 130000,
      "unit": "$",
      "min": 0,
      "max": 2000000
    },
    {
      "id": "filing",
      "label": "Filing status",
      "kind": "select",
      "hint": null,
      "default": "single",
      "options": [
        {
          "value": "single",
          "label": "Single"
        },
        {
          "value": "joint",
          "label": "Married filing jointly"
        }
      ]
    },
    {
      "id": "basePartB",
      "label": "Standard Part B premium",
      "kind": "number",
      "hint": null,
      "default": 202,
      "unit": "$/month",
      "min": 100,
      "max": 400
    },
    {
      "id": "bothEnrolled",
      "label": "How many on Medicare",
      "kind": "select",
      "hint": null,
      "default": "1",
      "options": [
        {
          "value": "1",
          "label": "One person"
        },
        {
          "value": "2",
          "label": "Both spouses"
        }
      ]
    }
  ],
  "outputs": [
    {
      "id": "annualSurcharge",
      "label": "Annual IRMAA surcharge",
      "format": "currency",
      "hint": null,
      "primary": true
    },
    {
      "id": "monthlyTotal",
      "label": "Total monthly premium",
      "format": "currency",
      "hint": null,
      "primary": false
    },
    {
      "id": "annualTotal",
      "label": "Total annual premium",
      "format": "currency",
      "hint": null,
      "primary": false
    },
    {
      "id": "tier",
      "label": "IRMAA tier (0 = none)",
      "format": "number",
      "hint": null,
      "primary": false
    },
    {
      "id": "roomToNext",
      "label": "Income room before the next bracket",
      "format": "currency",
      "hint": null,
      "primary": false
    }
  ],
  "worked_example": {
    "inputs": [
      "MAGI from two years ago: 130000 $",
      "Filing status: Single",
      "Standard Part B premium: 202 $/month",
      "How many on Medicare: One person"
    ],
    "outputs": [
      "Annual IRMAA surcharge: $1,140",
      "Total monthly premium: $297",
      "Total annual premium: $3,564",
      "IRMAA tier (0 = none): 1",
      "Income room before the next bracket: $3,000"
    ]
  },
  "how_to": {
    "title": "How to use this",
    "steps": [
      "Enter magi from two years ago ($).",
      "Enter filing status.",
      "Enter standard part b premium ($/month).",
      "Enter how many on medicare.",
      "Read your annual irmaa surcharge on the right — it updates as you type.",
      "Hit Share to keep the scenario or send it to someone."
    ]
  },
  "scenarios": [
    {
      "name": "Conservative",
      "description": "Lower-end numbers — what if things land soft?",
      "values": {
        "magi": 78000,
        "filing": "single",
        "basePartB": 121,
        "bothEnrolled": "1"
      }
    },
    {
      "name": "Typical",
      "description": "Defaults — the most common real-world setup.",
      "values": {
        "magi": 130000,
        "filing": "single",
        "basePartB": 202,
        "bothEnrolled": "1"
      }
    },
    {
      "name": "Ambitious",
      "description": "Higher-end numbers — what if things really pop?",
      "values": {
        "magi": 208000,
        "filing": "single",
        "basePartB": 323,
        "bothEnrolled": "1"
      }
    }
  ],
  "limitations": [
    "Results are estimates before tax, fees, and inflation unless an input explicitly covers them.",
    "Rates are treated as fixed for the whole period — variable-rate products will drift from this projection.",
    "This is educational maths, not financial advice. Check anything contractual with the lender or your accountant."
  ],
  "faq": [
    {
      "q": "Why is my income from two years ago used?",
      "a": "Social Security uses the most recent tax return it has on file, which is generally the return filed two years earlier. A 2026 premium is normally based on 2024 income."
    },
    {
      "q": "Can I appeal an IRMAA determination?",
      "a": "Yes. Form SSA-44 lets you request a reduction after a life-changing event such as retirement, divorce, death of a spouse, or loss of income-producing property. Ordinary income drops do not qualify."
    },
    {
      "q": "How do I avoid crossing a bracket?",
      "a": "Watch the 'income room' figure before year-end Roth conversions, capital gains harvesting, or large retirement withdrawals. Qualified charitable distributions from an IRA are a common way to keep MAGI below a line."
    },
    {
      "q": "Are these the current thresholds?",
      "a": "Brackets and premiums are indexed annually. The defaults reflect recent levels — replace the base premium and check the current thresholds on your Medicare notice for an exact figure."
    }
  ],
  "related": [
    "https://www.revenuelab.fyi/toolbox/annuity-income-payout-calculator"
  ],
  "license": "CC-BY-4.0",
  "citation": "RevenueLab — Medicare IRMAA Surcharge Calculator (https://www.revenuelab.fyi/toolbox/medicare-part-b-irmaa-calculator)"
}