Investing & Retirement Long-form guide

Tax-loss harvesting in taxable brokerages: the mechanics

How to convert paper losses in a taxable account into a permanent federal tax benefit: the wash sale rule, the $3K offset cap, and the harvest-rebuy mechanics.

CC
Author

Cristian Corrales

Founding editor of finbarrow. Math-first analysis of US personal finance, anchored to primary sources (CFPB, FDIC, FRB, IRS, FICO, FINRA, SEC, NCUA).

Published · Last reviewed · 8-minute read
Vintage stock ticker-tape spool with a printed downward red arrow on the unfurled paper beside a sage-green tax-deduction stamp — tax-loss harvesting mechanics in a taxable brokerage account.

Tax-loss harvesting is one of the few capital-markets tactics where the math is genuinely structural rather than speculative. You do not need a view on market direction, on individual securities, or on macroeconomic conditions. You only need positions in a taxable brokerage account whose current price is below your cost basis, and the operational discipline to harvest the loss without triggering a wash sale. The federal tax benefit accrues at the moment you execute the trade — not contingent on the future, not contingent on outcomes, not contingent on anything other than holding broadly diversified positions in a normal market environment that occasionally dips.

This guide walks through what tax-loss harvesting actually is, the mechanics of the wash sale rule that constrains how it is executed, the math behind the $3,000 ordinary-income offset and the carryforward, two worked examples at different portfolio sizes, and the cases where the strategy adds real value versus where it is operational overhead with little benefit.

What harvesting actually does

You bought a broad-market ETF (say, VTI total stock market) for $50,000 three years ago. It is now worth $45,000 — a $5,000 paper loss. If you do nothing, the loss is unrealized and produces no current tax benefit. If you sell, you realize the $5,000 capital loss, which the IRS lets you use to:

  • First, offset capital gains of the same character (long-term losses offset long-term gains; short-term losses offset short-term gains; any remainder cross-applies).
  • After gains are zeroed out, the remaining net loss reduces your ordinary income for the year, up to a maximum of $3,000 per tax year ($1,500 married filing separately).
  • Anything beyond that $3,000 carries forward indefinitely to future tax years.

The realized loss is now a real deduction on Form 1040 Schedule D and Schedule 1. At a 24% federal marginal rate, a $3,000 loss against ordinary income saves $720 of federal tax in the current year. If you offset a $5,000 long-term capital gain at the 15% rate — the middle tier of the 0/15/20 percent long-term capital gains brackets — that is $750 of federal tax avoided immediately. State tax savings stack on top in states that tax capital gains.

The key insight: you have not changed your market exposure if you immediately rebuy a similar-but-not-identical ETF (say, ITOT or SCHB instead of VTI). The portfolio sits in roughly the same market segment with roughly the same expected return, but now you have a captured tax loss the IRS lets you use.

The wash sale rule — the only thing you can break

The IRS knows the obvious gaming opportunity: sell at a loss, immediately rebuy the exact same security, claim the loss. The wash sale rule at IRC § 1091 prevents this by disallowing the loss if you buy the same or substantially identical security within 30 days before or after the sale (a 61-day window centered on the sale date). The disallowed loss is not destroyed — it is added to the cost basis of the replacement security. But the deduction is deferred until you eventually sell the replacement, which defeats the current-year tax benefit.

The “substantially identical” test is the harvesting practitioner’s main concern. Cleanly substantially identical (avoid):

  • Same exact ETF/fund (VTI sold, VTI rebought)
  • Same underlying fund family tracking the same index (VFIAX sold, VOO rebought — same Vanguard S&P 500 product in different wrapper)
  • Options or convertibles on the same underlying

Cleanly NOT substantially identical (safe to use as the replacement):

  • ETFs tracking different (even if related) indexes from different providers (VTI tracks CRSP US Total Market; ITOT tracks S&P Total Market; SCHB tracks Dow Jones US Broad Market — three different indexes, three different providers, all broadly similar in exposure but not substantially identical)
  • Different stocks in the same sector
  • Different bond duration buckets even within the same issuer category

