Tax Loss Harvesting

Tax-loss harvesting (TLH) is the practice of selling investments at a loss to capture the tax benefit, while maintaining market exposure by buying a similar (but not "substantially identical") replacement. Done well, it can save 0.50–1.50% per year in taxes for investors with taxable accounts in higher tax brackets — meaningful over decades.

Done poorly, it triggers the wash-sale rule, complicates tax preparation, and produces suboptimal portfolio outcomes. This page is about how to do it correctly, the situations where it actually pays, and the common errors that defeat the strategy.

How it works mechanically

A taxable brokerage account holds a position that has fallen below its cost basis. You sell the position to "realize" the loss for tax purposes. You immediately buy a similar but not "substantially identical" replacement to maintain market exposure. The realized loss offsets capital gains and (up to $3,000/year) ordinary income.

A simple example:

The replacement (ITOT vs. VTI) tracks a similar index but is from a different provider with different underlying methodology — enough difference to satisfy the IRS that they are not "substantially identical."

The wash-sale rule

The IRS prevents people from claiming a loss while keeping the same position. The wash-sale rule:

If you sell a security at a loss and buy a "substantially identical" security within 30 days before or 30 days after the sale, the loss is disallowed.

The tricky parts:

What is "substantially identical"

The IRS has not given precise guidance. Generally accepted as substantially identical:

Generally accepted as NOT substantially identical:

The 30-day windows

The wash-sale period is 30 days before and 30 days after the sale date — a 61-day window total. Buying the same security at any point in those 60 days disallows the loss.

Cross-account application

The wash-sale rule applies across accounts, including spouse's accounts. Buying VTI in your IRA while selling VTI for a loss in your brokerage triggers wash sale. (And worse: the disallowed loss in this case becomes permanent; it does not transfer to the IRA.)

Auto-investment in 401(k)s

If your 401(k) holds a fund that automatically purchases each paycheck, and you tax-loss harvest a similar fund in your taxable account, you may inadvertently trigger wash sales. Disable 401(k) contributions or carefully select non-overlapping funds during TLH activity.

Pairing strategy

The standard approach uses pairs of similar but distinct funds. You hold one; sell at a loss to harvest; buy the other; later swap back if/when desired.

Common pairs:

Asset classPair APair B
Total US marketVTIITOT
S&P 500VOOIVV (or SPLG)
Total internationalVXUSIXUS
Total US bondBNDAGG (or SCHZ)
Emerging marketsVWOIEMG
US small-cap valueAVUVDFSV

Note: VTI and VOO are not a good pair (one is total market, one is large-cap-only — different exposures, not similar). Pair within the same asset class, not across.

When TLH actually pays

The benefit varies dramatically based on circumstances:

Strong cases

Weak cases

For a typical taxable investor in the 24% federal bracket with $200K in a brokerage, TLH might save 1,500–\3,000/year in real tax. Worth the effort but not a primary investment driver.

When automation helps

Robo-advisors do TLH systematically. Wealthfront, Betterment, and others scan accounts daily for harvesting opportunities and execute automatically. The standard fee (0.25% AUM) is often justified primarily by TLH alone for taxable accounts in higher brackets.

DIY TLH at smaller scale: 2–4 times per year is reasonable. Look for harvesting opportunities during major market drops; ignore minor fluctuations.

A specific TLH workflow

A practical approach for self-managed taxable accounts:

Setup

  1. Hold paired-fund options for each asset class (e.g., VTI as primary; know ITOT as the swap target)
  2. Disable automatic dividend reinvestment for the funds you might harvest (DRIPs can trigger wash sales)
  3. Track cost basis carefully (your brokerage does this; verify it is correct)

Harvesting

  1. After a market drop of 5%+, check each holding for unrealized losses
  2. For positions with meaningful losses (say, $1,000+), execute the swap:
    • Sell the loss position
    • Immediately (same day, ideally same minute) buy the paired fund
  3. Document the trade: original cost basis, sale price, replacement purchase
  4. Mark calendar: do not buy back the original fund for 31+ days

Reconciliation

  1. After 31 days, you can swap back if desired (though it is often unnecessary)
  2. At year-end, verify the broker's reported losses match your records
  3. Use the losses on Schedule D / Form 8949

Common failure patterns

What TLH does not do

Further Reading