V VestedGrant
equity comp

Tax-Gain Harvesting from ESPP Qualifying Dispositions

ESPP qualifying dispositions can be paired with tax-gain harvesting in low-income years to realize long-term capital gains at the 0% federal rate.

By VestedGrant Editorial · Reviewed by Rebecca Thornton Patel, CFP, MSF · 6 min read · Updated April 21, 2026

A software engineer took a sabbatical in 2024. Her W-2 wages for the year were $45,000 (a partial salary before unpaid leave), down from $280,000 the prior year. She had 2,400 shares of ESPP stock purchased over the prior 4 years at an average price of $28, now worth $72. All lots had passed the 24-month and 12-month holding clocks. She sold 1,200 shares during the low-income year, realizing a qualifying disposition with long-term capital gain of about $48,000 and ordinary income of about $4,800.

Federal tax on the long-term capital gain: zero. The 0% LTCG bracket for a single filer in 2024 ran up to $47,025 of taxable income (after standard deduction). Her total income including the ordinary ESPP component and the LTCG fit within that bracket. The 1,200 shares she did not sell stayed on their clocks for future years.

This is tax-gain harvesting from ESPP qualifying dispositions. Most employees think of the ESPP as a near-term benefit. For those with flexibility in their income or a planned low-income year, the qualifying disposition treatment can deliver tax-free capital gains on accumulated ESPP appreciation.

This article explains the mechanics and when the play makes sense.

The 0% LTCG bracket

For 2025, the federal long-term capital gain rate is 0% for taxable income up to:

  • Single: $48,350.
  • Married filing jointly: $96,700.
  • Head of household: $64,750.

Above these thresholds, LTCG is taxed at 15% up to higher breakpoints (around $533,400 single, $600,050 MFJ in 2025), and 20% above. Plus NIIT of 3.8% above $200k single / $250k MFJ.

The 0% bracket applies to the LTCG portion of income after accounting for all other taxable income. If your ordinary income is $20,000, you have $28,350 of 0% LTCG room (single 2025 threshold of $48,350 minus $20,000). Realize capital gains up to $28,350 and pay zero federal.

How qualifying ESPP dispositions fit

An ESPP qualifying disposition produces:

  • Ordinary income equal to the lesser of actual gain or the discount at offering (typically 15% of offering-date FMV).
  • Long-term capital gain on the remainder.

The ordinary portion is small relative to the capital gain portion for appreciated stock. For shares purchased at $28 and sold at $72, with an offering-date FMV of $27 (discount $4.05 per share), the per-share split is $4.05 ordinary and $39.95 LTCG.

In a low-income year, both pieces are favorable:

  • Ordinary income lands in your marginal bracket, but with low other income, the bracket is 10-12-22%, not 32-37%.
  • Capital gain lands in the 0% or 15% bracket, not 20% plus NIIT.

The harvest math

Scenario (2025 single filer)Regular year ($280k wages)Low-income year ($45k wages)
Marginal ordinary rate35%12%
LTCG rate15% + 3.8% NIIT = 18.8%0% (within bracket)
Ordinary income from ESPP (per share)$4.05 at 35% = $1.42$4.05 at 12% = $0.49
LTCG from ESPP (per share)$39.95 at 18.8% = $7.51$39.95 at 0% = $0
Total tax per share$8.93$0.49
1,200 shares$10,716$588

Tax savings from harvesting in a low-income year: $10,128 on 1,200 shares. Scales linearly with shares.

When low-income years happen

Planned scenarios:

  • Sabbatical.
  • Career transition with unpaid gap.
  • Early retirement (55-62 range before Social Security).
  • Extended parental leave.
  • Business startup year with losses offsetting W-2 income.
  • Post-IPO year after a big equity event when the employee has reduced working income.

For each of these, pre-planning the ESPP qualifying disposition to coincide with the low-income window extracts the tax benefit.

The timing window

The low-income year must still pass the qualifying disposition clocks:

  • 24 months from offering date.
  • 12 months from purchase date.

Both clocks apply per lot. For ESPP shares purchased 3-5 years ago, most lots are past both clocks. Recent purchases may not be; check each lot.

Within the low-income year, the sale can be any time. Late-year sales give you full-year visibility into total income and let you size the sale to stay under the 0% LTCG threshold.