Murkier (legal opinions vary):

  • Two S&P 500 ETFs from different providers (SPY vs IVV vs VOO — track the exact same index, just different wrappers). Practitioner caution suggests treating these as substantially identical even though no IRS ruling has definitively settled the question.

The standard harvesting playbook: maintain a “tax pair” for each broad position. Primary: VTI. Tax-loss replacement: ITOT. They are not substantially identical (different indexes, different providers), and you can sell one and buy the other freely, then swap back after 31 days if you want to return to the primary. Most large brokerages have published wash-sale-safe pair recommendations.

The harvest-rebuy operational mechanics

Step by step for a manual harvest:

1. Identify lots in your taxable brokerage with unrealized losses. Most brokerages let you see this by going to positions and toggling “unrealized gain/loss by lot.” Look for lots whose current market value is below their cost basis.

2. Calculate the wash sale window. The 30 days before the sale matter too — if you bought more of the same security in the past 30 days, even a separate purchase, the wash sale rule applies to that subset of the new lot.

3. Place the sell order, specifying the specific lots you want to sell (specific identification, or SpecID, is the cost basis method that gives you control; FIFO and other methods are also available but give you less control over which lots realize losses).

4. Place the buy order for the wash-sale-safe replacement security in the same dollar amount. Both orders should ideally execute the same day to minimize market drift.

5. Wait at least 31 days before any further purchase of the original security. If you want to return to the primary, sell the replacement and buy the primary back, ideally after 31 days from the original sale to avoid creating a fresh wash sale on the replacement.

6. At year-end, your 1099-B from the brokerage will report the realized losses with the disallowed-wash-sale column (box 1g) flagged for any positions where the rule tripped. Reconcile against your records before filing, and when you transcribe a wash sale onto your return, enter it with Form 8949 column (f) code W — the disallowed loss goes in column (g) as a positive number.

Worked example 1: $50,000 portfolio, modest market dip

A $50,000 portfolio in 100% VTI bought at an average cost basis of $245 per share. Current price drops to $220 per share over six months. You have approximately 204 shares with $25 of paper loss each — $5,100 of total unrealized loss.

You sell all 204 shares at $220 = $44,880 in proceeds and $5,100 in realized capital loss. You immediately buy $44,880 of ITOT (or SCHB) at current price. Market exposure unchanged. Realized loss: $5,100.

If you have no other capital gains for the year, this offsets ordinary income up to the $3,000 annual cap. The remaining $2,100 carries forward to next year. Federal tax savings this year at 24% marginal: $720. Federal tax savings carryforward at same rate: $504 next year (assuming you can use it).

State savings depend on residency. California, with its progressive income tax that treats capital gains as ordinary income at marginal rates up to 12.3%, can add another $370+ on top.

Total first-year federal benefit: $720. Total benefit over 2-3 years as the carryforward exhausts: ~$1,224. On a $50,000 portfolio, this is meaningful but not transformative.

Worked example 2: $500,000 portfolio with $40,000 of realized gains earlier in the year

A $500,000 portfolio with a position in VOO purchased two years ago at $400/share, now worth $350/share. You have $40,000 of long-term capital gains realized earlier in the year from a separate position you rebalanced.

You identify $50,000 of harvest opportunity in the VOO position (the lots specifically with negative basis-to-price). You sell those lots, generating $50,000 of realized long-term loss. You buy $50,000 of SPLG (SPDR S&P 500 ETF — same exposure, different provider, not substantially identical to VOO per most legal opinions).

Tax effect: $40,000 of long-term losses offset $40,000 of long-term gains (zeroing them out — no LTCG tax owed). $3,000 of remaining loss offsets ordinary income (saves $720+ at 24% marginal). $7,000 carries forward to next year for future use.

