Tax-Loss Harvesting Guide: Turn Market Losses Into Permanent Tax Savings
Tax-loss harvesting is the practice of selling an investment at a loss to offset capital gains and — when losses exceed gains — up to $3,000 of ordinary income per year, with unlimited carryforward to future years. Done correctly in taxable brokerage accounts, it converts paper losses into real tax dollars without meaningfully changing your investment exposure. This guide covers exactly how it works, the wash sale rule (30 days before and after), approved replacement fund pairs, the correct tax treatment on Schedule D, how to track carryforward losses, and common traps that turn a tax benefit into a taxable mistake.
1. Foundation
Tax-loss harvesting is a tax deferral strategy, not a tax elimination strategy. When you sell an investment at a loss, the IRS allows you to use that loss to offset capital gains realized elsewhere in your portfolio. If your losses exceed your gains, up to $3,000 of the net loss can be deducted against ordinary income (wages, interest, etc.) per year. Any remaining net capital loss carries forward indefinitely to future tax years. The key word is deferred: when you sell the replacement investment later, you will pay capital gains tax on a larger gain (because your cost basis is lower). But deferring a tax liability for 10, 20, or 30 years has real, computable value — the present value of a $10,000 tax payment 20 years from now at a 7% discount rate is approximately $2,584 in today's dollars. Harvesting effectively converts a future certain tax into a smaller present-value cost.
The three conditions for tax-loss harvesting to work: First, it must be in a taxable brokerage account. You cannot harvest losses in a 401k, IRA, HSA, or any tax-advantaged account because gains and losses in those accounts are invisible to the IRS until distributions are made. Selling at a loss inside an IRA generates no deductible loss — it simply reduces the account balance permanently. Second, the loss must be a realized loss: you must actually sell the investment, not simply watch it decline. Unrealized losses generate no tax benefit. Third, you must avoid triggering the wash sale rule, which disallows the loss if you purchase a substantially identical security within 30 days before or after the sale. Fail any of these three conditions and the strategy either produces no benefit (accounts) or produces a disallowed loss (wash sale).
Short-term versus long-term losses: The IRS requires you to net losses against gains of the same type first. Short-term losses (assets held under 1 year) offset short-term gains taxed as ordinary income (10–37%). Long-term losses (assets held over 1 year) offset long-term gains taxed at 0–20%. After netting within each category, excess losses from one category can offset gains in the other. The practical implication: short-term losses are more valuable than long-term losses because they offset income taxed at ordinary rates rather than the lower capital gains rates. A $10,000 short-term loss at the 22% marginal rate saves $2,200 in federal tax. The same loss harvested as a long-term loss offsets long-term gains at 15%, saving only $1,500. Track the holding period of each lot carefully — selling short-term lots for losses is generally more tax-efficient when losses are roughly equal across lots.
2. Step-by-Step System
1
Identify Positions with Unrealized Losses in Taxable Accounts
Log into each taxable brokerage account and pull up the unrealized gain/loss report (often called "cost basis" or "tax lot" view). Every brokerage is required to track your cost basis for securities purchased after 2011 (stocks/ETFs) or after 2012 (mutual funds) — this data is available on the platform and on your 1099-B at year-end. Look for positions with unrealized losses large enough to be worth harvesting — typically more than $500, though smaller amounts accumulate meaningfully if harvested annually. Note each position's holding period: short-term (less than 12 months from purchase to potential sale date) or long-term (12+ months). Identify the specific tax lot if multiple purchases were made at different prices — most brokerages default to FIFO (first in, first out) but allow you to specify lots. Specifying the highest-cost lots first ("specific identification" method) maximizes losses when prices have declined after multiple purchases at different levels. This lot-level decision must be made before the sale, not after.
2
Understand the Wash Sale Rule — 30 Days Before and After
The wash sale rule (IRC Section 1091) disallows a realized loss if you buy a "substantially identical" security within the 30-day window before or after the sale. The window is 61 days total: 30 days before the sale, the sale date, and 30 days after. "Substantially identical" generally means: the exact same security (VTSAX and VTSAX), a security that is convertible into the one you sold, or a contract or option to buy the same security. What is NOT substantially identical: a different fund tracking a different index (e.g., VTSAX tracks the CRSP US Total Market Index; VTI tracks the same index via ETF — this is a gray area the IRS has not formally ruled on, so many tax professionals treat VTSAX-to-VTI as a wash sale risk and recommend moving to a genuinely different index instead). The wash sale applies across all your accounts: if you sell VTSAX at a loss in your taxable brokerage and your spouse's taxable account or your IRA buys VTSAX within the 30-day window, the wash sale is triggered. Your entire household and all accounts count. The disallowed loss is not permanently lost — it is added to the cost basis of the replacement security — but it delays the benefit and can complicate tracking.
3
Buy an Approved Replacement Fund Immediately
To maintain market exposure while avoiding a wash sale, buy a replacement fund in the same asset class that tracks a different index. The goal is to stay invested — being out of the market for 31 days to avoid the wash sale is not worth the tax benefit if the market rises 3% during that period (the opportunity cost would dwarf the tax savings). Approved replacement pairs: US Total Market: Sell VTSAX (CRSP US Total Market Index) → Buy SWTSX (Schwab Total Market Index) or FSKAX (Fidelity Total Market Index). Alternatively sell VTI → buy ITOT (iShares Core S&P Total US Stock Market). S&P 500: Sell VFIAX (Vanguard 500 Index, CRSP/S&P 500) → Buy FXAIX (Fidelity 500 Index) or SWPPX (Schwab S&P 500 Index). International Developed: Sell VXUS (Vanguard Total International) → Buy IXUS (iShares Core MSCI Total International) or split into VEA (developed) + VWO (emerging markets). Bonds: Sell BND (Vanguard Total Bond Market) → Buy AGG (iShares Core US Aggregate Bond) or SCHZ (Schwab US Aggregate Bond). After 31+ days from the sale date, you may switch back to the original fund if preferred, or simply hold the replacement permanently — the underlying exposure is nearly identical.
4
Calculate the Net Tax Benefit Before You Sell
Not every loss is worth harvesting. Calculate the actual after-tax benefit before selling, factoring in transaction costs, reinvestment risks, and the nature of the loss. Formula: Tax benefit = loss amount × marginal rate (short-term loss vs. ordinary income) or × capital gains rate (long-term loss vs. long-term gains). Example: $8,000 unrealized long-term loss in a position you've held 18 months. You have $6,000 in long-term capital gains from other sales this year. Net benefit: $6,000 × 15% (LT capital gains rate) = $900 saved from offsetting gains + $2,000 × ($3,000 ordinary income deduction cap) = partial benefit if you have no other carryforward losses. At 22% ordinary income rate: up to $2,000 of ordinary income offset = $440 additional savings. Total benefit estimate: $1,340 in year 1, plus the remaining $0 carryforward (loss fully used). Compare to: (a) transaction fees to sell and repurchase, (b) any dividend recapture if you sell before an ex-dividend date, (c) your comfort operating the replacement fund. If the math produces $200 of benefit, it may not be worth the administrative burden unless you are systematically automating the process.
5
Report Harvested Losses on Schedule D / Form 8949
Every sale in a taxable account — gain loss or must be reported on Form 8949 and summarized on Schedule D. Your brokerage will send a 1099-B listing all sales for the year. Most tax software imports the 1099-B directly. However, you must verify the cost basis reported — brokers sometimes report incorrect cost basis if shares were transferred from another institution, inherited, gifted, or purchased before the mandatory basis tracking rules took effect. Form 8949 has two sections: Part I for short-term transactions (held 12 months or less) and Part II for long-term transactions (held more than 12 months). Capital losses are netted within each category first, then across categories. Net short-term gains or losses flow to Schedule D Line 7; net long-term gains or losses flow to Line 15. If your total capital losses exceed total capital gains, up to $3,000 of the excess is deducted on Schedule D Line 21 and flows directly to Form 1040 Line 7 as an ordinary income deduction. Any remaining loss beyond $3,000 is your capital loss carryforward — note this number on a sticky note in your tax files and your password manager. You will need it every year going forward until it is exhausted.
6
Track and Deploy Carryforward Losses Year After Year
Capital loss carryforwards are a permanent financial asset. A $50,000 carryforward loss balance — possible after a major market correction — can shelter $50,000 of future capital gains from tax entirely. The carryforward balance is reported on Schedule D Worksheet in your tax software and on the Carryover Worksheet in your tax records. Find it on your prior-year Schedule D, Part II, Line 16. Every year you file a return with the carryforward, the software deploys it automatically against current-year gains. If you have no gains in a given year, up to $3,000 offsets ordinary income and the rest carries forward again — indefinitely, with no expiration. Strategically, a large carryforward loss balance means you can sell appreciated assets in future years — like concentrated stock positions, old mutual funds with embedded gains, or a rental property — without paying capital gains tax on the first $X of gain, where X equals your carryforward balance. Plan around this: if you have $30,000 of carryforward losses, that is $30,000 of future gains you can realize without federal tax cost. Time your large sales accordingly.
3. Key Worksheets & Checklists
Use these worksheets to plan harvest decisions before year-end, verify replacement fund pairs are wash-sale compliant, and track carryforward losses across tax years. The most valuable worksheet here is the carryforward tracker — most filers don't know their carryforward balance, which means they are not deploying it strategically.
Your entries save automatically in your browser.
1. Replacement Fund Pairs Reference Table
Asset Class
Original Fund (Sell)
Replacement Fund (Buy)
Different Index?
US Total Market
VTSAX / VTI (CRSP)
SWTSX / SCHB (Dow Jones Total Market) or FSKAX (Fidelity Total Market)
Yes — different index provider
US Total Market (ETF)
VTI (Vanguard)
ITOT (iShares, Russell 3000-based) or SCHB (Schwab)
Yes
S&P 500
VFIAX / VOO (S&P 500)
FXAIX (Fidelity S&P 500) or SWPPX (Schwab S&P 500)
Same index — wash sale risk if IRS rules identical; most practitioners use different managers as sufficient
International Total
VXUS (FTSE Global ex-US)
IXUS (MSCI ACWI ex-US) or VEA + VWO split
Yes — different index
Emerging Markets
VWO (FTSE EM)
IEMG (MSCI EM) or SCHE (Schwab EM)
Yes — FTSE vs. MSCI differ in country classification
US Aggregate Bond
BND / VBTLX (Bloomberg Agg)
AGG (iShares Bloomberg Agg) or SCHZ (Schwab)
Same index; different managers — generally treated as not identical
Small-Cap Blend
VB (CRSP US Small Cap)
IJR (S&P SmallCap 600) or SCHA (Dow Jones Small-Cap)
Yes — different index and often different constituents
Do not buy original fund before: ___ (31 days after sale)
Wash sale check: any household account buying original?
Yes / No — check all accounts including spouse and IRAs
3. Capital Loss Carryforward Tracker
Tax Year
Losses Harvested
Gains Offset
Ordinary Income Offset (max $3k/yr)
Carryforward Balance
2022
$___
$___
$___
$___
2023
$___
$___
$___
$___
2024
$___
$___
$___
$___
2025
$___
$___
$___
$___
Cumulative balance available
Pull from Schedule D Worksheet (Carryover Worksheet) in your tax software each year
$___
Automated TLH platforms: Betterment, Wealthfront, and M1 Finance run daily automated tax-loss harvesting — they scan your portfolio every trading day and harvest losses algorithmically, typically capturing 3–5x more annual losses than manual quarterly reviews. The cost is the management fee (0.25% at Betterment/Wealthfront). For large portfolios, the TLH benefit often exceeds the advisory fee — model both scenarios before deciding.
December harvesting calendar: Identify and execute all harvest sales by December 20 to ensure settlement before December 31. Equity trades settle T+1 (next business day); for ETFs and mutual funds, the loss is recognized on the sale date, but you need the trade to settle within the tax year.
Gift and inheritance basis traps: Gifted securities carry the donor's original cost basis. Inherited securities get a step-up in basis to fair market value on the date of death — inherited securities almost never have a harvestable loss (unless the market fell after inheritance). Do not confuse these with purchased shares.
4. Common Mistakes
Violating the wash sale rule with automatic investments
If you have a dividend reinvestment plan (DRIP) or automatic investment plan that purchases shares of the fund you just sold for a loss, the wash sale rule is triggered by those automatic purchases. Suspend automatic reinvestment and automatic contributions into the harvested fund for 31 days after the sale, then re-enable. This is the most common wash sale violation because it happens invisibly in the background.
Harvesting losses inside an IRA
Selling an investment at a loss inside a Traditional or Roth IRA produces no deductible capital loss — ever. Gains and losses inside tax-advantaged accounts are invisible to the IRS. Tax-loss harvesting applies only to taxable brokerage accounts. Selling a losing position in an IRA simply locks in the loss with no tax benefit and permanently shrinks the tax-free or tax-deferred space.
Thinking TLH eliminates capital gains tax
It defers it. When you sell the replacement fund later, your gain will be larger because your cost basis is lower (it equals the purchase price of the replacement, which was lower than the original). The full gain is eventually taxable — you have borrowed time from the IRS, not forgiven the debt. The value comes from the time value of money: a tax deferred 20 years costs far less in present value than the same tax paid today.
Forgetting to track the carryforward balance
A capital loss carryforward is a valuable financial asset that can shelter thousands of dollars of future gains from tax. Many filers harvest losses, forget the carryforward, and miss the opportunity to time a large taxable sale (concentrated stock, real estate) to coincide with the carryforward balance. Your carryforward is on Schedule D of your prior-year return — find it and write it down.
Selling funds held less than 30 days at a loss
If you bought a position within the 30-day window before your harvest sale — perhaps because you just started investing in that fund — selling it at a loss will trigger the wash sale on the recent purchase. The loss is disallowed, and the disallowed amount is added back to the cost basis of shares you still hold. Verify the purchase date of every lot before harvesting.
Not accounting for state capital gains taxes
The federal long-term capital gains rate is 0–20%, but most states tax capital gains as ordinary income: California 13.3%, New York 10.9%, New Jersey 10.75%. At the 22% federal + 9.3% California combined rate, a $10,000 long-term gain costs $3,130 in combined taxes. Harvesting that same loss saves $3,130 — more than double the federal-only calculation. Include state rates in your harvest benefit analysis, particularly in high-tax states.
5. Next Steps
Open the cost basis view in every taxable brokerage account today and note every position with an unrealized loss. For each one, calculate the net tax benefit using Worksheet 2, identify a wash-sale-compliant replacement fund from Worksheet 1, and execute before December 20 to ensure settlement before December 31. Look up your carryforward loss balance from prior-year Schedule D and record it in Worksheet 3. If your carryforward is above $10,000, model a strategy for deploying it against future taxable events — concentrated employer stock, a real estate sale, or a large rebalancing move — rather than letting $3,000 trickle out annually against ordinary income. For automated daily harvesting, evaluate whether Betterment or Wealthfront's TLH program would generate more in annual loss capture than their 0.25% management fee costs you. Pair this guide with the Tax Bracket Optimizer to coordinate TLH with your broader bracket management strategy.