It Sounds Like a Magic Trick
You sell a losing investment, claim the loss on your taxes, and then buy right back in. You’re still in the market. You still own basically the same exposure. But you just got a tax deduction.
The IRS knows about this. They’ve known about it for a long time. Which is exactly why there are rules.
Tax-loss harvesting is real, it’s legal, and it can save you a meaningful amount of money — but it’s not magic. It’s tax deferral, not elimination. The difference matters, and we’ll get to it.
What Tax-Loss Harvesting Actually Is
Here’s the mechanics: you own an investment that’s currently worth less than what you paid for it. You sell it. That realized loss becomes a capital loss on your tax return.
Capital losses offset capital gains dollar for dollar. If you sold some appreciated stock earlier in the year and owe taxes on $6,000 of gains, a $6,000 harvested loss zeroes that out.
What if you have more losses than gains? The IRS lets you use up to $3,000 of capital losses to offset ordinary income — the W-2 kind — per year. If your marginal rate is 37%, that’s $1,110 back. If you’re in the 22% bracket, it’s $660. Not nothing.
And if your losses exceed $3,000 after wiping out all your capital gains? They carry forward to future tax years — indefinitely. The IRS doesn’t expire them. You keep using them until they’re gone.
The Numbers
Say you’ve got $10,000 in harvested losses. Earlier in the year you sold some NVIDIA shares and locked in $6,000 of capital gains.
Here’s how it flows:
- $10,000 loss minus $6,000 in capital gains = $4,000 net capital loss
- $3,000 offsets ordinary income (saves $1,110 at the 37% bracket, $660 at 22%)
- $1,000 carries forward to next year
That’s a real tax benefit — you just eliminated your capital gains tax on $6,000 and cut your ordinary income tax bill too.
The Wash-Sale Rule: The IRS Saw You Coming
The IRS isn’t going to let you sell VTI at a loss and immediately buy VTI back. That would let people generate losses on paper while maintaining their position unchanged — which is exactly what happened before Congress fixed it in 1954.
The wash-sale rule: if you sell a security at a loss and buy a substantially identical security within 30 days before OR after the sale, the loss is disallowed. That’s a 61-day window total — 30 days before the sale, the day of the sale, and 30 days after.
“Before OR after” is the part people miss. You can’t pre-buy the replacement fund a week before you sell the loser to avoid the window. The IRS thought of that.
What Counts as “Substantially Identical”?
This is where it gets slightly murky, but the practical rule is:
- The same fund or ETF: selling VTI and buying VTI back is obviously a wash sale.
- A fund tracking the same index: selling one S&P 500 ETF (say, VOO) and buying another S&P 500 ETF (say, IVV) is likely a wash sale. They track the same index. The IRS considers them substantially identical.
- Different indexes, similar exposure: this is the gray zone. Selling a total US market fund and buying a broad US market fund with a different index probably isn’t a wash sale, but the guidance isn’t crystal clear.
Individual stocks are easier: Apple and Google are not substantially identical. Intel and AMD are not substantially identical. But selling your VTI shares and buying a different S&P 500 fund? Don’t risk it.
The Workaround: VTI → ITOT
The standard move in the ETF world is to swap into a fund with similar — but not identical — exposure.
Sell VTI (Vanguard Total Stock Market ETF, tracks CRSP US Total Market Index)
Buy ITOT (iShares Core S&P Total US Stock Market ETF, tracks S&P Total Market Index)
Both are broad US stock market funds. Both include large-, mid-, and small-cap stocks. But they track different indexes from different providers. They’re not substantially identical.
You stay invested. Your exposure barely changes. You harvest the loss. After 31+ days, you can swap back to VTI if you prefer Vanguard’s ecosystem — or just stay in ITOT. It performs nearly identically over any meaningful time horizon.
Other common pairs:
- VOO → IVV or SCHB: both cover large US stocks but different index definitions
- VXUS → IXUS: international stock market funds from different families
- BND → AGG: US bond market funds tracking different bond indexes
The key: different fund family, different underlying index, similar (not identical) market exposure.
The Honest Part: It’s Deferral, Not Elimination
Here’s what the headlines don’t say: when you sell VTI at a loss and buy ITOT, you’ve just lowered your cost basis.
You bought VTI at $220. It dropped to $190. You harvested a $30/share loss. Now you own ITOT, also purchased at $190. When the market recovers and your ITOT position is worth $250, your gain isn’t $30 (from $220 cost basis) — it’s $60 (from the $190 ITOT cost basis).
You deferred the tax. You didn’t eliminate it. Future-you will pay taxes on a larger gain than past-you would have.
The value is the time value of money. You got a tax refund today, and that money compounded for years before the government got its cut. At a 7% real return, a $3,000 deduction today is worth significantly more than $3,000 in tax savings 10 years from now. That’s the actual win.
The math is real. Just don’t tell yourself you’re getting free money. You’re getting a low-interest loan from the IRS, repaid when you eventually sell.
When Tax-Loss Harvesting Is Worth It
Situations where it actually matters:
- You have a meaningful taxable brokerage account — not just 401k/IRA
- You have capital gains to offset (you sold appreciated positions this year, or have a high-income year with short-term gains)
- Markets have had a down period and you’re sitting on unrealized losses
- You’re in a high marginal rate bracket where ordinary income deductions hit harder
Situations where it doesn’t apply:
- 401k, IRA, HSA: capital gains inside these accounts are not taxable events. TLH is irrelevant. You can’t harvest losses in tax-advantaged accounts.
- You’re in the 0% capital gains bracket (taxable income under roughly $47k for single filers in 2024): harvesting losses to offset gains that would be taxed at zero is… pointless.
- You have no capital gains and your only benefit would be the $3,000 ordinary income deduction: sometimes worth doing, but do the math on whether the complexity is worth $660.
Automated Harvesting: Let Robots Do It
If you use a robo-advisor, you may already be getting tax-loss harvesting for free.
Betterment and Wealthfront both do automated TLH — they monitor your portfolio daily, and when positions are down enough to harvest, they sell and replace with similar funds automatically, staying within IRS wash-sale rules. It’s baked into the product.
If you’re managing your own taxable portfolio at Fidelity, Vanguard, or Schwab, you do it manually — you set a calendar reminder, check your positions in November or December, and execute the trades yourself. It takes 20 minutes.
The Most Important Rule: Don’t Wag the Dog
Tax-loss harvesting is a nice optimization. It is not a strategy. It’s a feature you layer on top of a good investment plan.
Do not make bad investment decisions to harvest losses. Don’t sell a position you want to hold for 30 years just because it’s down 8% in a bad month. Don’t exit an ETF you actually prefer because there’s a temporary loss to harvest. Don’t keep checking your portfolio obsessively looking for harvesting opportunities.
The sequence of decisions should always be:
- Own the right assets for your timeline and risk tolerance
- Harvest losses when they appear, as a bonus
- Never let step 2 compromise step 1
If you’re selling VTI and buying ITOT — two nearly identical total market funds — you’re doing fine. If you’re rearranging your whole allocation to manufacture losses, you’ve lost the plot.
The Quick Checklist
Before you pull the trigger on a harvest:
- Is this a taxable account? (Not 401k/IRA?)
- Are you actually down from your cost basis? (Check your acquisition price, not today’s all-time high)
- Is your replacement fund actually different — different index, different provider?
- Will you remember not to buy back the original fund for 31+ days? (Set a calendar reminder)
- Have you checked if you bought any of this fund in the last 30 days? (That’s a wash sale too)
- Are you in a bracket where this actually saves money? (0% capital gains bracket makes this pointless)
TLH in a Sentence
Sell the loser, buy a similar-but-not-identical fund, claim the loss, wait 31 days. You deferred a tax bill, got the IRS to loan you that money interest-free, and put it back to work in the market. Just remember: you’ll pay eventually. The trick is making the waiting worthwhile.