Equity taxes · ESPP

ESPP taxes: how your discount is taxed, and the double-tax trap

You bought at a discount. Did your tax forms count it?

With a typical employee stock purchase plan (ESPP), you don’t owe tax when you buy the shares. You owe it when you sell, and how much is taxed as income depends on how long you held them. The part that trips people up is the paperwork: your broker’s form often leaves out income that’s already counted on your W-2. Here’s how it works and how to check your numbers.

Vested Tax · Reviewed by a licensed CPA · Updated October 2026 · Covers tax year 2026

The short answer

With a qualified ESPP (a “Section 423” plan, which is what most public tech companies offer), buying shares at a discount isn’t taxed. Tax comes when you sell. Part of your profit, tied to the discount, is ordinary income, and the rest is a capital gain or loss. How much counts as ordinary income depends on whether the sale is qualifying (you held the shares long enough) or disqualifying (you sold sooner) (IRS Publication 525).

Event
How it’s taxed (qualified Section 423 ESPP)
Enroll and contribute

No tax beyond the normal tax on your paycheck

Purchase at a discount

No tax yet

Disqualifying sale (sold sooner)

The full discount at purchase is ordinary income; the rest is capital gain or loss

Qualifying sale (held long enough)

Ordinary income is limited, often to the discount on the offering-date price; the rest is long-term capital gain

Some companies offer a non-qualified ESPP instead. With those, the discount is usually taxed as wages when you buy. Your plan documents say which kind you have.

How an ESPP purchase works

  • You contribute from your paycheck after tax, during an offering period.

  • On the purchase date, the plan buys shares for you at a discount, up to 15%.

  • Many plans have a lookback: the discount applies to the lower of the share price on the first day of the offering (the offering date) or on the purchase date. When the stock has risen, that makes the effective discount much bigger than 15%.

  • There’s a $25,000 limit on how much stock you can buy each calendar year, measured at the offering-date price.

  • For each year you buy shares, your company sends Form 3922, usually early the following year, with the dates and prices you’ll need when you sell (About Form 3922).

Qualifying vs. disqualifying sales

Qualifying sale

A sale is qualifying if you sell more than 2 years after the offering date and more than 1 year after the purchase date. The ordinary income is the smaller of your actual gain or the discount measured at the offering-date price. Everything above that is long-term capital gain.

Disqualifying sale

Selling before both holding periods are met is a disqualifying sale. The ordinary income is the full discount on the purchase date: the share value that day minus what you paid. That amount is income even if the stock has since fallen. The rest of the result is a capital gain or loss, short-term or long-term depending on how long you held the shares after the purchase.

Why it matters

When the stock has risen since the offering date, a qualifying sale usually means less of your profit is taxed at ordinary income rates and more at the lower long-term capital gains rates. If the price has fallen since the offering date, a qualifying sale can produce more ordinary income than a disqualifying one, so compare the two. The trade-off is holding company stock longer.

Example: the same 100 shares, sold two ways

Illustrative and simplified. A qualified ESPP with a 15% discount and a lookback. Fees and state tax are left out.

Sam: 100 shares bought at $34, sold at $70

$3,600 profit, taxed two ways

Sam’s offering period starts when the stock is $40. On the purchase date it’s $60. With the lookback, Sam pays 15% off the lower price: $34 a share, or $3,400 for 100 shares. Later, Sam sells all 100 shares at $70, for $7,000. The total profit is $3,600 either way. What changes is how it’s taxed.

Sold within a year (disqualifying)
Held long enough (qualifying)
Ordinary income

Disqualifying

$2,600 (($60 − $34) × 100)

Qualifying

$600 (($40 − $34) × 100)

Capital gain

Disqualifying

$1,000 short-term

Qualifying

$3,000 long-term

Cost basis for the capital gain

Disqualifying

$6,000

Qualifying

$4,000

The cost basis is what Sam paid plus the amount already taxed as ordinary income. Getting it right is what keeps that income from being taxed twice.

The double-tax trap on your 1099-B

When you sell ESPP shares, your broker’s Form 1099-B usually shows your basis as the price you paid, $3,400 in Sam’s case. It leaves out the ordinary income, which shows up on your W-2 instead.

If the return is filed as the 1099-B reads, Sam’s disqualifying sale reports a $3,600 capital gain, while the $2,600 is also counted as income on the W-2. That’s $2,600 taxed twice. The fix is to report the correct basis, $6,000, on Form 8949, using Form 3922 and your stock-plan records. Whether that means an adjustment or entering the corrected basis directly depends on how your broker reported the sale (IRS Instructions for Form 8949).

This is one of the most common errors on returns with ESPP sales, and it repeats every year you sell.