Federal LTCG tax avoided at 15% rate: $40,000 × 15% = $6,000. Federal ordinary-income offset at 24% marginal: $3,000 × 24% = $720. Total federal savings this year: $6,720. Future carryforward benefit: ~$1,680 over 2-3 years.

Total benefit from this single harvest: roughly $8,400 federal alone, before state.

Where the strategy adds value vs where it is overhead

Tax-loss harvesting is genuinely valuable when:

  • The portfolio is in a taxable brokerage (Roth IRA, 401(k), HSA in investing mode — all useless for harvesting).
  • There are realized current-year capital gains to offset (the leverage is highest when offsetting capital gains directly).
  • The marginal tax rate today is higher than expected future marginal rate (the deferral becomes a permanent saving when future rates are lower — common for working-age accumulators expecting lower retirement-bracket gains).
  • Portfolio size is meaningful (operational overhead is roughly fixed; benefit scales with portfolio size; below $25,000 the benefit may not justify the bookkeeping).
  • Diversified positions across multiple lots (more lot diversity → more harvesting opportunities).

The strategy is operational overhead with little benefit when:

  • The portfolio is entirely in tax-advantaged accounts (the most common case for most households below high net worth).
  • There are no realized current-year gains and the household is already in a low marginal bracket (the $3,000 offset against 12% ordinary income is $360 — minimal at the cost of two trades).
  • Portfolio is small (<$25,000) and the wash-sale tracking burden falls on the household.
  • The household pays a tax preparer per-transaction (some preparers charge by transaction count; many harvested trades + 1099-B reconciliation costs eat the benefit).

When robo-advisors win versus DIY

Wealthfront, Betterment, and a handful of other robo-advisors automate daily tax-loss harvesting via wash-sale-safe pair swaps in broadly diversified ETF portfolios. For households with $100,000+ in taxable accounts, the daily-harvesting benefit can be 0.5% to 1.0% of portfolio value annually in normal-volatility years — meaningful relative to the typical 0.25% management fee. The trade-off is operational lock-in (moving the account elsewhere later means inheriting a mass of cost basis lots in unusual tax pairs) and complexity at tax time.

For DIY harvesting in a Vanguard or Schwab account, monthly or quarterly manual harvesting captures most of the annual benefit with much simpler bookkeeping. The marginal benefit of daily-over-monthly is real but small in absolute dollar terms relative to the manual operational cost.

Where the analysis stops

This guide covers tax-loss harvesting in US-domiciled taxable brokerage accounts for federal income tax purposes. It does not cover:

  • Tax-gain harvesting — the inverse strategy of realizing long-term gains in low-bracket years to step up cost basis cheaply. Legitimate and useful, especially in early-retirement years where MAGI is low; warrants its own analysis.
  • State capital gains tax treatment — varies widely. Some states (Washington, Texas, Florida) have no state income tax and no state capital gains tax. Others (California, Hawaii) tax capital gains at full ordinary rates. The harvesting math should incorporate state savings where applicable.
  • AMT (Alternative Minimum Tax) implications — for very high earners, harvested capital losses can interact with AMT computation in ways that the simple math above does not capture.
  • Cryptocurrency-specific wash sale treatment — as of this writing, the wash sale rule explicitly applies to securities defined in § 1091 but the application to crypto assets remains a debated question pending statutory or regulatory clarification. Conservative practitioners treat crypto wash sales as effectively in scope until clarified.

For mainline taxable-brokerage harvesting of broadly diversified ETF positions, the playbook in this guide covers the case for 95% of households who would benefit. Edge cases (large concentrated positions, options-heavy portfolios, options as replacements, international tax treatment) warrant a CPA or qualified preparer walk-through.

Recent context

The tax-gain side of this same playbook is genuinely powerful for a specific subset of households: filers whose taxable income leaves them in the long-term capital gains 0% bracket can harvest gains at zero federal cost, stepping up cost basis without paying a dollar of tax. The 2026 thresholds and the worked examples for single and married-filing-jointly households are in the 0% capital gains bracket for 2026 planning.