The NIIT layer

Net investment income tax (NIIT) of 3.8% applies above:

  • Single: $200,000 modified AGI.
  • MFJ: $250,000.

In a low-income year well below these thresholds, NIIT does not apply. This saves an additional 3.8% on the capital gain portion.

State tax layer

State treatment varies. States with no LTCG preference (California, New York) tax capital gain at the same rates as ordinary income. A low-income year still saves state tax because the ordinary rate brackets are progressive, but there is no state “0% LTCG bracket” equivalent.

For California residents in a $45k-income year, state tax is roughly 4-6% on the LTCG portion. Still much lower than 10-13% in a normal year.

Pairing with loss harvesting

If you have capital losses in the portfolio, they offset capital gains up to an unlimited amount, then an additional $3,000 against ordinary income per year. Harvesting losses before ESPP qualifying disposition can eat some of the gain, reducing (but not eliminating) the low-income year’s tax benefit.

Generally, do not harvest losses in a year when you are gain-harvesting. The losses are more valuable in a high-income year against ordinary income.

The partial sale strategy

Most employees do not want to sell all ESPP shares in one year. The qualifying disposition can be partial:

  • Compute the 0% LTCG threshold room given projected other income.
  • Back into the shares needed to fill the room (LTCG per share x shares = room).
  • Sell that number of shares using specific-share identification.

Remaining shares stay on their clocks, eligible for future sales in future low-income years or for normal appreciation-and-sale.

The “double harvest” approach

For employees with significant ESPP and a multi-year low-income window (e.g., early retirement at 58-65), harvesting across multiple years extends the benefit. Each year, sell up to the 0% LTCG threshold.

Example: retire at age 58 with $1.5 million of ESPP shares with $600,000 of embedded LTCG. Start Social Security at 67. Between 58 and 67, nine years of potential harvesting at low-income rates. If annual 0% LTCG room is $50,000, harvesting $450,000 of gain over 9 years at 0% federal saves $85,000-$135,000 in tax versus selling in a high-income year.

The §423 cap and harvest amounts

The ESPP cap only limits purchases, not sales. You can sell as much as you want whenever you want (subject to company blackout periods).

Frequently asked

Do I need to hold for a full 24 months to harvest? Yes. Shares that have not passed both clocks are disqualifying dispositions, which produce larger ordinary income and forfeit the LTCG treatment.

What if my low-income year is a partial year (e.g., leave job in October)? Plan the ESPP sale for November or December to capture the full-year income picture. Total income for the calendar year determines the bracket.

Can I harvest in a year with a large Roth conversion? The Roth conversion is ordinary income and fills your ordinary-rate brackets first. It does not directly affect the 0% LTCG bracket thresholds, but it raises total taxable income, potentially pushing LTCG above the 0% threshold.

What about state AMT? California’s state AMT uses the same capital gain and ordinary income computation as regular state tax, with a 7% rate. For a low-income year, California AMT is usually not triggered because regular tax is low enough that tentative AMT does not exceed it.

Does the “wash sale” rule apply to gain harvesting? No. Wash sales apply to losses only (buying substantially identical stock within 30 days of a loss sale disallows the loss). You can sell ESPP shares at a gain and immediately repurchase without any limit.

Next step

Compute your ESPP shares passed both clocks (24 months from offering, 12 from purchase). Project your 2025 taxable income. If 2025 is a low-income year, calculate your 0% LTCG room. Size a qualifying disposition to fill the room. If you have a planned low-income year coming (sabbatical, early retirement), map the ESPP harvest schedule to coincide. The tax savings are often $10,000-$50,000 per harvest year for typical tech-employee ESPP balances.

RT
Reviewed by
Senior Financial Planner, Equity Compensation · MIT Sloan School of Management

Eleven years building ESPP participation plans for tech employees who treat it as a spreadsheet problem. Reviews VestedGrant's ESPP optimization content.

Last reviewed April 21, 2026
Free match · no obligation

Find a fiduciary advisor who understands equity compensation

Short form. We match you with up to three fee-only advisors who routinely work with RSUs, ISOs, and pre-IPO equity.

Free · advisors pay us · how we stay independent
Related reading