What Is Tax-Loss Harvesting?
This calculator applies to United States federal tax rules. Tax-loss harvesting is the practice of selling an investment at a loss to offset taxable capital gains and, where losses exceed gains, to deduct up to $3,000 per year ($1,500 if married filing separately) against ordinary income. Any unused loss carries forward indefinitely. Rules reflect current IRS treatment of capital losses; consult a tax professional and watch the wash-sale rule.
How to Use It
Enter the realized capital loss you are harvesting, the amount of capital gains you want to offset, your capital gains tax rate, and your marginal ordinary income tax rate. The calculator shows how much of the loss offsets gains, how much (up to $3,000) reduces ordinary income, your total estimated tax savings, and any loss carried into future years.
The Formula Explained
$$S = G \cdot \text{CapRate} + D \cdot \text{OrdRate}$$ $$\text{where}\quad \left\{ \begin{aligned} G &= \min\!\left(\text{Loss},\ \text{Gains}\right) \\ D &= \min\!\Big(\max\!\left(\text{Loss} - \text{Gains},\,0\right),\ 3000\Big) \end{aligned} \right.$$ The first term values the gains your loss cancels at your capital-gains rate. The second applies the $3,000 ordinary-income deduction to whatever loss is left, valued at your higher ordinary rate.
Worked Example
Suppose you harvest a $10,000 loss, have $4,000 of gains, a 15% capital gains rate, and a 24% ordinary rate. The loss offsets $4,000 of gains, saving \(\$4{,}000 \times 15\% = \$600\). The remaining $6,000 exceeds the $3,000 limit, so $3,000 deducts against income, saving \(\$3{,}000 \times 24\% = \$720\). Total savings = \(\$600 + \$720 = \$1{,}320\), with $3,000 carried forward.
FAQ
Is the $3,000 limit per loss or per year? Per tax year across all net capital losses.
Do leftover losses disappear? No — they carry forward to offset future gains and income indefinitely.
What about the wash-sale rule? Buying a substantially identical security within 30 days disallows the loss; this tool assumes the loss is valid.