What to verify before harvesting

Always pull current-year specifics from the IRS source before executing:

  • Wash sale rule mechanics: irs.gov/publications/p550 (Investment Income and Expenses, Wash Sales section)
  • Schedule D + Form 8949 (capital gains/losses reporting): irs.gov/forms-pubs/about-form-8949
  • Capital gains tax brackets for current year: irs.gov/taxtopics/tc409 (Capital Gains and Losses)
  • Carryforward rules: irs.gov/publications/p550 (Capital Losses section)

The structural mechanics of harvesting do not change year to year. What changes is the standard deduction (which affects whether the $3,000 ordinary-income offset is genuinely valuable for your marginal situation), capital gains bracket thresholds (which affect the leverage of offsetting), and occasional statutory tweaks. Verify, then harvest.

Frequently asked

Quick answers

Can I harvest losses inside my Roth IRA or 401(k)?

No. Tax-loss harvesting is meaningful only in taxable brokerage accounts because tax-advantaged accounts (Roth IRA, traditional IRA, 401(k), HSA in investing mode) have no annual capital gains tax to offset. Inside a Roth IRA, both gains and losses are invisible to the IRS — the account does not generate a 1099-B, and trades inside it have no federal tax consequence. Selling at a loss in a Roth simply locks in a smaller balance with no offsetting benefit. Worse: as confirmed by Revenue Ruling 2008-5, if you sell a security at a loss in a taxable account and rebuy it within 30 days inside an IRA, the wash sale rule permanently disallows the loss because the IRA-side basis adjustment cannot produce a future tax benefit. Tax-loss harvesting is exclusively a taxable-account strategy.

What is the maximum loss I can deduct against ordinary income each year?

Up to $3,000 of net capital losses per year against ordinary income for single, head of household, and married filing jointly filers ($1,500 for married filing separately). Losses above that amount carry forward indefinitely and offset future years until exhausted. Internally, capital losses first net against capital gains of the same character (short-term losses against short-term gains, long-term against long-term), then any remaining net loss reduces ordinary income up to the annual cap. There is no time limit on carryforwards — a $30,000 loss in 2026 with no offsetting gains could take ten years to fully deduct against $3K/year of ordinary income, but the carryforward is preserved every year on Form 1040 Schedule D until used.

Does tax-loss harvesting really save money or is it just a deferral?

It is a combination of three things: a tax deferral (the gain is realized later when the higher-basis replacement is eventually sold), a permanent tax-rate arbitrage (if your future capital gains rate is lower than today, the deferral converts to real savings; this often happens for households expecting lower retirement-bracket gains), and an immediate tax-time benefit (up to $3,000 against current ordinary income). For a household in the 24% federal bracket harvesting $3,000 of losses against ordinary income, the immediate benefit is $720 of federal tax saved in the current year. For larger harvests offset against current-year gains, the savings can scale meaningfully — $30,000 of harvested losses fully offset against same-character gains at a 20% LTCG rate is $6,000 of immediate federal tax saved.

How aggressive should automated robo-advisor tax-loss harvesting be?

It depends on portfolio size and lot complexity. Robo-advisors like Wealthfront and Betterment use frequent (often daily) wash-sale-safe swaps between similar-but-not-identical ETFs to harvest losses any time a position is down. The benefit grows linearly with portfolio size — at $50,000+ portfolios with normal market volatility, daily harvesting captures meaningfully more loss per year than annual harvesting. The downsides: massive 1099-B forms with hundreds of transactions, complications when reconciling against manual trades, and complexity if you later move the account to a different provider. For DIY harvesting at $100,000+ portfolios, manual annual or semi-annual harvesting captures most of the available benefit with much simpler bookkeeping.


Educational content only. finbarrow is an independent editorial publication, not a licensed financial advisor, broker, tax preparer, or attorney. Verify rates and terms with the issuer or relevant regulator. See disclaimers and funding disclosures.

← Back to Investing & Retirement