{
  "slug": "tax-loss-harvesting-benefit",
  "title": "Tax-Loss Harvesting Benefit Calculator",
  "heading": "Tax-Loss Harvesting Value Calculator",
  "category": "financial",
  "url": "https://www.revenuelab.fyi/toolbox/tax-loss-harvesting-benefit",
  "summary": "Quantify the tax savings from realizing losses to offset gains and income.",
  "description": "Tax-loss harvesting means selling an investment at a loss, immediately using that loss to offset capital gains elsewhere in your portfolio (and up to $3,000 of ordinary income per year if losses exceed gains), then reinvesting in a similar but not 'substantially identical' security to stay invested. This calculator estimates the current-year tax savings from a harvested loss, factoring in the annual $3,000 ordinary-income offset limit and loss carryforward, and separately estimates the deferred tax cost from the lower cost basis you'll carry into the replacement security (since harvesting doesn't erase gains, it defers them). The real benefit isn't the loss itself, it's the tax-rate arbitrage: you get to deduct against your current short-term or ordinary rate now and only pay tax later at (often lower) long-term rates when you eventually sell for good, plus you got to keep the tax savings invested and compounding in the meantime.",
  "formula": "This-year savings = min(loss, gains-offset needed) × gain rate + min(remaining loss, $3,000) × ordinary rate. Carryforward = loss − amount used this year. Deferred cost = future gain on lower basis × future rate, discounted by years of extra compounding on the tax savings reinvested.",
  "dateModified": "2026-09-30",
  "run_url": "https://www.revenuelab.fyi/api/public/calc?tool=tax-loss-harvesting-benefit",
  "inputs": [
    {
      "id": "lossAmount",
      "label": "Realized capital loss",
      "kind": "number",
      "hint": null,
      "default": 8000,
      "unit": "$",
      "min": 0,
      "max": null
    },
    {
      "id": "gainsToOffset",
      "label": "Capital gains elsewhere this year",
      "kind": "number",
      "hint": null,
      "default": 3000,
      "unit": "$",
      "min": 0,
      "max": null
    },
    {
      "id": "gainRate",
      "label": "Rate on those gains (short or long-term)",
      "kind": "number",
      "hint": null,
      "default": 15,
      "unit": "%",
      "min": 0,
      "max": 40
    },
    {
      "id": "ordinaryRate",
      "label": "Marginal ordinary income rate",
      "kind": "number",
      "hint": null,
      "default": 24,
      "unit": "%",
      "min": 0,
      "max": 50
    },
    {
      "id": "yearsInvested",
      "label": "Years you'll keep the tax savings invested",
      "kind": "number",
      "hint": null,
      "default": 15,
      "unit": null,
      "min": 0,
      "max": 40
    },
    {
      "id": "returnRate",
      "label": "Expected return on reinvested savings",
      "kind": "number",
      "hint": null,
      "default": 7,
      "unit": "%",
      "min": 0,
      "max": 15
    }
  ],
  "outputs": [
    {
      "id": "savingsThisYear",
      "label": "Tax savings this year",
      "format": "currency",
      "hint": null,
      "primary": true
    },
    {
      "id": "growthOnSavings",
      "label": "Extra growth from reinvesting the savings",
      "format": "currency",
      "hint": null,
      "primary": false
    },
    {
      "id": "usedAgainstGains",
      "label": "Loss used to offset gains",
      "format": "currency",
      "hint": null,
      "primary": false
    },
    {
      "id": "usedAgainstIncome",
      "label": "Loss used to offset ordinary income (max $3,000)",
      "format": "currency",
      "hint": null,
      "primary": false
    },
    {
      "id": "carryforward",
      "label": "Loss carried forward to future years",
      "format": "currency",
      "hint": null,
      "primary": false
    }
  ],
  "worked_example": {
    "inputs": [
      "Realized capital loss: 8000 $",
      "Capital gains elsewhere this year: 3000 $",
      "Rate on those gains (short or long-term): 15 %",
      "Marginal ordinary income rate: 24 %",
      "Years you'll keep the tax savings invested: 15",
      "Expected return on reinvested savings: 7 %"
    ],
    "outputs": [
      "Tax savings this year: $1,170",
      "Extra growth from reinvesting the savings: $2,058",
      "Loss used to offset gains: $3,000",
      "Loss used to offset ordinary income (max $3,000): $3,000",
      "Loss carried forward to future years: $2,000"
    ]
  },
  "how_to": {
    "title": "How to use this",
    "steps": [
      "Enter realized capital loss ($).",
      "Enter capital gains elsewhere this year ($).",
      "Enter rate on those gains (short or long-term) (%).",
      "Enter marginal ordinary income rate (%).",
      "Enter years you'll keep the tax savings invested.",
      "Enter expected return on reinvested savings (%).",
      "Read your tax savings this year 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": {
        "lossAmount": 5000,
        "gainsToOffset": 2000,
        "gainRate": 9,
        "ordinaryRate": 14,
        "yearsInvested": 9,
        "returnRate": 4.2
      }
    },
    {
      "name": "Typical",
      "description": "Defaults — the most common real-world setup.",
      "values": {
        "lossAmount": 8000,
        "gainsToOffset": 3000,
        "gainRate": 15,
        "ordinaryRate": 24,
        "yearsInvested": 15,
        "returnRate": 7
      }
    },
    {
      "name": "Ambitious",
      "description": "Higher-end numbers — what if things really pop?",
      "values": {
        "lossAmount": 13000,
        "gainsToOffset": 5000,
        "gainRate": 24,
        "ordinaryRate": 38,
        "yearsInvested": 24,
        "returnRate": 11.200000000000001
      }
    }
  ],
  "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": "What's the wash sale rule I need to avoid?",
      "a": "You can't buy the same or a 'substantially identical' security within 30 days before or after the sale that generated the loss, or the loss is disallowed for tax purposes and added to the basis of the replacement shares instead. Swap into a similar-but-different fund, like moving from one S&P 500 index fund to a total-market fund, to stay invested without triggering a wash sale."
    },
    {
      "q": "Is tax-loss harvesting free money?",
      "a": "No — it's a deferral, not a permanent tax reduction, because the replacement security carries a lower cost basis, so you'll owe more tax when you eventually sell it (unless you die holding it and heirs get a stepped-up basis, or you donate it). The value comes from the time value of money on the tax savings and the chance to use today's rate against a possibly lower rate later."
    },
    {
      "q": "Can I harvest losses inside a 401(k) or IRA?",
      "a": "No. Losses inside tax-advantaged accounts have no tax consequence and can't be harvested. This strategy only applies to taxable brokerage accounts."
    },
    {
      "q": "What if I don't have any capital gains to offset?",
      "a": "You can still deduct up to $3,000 of net capital losses against ordinary income each year, and anything beyond that carries forward indefinitely to future tax years until fully used."
    }
  ],
  "related": [
    "https://www.revenuelab.fyi/toolbox/wash-sale-risk-window",
    "https://www.revenuelab.fyi/toolbox/ltcg-zero-bracket-harvesting",
    "https://www.revenuelab.fyi/toolbox/asset-location-tax-efficiency"
  ],
  "license": "CC-BY-4.0",
  "citation": "RevenueLab — Tax-Loss Harvesting Benefit Calculator (https://www.revenuelab.fyi/toolbox/tax-loss-harvesting-benefit)"
}