Capital losses and wash sales

A sale below the purchase-date price can create income and a capital loss

If Sam had sold within the year at $50, below the $60 purchase-date price, the $2,600 discount would still be ordinary income. With a $6,000 basis and $5,000 of proceeds, Sam would also have a $1,000 capital loss, even though Sam still got $1,600 more than the $3,400 paid. The two are figured separately: the $2,600 stays on the W-2, and the capital loss first offsets other capital gains, then up to $3,000 of other income a year ($1,500 if married filing separately). Any unused loss carries forward.

ESPP purchases can trigger the wash sale rule

If you sell shares at a loss and buy the same stock within 30 days before or after, the loss is disallowed for now and added to the basis of the new shares. An ESPP purchase, or an RSU vest, counts as buying (IRS Publication 550). Selling ESPP shares at a loss near a purchase or vest date is the usual way this happens.

Withholding and California

No withholding on ESPP income

For a qualified ESPP, the ordinary income from a sale, qualifying or disqualifying, usually appears on your W-2, but your employer doesn’t withhold income tax on it, and there’s no Social Security or Medicare tax on it. Large ESPP sales can leave a balance due when you file. Our RSU guide explains how to stay inside the safe harbor.

California

California generally follows the federal rules for qualified ESPPs. But it taxes capital gains at the same rates as other income, so a qualifying sale doesn’t lower your California rate the way it can federally.

Want a CPA to check it?

ESPP sales are simple to get wrong and tedious to fix, especially with several purchase lots, sales across years, or RSU and option sales on the same 1099-B.

Tax preparation & filing

We prepare your return with ESPP and RSU basis reported correctly, lot by lot, so the same income isn’t taxed twice.

Ask about your ESPP sales

Tell us a little about your situation, and we’ll reply within one business day.

By submitting, you agree to our Privacy Policy.

Flat fees, no hourly billing.

ESPP tax questions

How is an ESPP taxed?

A qualified ESPP is taxed when you sell the shares, not when you buy them. Part of your profit, tied to the purchase discount, is ordinary income, usually reported on your W-2, and the rest is a capital gain or loss. How much counts as ordinary income depends on whether the sale is qualifying or disqualifying.

Is ESPP income taxed when I buy the shares?

Buying shares through a qualified (Section 423) ESPP isn’t taxed, even though you get a discount. The tax on the discount comes when you sell. With a non-qualified ESPP, the discount is usually taxed as wages when you buy.

What is a qualifying disposition for ESPP?

A qualifying ESPP disposition is a sale more than 2 years after the offering date and more than 1 year after the purchase date. The ordinary income is the smaller of your actual gain or the discount measured at the offering-date price, and the rest is long-term capital gain.

What is a disqualifying disposition for ESPP?

A disqualifying ESPP disposition is a sale before both holding periods are met. The full discount on the purchase date (the share value that day minus the price you paid) is ordinary income, even if the stock later fell, and the rest is a capital gain or loss.

Why does my ESPP sale look like it was taxed twice?

An ESPP sale looks taxed twice when the broker’s Form 1099-B shows only the price you paid as your cost basis. The discount is already income on your W-2, so it has to be added to your basis on Form 8949. If it isn’t, you pay tax on the same income twice.

What is Form 3922?

Form 3922 is the form your company sends after an ESPP purchase. It shows the offering date, purchase date, share prices on both dates, the price you paid and the number of shares, which you need to work out the ordinary income and the correct cost basis when you sell.

Do I owe tax on ESPP shares sold below the purchase-date price?

You can owe tax on ESPP shares sold below the purchase-date price. After a disqualifying sale, the full purchase discount is still ordinary income even if the stock fell, and the drop below the purchase-date price is a separate capital loss that offsets other capital gains, then up to $3,000 of other income a year ($1,500 if married filing separately).

Is tax withheld on ESPP income?

Income tax usually isn’t withheld on the ordinary income from selling qualified ESPP shares, whether the sale is qualifying or disqualifying, and there’s no Social Security or Medicare tax on it. It still appears on your W-2, so large sales can leave a balance due when you file.

Is it better to hold ESPP shares for a qualifying sale?

When the stock has risen since the offering date, holding ESPP shares for a qualifying sale usually means less ordinary income and more long-term capital gain, which is taxed at lower federal rates. If the price has fallen since the offering date, it can mean more ordinary income instead. The trade-off is keeping money in your employer’s stock for longer, and California taxes capital gains at the same rates as other income, so there’s no California rate benefit. Which matters more depends on your situation.

This page is general information, not tax advice for your situation. Tax rules change, and the right answer depends on your full picture.