Tax Loss Harvesting Calculator
Scan each position for wash sale exposure under IRC §1091, see what you save this year after the $3,000 ordinary offset, project the multi-year carryforward bank, and stack state savings on top. Free, no signup, runs entirely in your browser.
Last reviewed: May 2026 · Uses 2026 IRS limits (§1211(b) $3,000 offset, $1,500 MFS) and current state top marginal rates
Why a Wash Sale Rule Scanner Changes the Math
Most tax loss harvesting calculators ask for a single “harvestable loss” number and multiply by your marginal rate. That misses the actual hard problem: figuring out which lots are eligible in the first place. IRC §1091 disallows a deduction if you bought the same security within 30 days before or after the sale, and the rule extends to your spouse's accounts and your IRA under IRS Rev. Rul. 2008-5. RSU vests, ESPP purchases, dividend reinvestment plans, and routine 401(k) contributions inside the wash window all silently disqualify positions you thought were clean.
The per-position scanner above flips every loss into a verdict — CLEAN, AT RISK, DISALLOWED, or SWAP READY — and routes the harvestable dollars through the right buckets: realized-gain offset first, then $3,000 ordinary income, then carryforward bank. That sequencing matters because the same paper loss can be worth zero (forfeited under §1091), $720 (a $3K offset at 24%), or $1,119 ($3K offset at 24% + California 13.3% stack) depending entirely on the wash window and your state.
How the Tax Loss Harvesting Calculator Computes Your Savings
Per-position evaluation
if (lastBuyDate within 30d OR scheduledBuy within 30d) → wash flag
Then: netLoss = totalHarvestable − realizedGains
ordinaryOffset = min(netLoss, $3,000) // $1,500 MFS, per IRC §1211(b)
carryforward = max(0, netLoss − ordinaryOffset) // banks indefinitely per §1212(b)
taxSavings = realizedGainOffset × ltcgRate + ordinaryOffset × marginalRate + stateStack
The scanner walks every position once, evaluates the 30-day lookback and lookahead windows, and writes a verdict plus the dollar amount that survives. CLEAN positions contribute their full unrealized loss to the harvestable pool. SWAP READY positions also contribute the full amount — but only if you actually execute the substitute trade and don't buy the original back within 30 days. AT RISK and DISALLOWED positions contribute zero and the forfeited dollars get added to the wash-sale forfeit counter so you can see what the violations cost.
Tax Loss Harvesting Strategy by Bracket
Harvest priority shifts with your federal bracket. A 37% top-bracket harvester gets $1,110 per $3,000 ordinary-income offset (before state) and gains roughly 2× efficiency per dollar on short-term losses versus long-term, because ST losses first offset ordinary-rate income while LT losses first offset LTCG. A 12% bracket harvester gets $360 per offset and the ST/LT difference shrinks to roughly 1.2×. For low brackets the carryforward bank is doing more of the work than the immediate offset — you're harvesting today to shelter higher-bracket realized gains later, or to insure against a future income spike.
The Tax Bracket Fit dimension in the report card grades this directly: above the 32% bracket the leverage per dollar is very strong, the 22–24% range is solid, the 10–12% range is worth doing primarily for the carryforward bank rather than the same-year tax cut. Tax loss harvesting strategy at top brackets often pairs with deliberate gain-realization in lower-income years (early retirement, sabbaticals, between-job gaps) where the bank can be drawn down against gains in the 0% LTCG bracket.
The Wash Sale Rule — 30-Day Window Explained
IRC §1091 defines a wash sale as the sale of a security at a loss combined with the purchase of a “substantially identical” security within 30 days before or after — a 61-day combined window centered on the sale date. The disallowed loss does not vanish: it gets added to the cost basis of the replacement shares, deferring the deduction until you eventually sell the replacement. The economic impact of the wash is that you lose the deduction this year, which is exactly the year where you wanted it for tax-loss harvesting purposes.
The rule reaches farther than most retail investors realize. IRS Rev. Rul. 2008-5 confirmed that buying the same security in your IRA within the 61-day window triggers §1091 in your taxable account, and the disallowed loss is permanently lost (it cannot be added to IRA basis). The rule also reaches your spouse's accounts. So an RSU vest from a company-sponsored ESPP, a 401(k) contribution that lands in an S&P 500 index fund on the same day you sell another S&P 500 ETF at a loss, and a spouse's automatic mutual-fund DRIP all qualify as buys for purposes of the test.
Two strategies neutralize this. First, the 31-day cooldown — sell at a loss, wait at least 31 calendar days, then repurchase. The cost is 31 days of out-of-market exposure. Second, the substitute-security swap — sell VOO at a loss, immediately buy IVV (different issuer, same S&P 500). The IRS has never issued a bright-line ruling on what counts as substantially identical for index funds, and the practitioner consensus is that different issuer + different underlying index is safe. Same issuer same index (QQQ → QQQM, both Invesco NASDAQ-100) is unsafe.
ETF Substitute Suggestions to Stay Invested
The substitute panel in the tool surfaces the standard pairings used by practitioner advisors. For S&P 500 exposure: VOO ↔ IVV ↔ SPLG cycle between Vanguard, iShares, and State Street; FXAIX ↔ SWPPX ↔ VFIAX cycle between Fidelity, Schwab, and Vanguard on the mutual fund side. For total US market: VTI tracks the CRSP US Total Market index while ITOT tracks the S&P US Total Market — different issuer and different underlying index, the gold standard for §1091 safety. For NASDAQ-100 exposure: QQQ is risky to swap to QQQM (same issuer, same index) and safer to swap to VGT (Vanguard Information Technology, MSCI US IT index, distinct methodology).
The trade-off is tracking error. Identical-coverage substitutes have a similarity index near 90 — they'll move within 0.1% per day. Adjacent-coverage substitutes (QQQ → VGT swaps a 100-stock NASDAQ basket for a 300+ stock tech basket) have similarity near 70 and may diverge 1–2% over a 31-day period. After the 31-day clock expires you can swap back to the original holding without §1091 concern — that round-trip is the canonical “harvest and stay invested” pattern.
Crypto Tax Loss Harvesting and the 2026 Loophole
IRS Notice 2014-21 classifies digital assets as property rather than securities, and IRC §1091 covers “stocks or securities” only. Sell BTC at a loss and buy it back the same minute — the loss is fully deductible. Sell ETH at a $20K loss in December, repurchase the same week, harvest the deduction without any 31-day waiting period or substitute-security gymnastics. Crypto is the single asset class where the wash sale rule does not bind today.
Multiple legislative drafts have proposed closing this gap. The Build Back Better Act draft text included a §1091 extension to digital assets; FY26 budget proposals revisited it. None have passed as of mid-2026. The pragmatic posture: harvest crypto losses every year while the rule is open, and re-verify the law each tax season — the political odds of closure increase steadily as digital-asset volumes grow. Crypto Mode in the calculator above is the toggle that exempts crypto positions from §1091 evaluation.
$3,000 Ordinary Income Offset and the Carryforward Bank
IRC §1211(b) caps the annual ordinary-income offset at $3,000 for single, married filing jointly, and head of household filers — $1,500 for married filing separately. Anything beyond the cap rolls forward indefinitely under IRC §1212(b). There is no expiration, no use-it-or-lose-it deadline. The carryforward bank silently accrues across decades; a $50K bank built in your 40s can still be deducting against gains in your 70s.
The Carryforward Bank chart in the tool projects the multi-year drawdown. Two variables drive the drain rate: your annual realized gains (offset 1-for-1 first) and the $3,000 ordinary cap (applies whether or not you have gains). A $31K bank with no gains takes ~10–11 years to drain through the $3K cap alone; with $25K of realized gains annually it drains in ~1.1 years. The tactical implication: in flat-income years, you're grinding through the bank slowly; in gain-realization years (selling a house, exercising NSOs, RSU concentrations cashing out), the bank disappears fast.
Short-Term vs Long-Term Loss — Which to Harvest First?
Capital losses net first against same-character gains: short-term losses against short-term gains (taxed at ordinary rates), long-term losses against long-term gains (taxed at LTCG rates of 0%, 15%, or 20%). After like-character netting, any remaining net loss can cross-offset against the opposite-character gain, and then $3,000 of the surviving net loss offsets ordinary income.
For a 32%-bracket harvester with no realized gains: a $1,000 short-term loss saves $320 if it ends up offsetting ordinary income through the $3K cap. A $1,000 long-term loss in the same scenario saves $200 if it offsets long-term gains at 20% — or $320 if it crosses over to offset ordinary income through the same $3K cap. The math gets interesting when you have both types of gains realized: harvest long-term losses first against long-term gains (preserves the more valuable cross-character flexibility for short-term losses), then short-term losses against short-term gains. The Loss Allocation bar above shows your portfolio's split directly.
Year-End Tax Loss Harvesting — The December 31 Deadline
Tax-year losses count only if the trade settles by December 31, not just executes by then. Since the SEC moved U.S. equities to T+1 settlement in May 2024 (Rule 15c6-1 amendment), that means the last realistic sell day is roughly December 28 — December 29 if the calendar lines up. Mutual fund families differ: some settle T+1, some T+2, so confirm with your custodian during the final week. Crypto settles instantly on exchange and within a block on-chain — not a year-end constraint.
Behaviorally, December dominates tax loss harvesting volume because that's when investors finally tally the year's paper losses and notice the December 31 cliff. The Deadline Countdown above turns amber inside the final 14 days. The trap is waiting until December 30 to scan — by then half the substitute ETFs you wanted to swap into are themselves dropping in late-year tax-selling cascades, and your 31-day wash-sale clock from a January 1 repurchase pushes you to February 1 to round-trip.
California Tax Loss Harvesting — State Stack-On
California treats capital losses identically to ordinary losses against ordinary income at the state's top marginal rate of 13.3% — the highest in the U.S. On a $3,000 federal ordinary-income offset, California adds roughly $399 in state-tax savings. Across a $25K realized-gain offset, California stacks another ~$3,325. New York (10.9%), New Jersey (10.75%), Oregon (9.9%), Minnesota (9.85%), and Massachusetts (9%) are the other high-stack states. The State Tax Stack-On bar above compares your state against CA, NY, NJ, TX, and FL directly.
Nine states impose no individual income tax — Alaska, Florida, Nevada, New Hampshire, South Dakota, Tennessee, Texas, Washington, and Wyoming. Harvesting in these states saves only federal tax, but you still get the federal benefit, the carryforward bank still accrues, and you still avoid the wash sale rule the same way. A 32%-bracket California investor saves roughly 45% per dollar offset; a 32%-bracket Texas investor saves 32%. Both should harvest — the calculus is just slightly different.
Direct Indexing vs DIY Tax Loss Harvesting
Direct indexing services hold individual stocks instead of one wrapped ETF, which means they can harvest single names dropping inside a flat or rising broad index. Wealthfront, Frec, and Parametric (Morgan Stanley's institutional arm) are the three best-known providers. Published estimates of after-tax alpha cluster in the 0.5–1% per year range, concentrated in the first 3–5 years before the basis steps up and most positions are at gains. The fee runs 0.25–0.40% per year depending on provider and portfolio size.
The threshold where direct indexing beats DIY ETF harvesting depends mostly on bracket and turnover. Above roughly $250K of taxable assets in a 32%+ bracket the after-tax alpha tends to outrun the fee; below that, DIY ETF harvesting captures most of the available benefit at zero fee. The DIY approach loses out only on single-name dispersion harvesting — you can't harvest INTC at a $4K loss when VOO is up 3%, because the wrapper averages everything together. Direct indexing breaks the wrapper.
Methodology & Citations
The wash sale evaluation implements IRC §1091 verbatim: 30-day lookback + 30-day lookahead window, evaluated against the user-supplied last-buy and scheduled-buy dates per position. The spouse / IRA extension follows IRS Rev. Rul. 2008-5 conceptually — the calculator does not split accounts because aggregated entry is the practical workflow, but the FAQ flags the rule explicitly. The $3,000 annual ordinary-income offset and $1,500 MFS variant come from IRC §1211(b); the indefinite carryforward from §1212(b). Crypto classification follows IRS Notice 2014-21 (digital assets are property, not securities).
State capital-gains treatment uses published 2025–2026 state tax schedules. The T+1 settlement deadline reflects the SEC Rule 15c6-1 amendment effective May 28, 2024. Substitute-security pairings follow practitioner consensus — different issuer and different underlying index — not an IRS bright-line ruling, which does not exist for index funds. All calculations run entirely in your browser; no portfolio data is transmitted or stored on a server.
Frequently Asked Questions
How does a tax loss harvesting calculator with the wash sale rule work?
It scans every position for any purchase of the same security inside the 30-day window before or after the proposed sale — the lookback + lookahead window codified in IRC §1091. Positions inside that window get the loss disallowed for the year (added to the replacement's basis instead). The calculator flags the offending lots, suggests a non-substantially-identical substitute ETF where possible, and totals what survives. The wash sale rule extends to your spouse's accounts and your IRA per IRS Rev. Rul. 2008-5, so “different account” is not a cure.
How much will tax loss harvesting save me each year?
Net capital losses first offset realized capital gains 1-for-1. Anything beyond that offsets up to $3,000 of ordinary income per year ($1,500 if married filing separately) under IRC §1211(b). At a 24% federal bracket plus California's 13.3%, that $3,000 offset is worth roughly $1,119 in direct tax savings — the rest of the loss banks indefinitely as a carryforward. The Tax Savings This Year number in the hero is exactly that: realized-gain offset × LTCG rate + min($3K, net loss) × marginal rate + state stack.
What is the wash sale rule and how do I avoid it?
IRC §1091 disallows a loss deduction if you buy a “substantially identical” security within 30 days before or after the sale. The 30-day window applies to your spouse and your IRA too. Two practical avoidance tactics: (1) wait 31 days before repurchasing, or (2) swap into a different-issuer, different-index ETF — VOO → IVV (Vanguard S&P 500 to iShares S&P 500), VTI → ITOT (CRSP total market to S&P total market), QQQ → VGT (NASDAQ-100 to MSCI US IT). The IRS has not issued a bright-line ruling on what counts as substantially identical for index funds, so most practitioners treat different issuer + different underlying index as safe.
Does the wash sale rule apply to crypto in 2026?
No. IRC §1091 covers “stocks or securities,” and IRS Notice 2014-21 classifies digital assets as property — outside that scope. As of 2026 you can sell BTC, ETH, or any token at a loss and repurchase it the same minute without forfeiting the deduction. Multiple Congressional proposals (Build Back Better revisions, FY26 budget drafts) have repeatedly tried to extend §1091 to digital assets, but none have passed. Harvest while the rule is still open — and re-check the law before tax season each year.
How do tax-loss carryforwards work and how long do they last?
Per IRC §1212(b), unused capital losses roll forward indefinitely — they never expire. Each year going forward, the carryforward bank first offsets that year's realized capital gains 1-for-1, then offsets up to another $3,000 of ordinary income. A $31K bank with no future gains takes about 10–11 years to drain through the $3K cap alone; if you realize $25K of gains annually it drains in roughly 1.1 years. The Carryforward Bank chart in the tool projects the multi-year drawdown directly.
What's the difference between short-term and long-term capital loss harvesting?
Short-term losses (positions held under 365 days) first offset short-term gains, which are taxed at your ordinary marginal rate — 22–37% for most active investors. Long-term losses (held 365+ days) first offset long-term capital gains at 0%, 15%, or 20%. Because ST losses are netting against ordinary rates and LT losses are netting against LTCG rates, for a top-bracket harvester the ST loss is worth roughly 2× the LT loss per dollar deducted (37% vs 20%). The Loss Allocation bar shows the split for your portfolio.
What ETFs can I swap to avoid the wash sale rule?
The practitioner-consensus safe swaps share two properties: different issuer and different underlying index. Common pairings: VOO ↔ IVV ↔ SPLG (S&P 500 across Vanguard, iShares, State Street), VTI → ITOT (Vanguard CRSP total market → iShares S&P total market), FXAIX ↔ SWPPX ↔ VFIAX (S&P 500 across Fidelity, Schwab, Vanguard mutual funds), QQQ → VGT (NASDAQ-100 → MSCI US IT). Avoid same-issuer same-index pairs like QQQ → QQQM — both track NASDAQ-100 from Invesco, which most tax advisors treat as substantially identical.
How does year-end tax loss harvesting work and when's the deadline?
Tax-year losses count only if the trade settles by December 31. Since the SEC moved U.S. equities to T+1 settlement in May 2024, that means the last realistic sell day is roughly December 28 (Dec 29 if weekends fall right). Mutual funds may settle on T+1 or T+2 depending on the family — check before the final week. About 35–45% of annual TLH volume happens in December as paper losses become claimable; the deadline countdown in the tool turns amber inside the final 14 days.
Does California tax loss harvesting save state tax too?
Yes — California treats capital losses as ordinary losses against ordinary income at the state's top marginal rate of 13.3% (the highest in the U.S.). On a $3,000 federal ordinary-income offset, California layers another ~$399 in state-tax savings on top of federal. The State Tax Stack-On bar in the tool compares your state against CA, NY, NJ, TX, and FL directly. Nine states have no income tax — Alaska, Florida, Nevada, New Hampshire, South Dakota, Tennessee, Texas, Washington, and Wyoming — and harvesting saves only federal tax in those states.
Is direct indexing better than DIY tax loss harvesting?
Direct indexing services (Wealthfront, Frec, Parametric) hold individual stocks instead of one ETF, so they can harvest single names that drop while the overall S&P 500 is up — capturing losses that an ETF wrapper cannot. Vendor whitepapers and academic studies have published after-tax-alpha estimates in the 0.5–1% per year range, concentrated in the first 3–5 years before the cost basis steps up. The math typically works above a roughly $250K taxable balance; below that, DIY ETF harvesting captures most of the available benefit at zero fee. The threshold shifts with bracket — a 37%-bracket harvester gets to the breakeven faster than a 22% one.