ESPP Taxes Without the Headache
TL;DR: Qualified ESPP shares are not taxed until you sell. Sell early and the full purchase discount is ordinary income. Hold over 2 years from grant and 1 year from purchase, and ordinary income is capped at the grant-date discount. Brokers often understate basis, so fix it on Form 8949.
Educational only, not tax, legal, or investment advice. Examples are illustrations, not predictions. Rules and limits change; verify current figures and talk to a qualified professional about your situation.
The tax code is 4 million words long, and employee stock purchase plans get a whole section of their own, section 423, which is impressive for a benefit that basically says "buy our stock at a discount." An ESPP can be one of the best deals in your benefits package. It can also produce the most confusing tax forms you will ever receive, including a 1099-B that understates your basis and a W-2 that may or may not include the discount.
This guide explains how qualified ESPPs work, qualifying versus disqualifying dispositions, how much is ordinary income, the cost-basis trap, and when holding for the better tax treatment is worth the risk.
CPA Warning Label: Holding ESPP shares for better tax treatment adds single-stock risk that often outweighs the savings. Keep every Form 3922 to prove your basis.
How a qualified ESPP works
Under a section 423 plan, you contribute after-tax payroll deductions during an offering period. On each purchase date, the plan buys shares for you at a discount, up to 15% below market. Many plans add a lookback: the price is 85% of the lower of the stock price at the start of the offering (the grant date) or on the purchase date.
Key rules for a qualified plan:
- You cannot buy more than $25,000 worth of stock per calendar year, measured by the stock's value at the grant date.
- The discount cannot exceed 15%.
- Nothing is taxable when you enroll or when shares are purchased. Tax happens when you sell.
- Your employer sends Form 3922 for each purchase, showing the grant-date price, purchase-date price, and what you paid. Keep every one.
Non-qualified ESPPs exist too. With those, the discount is taxed as wages at purchase. This guide is about qualified 423 plans.
Qualifying vs disqualifying dispositions
When you sell, the tax treatment depends on how long you held the shares.
A qualifying disposition requires holding the shares more than 2 years from the grant date (start of the offering) and more than 1 year from the purchase date. Anything sooner is a disqualifying disposition.
| Ordinary income | Capital gain or loss | |
|---|---|---|
| Disqualifying | Purchase-date value minus price paid, always, even if you sell at a loss | Sale price minus purchase-date value; short or long-term by holding from purchase |
| Qualifying | The lesser of (a) your actual gain, or (b) the discount measured at the grant date (for example, 15% of grant-date value) | Everything else, long-term |
The ordinary income piece is compensation, but it is not subject to Social Security or Medicare tax, and employers are not required to withhold on it. It should show up in box 1 of your W-2 if you were still employed and the company tracked the sale; if not, you report it yourself.
One quirk: in a qualifying disposition where the stock fell below your purchase price, the ordinary income is zero and you have a capital loss.
The cost-basis trap
The 1099-B from your broker usually shows only the price you paid as your basis. But you also add the ordinary income amount to basis, because it is taxed as compensation. If you report the 1099-B as is, you pay tax on the discount twice: once as wages and again as capital gain.
Fix it on Form 8949 with adjustment code B and the corrected basis. Use Form 3922 and your plan's supplemental tax statement to find the numbers. This is the same trap that catches RSU holders; see RSU tax planning.
Illustration: one purchase, two exits
Illustration: an offering starts January 2, 2026 with the stock at $40. On June 30, 2026 the stock is $50. With a 15% discount and lookback, the purchase price is 85% × $40 = $34. She buys 200 shares for $6,800.
Exit A, disqualifying: she sells in March 2027 at $55.
- Ordinary income: ($50 − $34) × 200 = $3,200.
- Adjusted basis: $34 + $16 = $50 per share, $10,000 total.
- Capital gain: ($55 − $50) × 200 = $1,000, short-term (held under a year from purchase).
Exit B, qualifying: she sells in February 2028 at $55 (more than 2 years from grant, more than 1 year from purchase).
- Actual gain: ($55 − $34) × 200 = $4,200. Grant-date discount: 15% × $40 × 200 = $1,200.
- Ordinary income: the lesser, $1,200.
- Long-term capital gain: $4,200 − $1,200 = $3,000.
In the 24% bracket with a 15% long-term rate: Exit A costs $3,200 × 24% + $1,000 × 24% = $1,008. Exit B costs $1,200 × 24% + $3,000 × 15% = $738. Holding saved $270 in tax, but she carried 11 extra months of single-stock risk on $11,000. A 10% drop in that time would cost $1,100, wiping out the benefit four times over.
Assumptions: no state tax, bracket unchanged, the 1099-B basis is corrected both times.
Hold or flip?
The math above is typical. The guaranteed return in an ESPP comes from the discount, which you lock in at purchase. With a 15% discount, you get roughly a 17.6% return on your money ($1 buys $1.176 of stock) in a few months, more with a lookback in a rising market. The tax savings from a qualifying disposition are usually much smaller than that.
- Flip at purchase if you want to limit concentration. You pay ordinary rates on the discount and little else.
- Hold for qualifying treatment only if you would happily own your employer's stock anyway and already have diversified savings.
- Watch the $25,000 limit and plan cash flow, since contributions come from after-tax pay.
- Wash sales: a new purchase within 30 days of selling ESPP shares at a loss can disallow the loss.
When you leave your job, unspent contributions are usually refunded, and shares you already own stay yours with the same holding period rules.
Common ESPP mistakes
The tax rules are fixed; the mistakes are optional. The ones that show up most:
- Reporting the discount twice. Wages on the W-2 plus a zero-adjustment 1099-B equals double tax. Covered above, but it bears repeating because it is the costliest one.
- Missing the ordinary income entirely. If you sold after leaving your employer, the income may not be on any W-2. You still owe tax on it, reported as wages.
- Counting the holding period from the wrong date. The 2-year clock starts at the beginning of the offering period, not the purchase date. Plans with 24-month offering periods and multiple purchase dates make this confusing; check the grant date on each Form 3922.
- Forgetting the lookback math. In a qualifying sale, the ordinary income cap is based on the grant-date price, not the purchase-date price. With a big run-up, that can leave most of the gain as long-term.
- Over-contributing. Plans block you at the $25,000 limit, but people in two plans after a job change need to watch the combined total.
- Ignoring estimated taxes. No withholding applies to the ordinary income, so a large sale can leave a balance due and possibly an underpayment penalty.
Fix the first two and you have avoided most of the damage. A little paperwork each spring beats an amended return later.
Reporting checklist
- Gather every Form 3922 and your plan's supplemental tax statement.
- Check whether the ordinary income was included in your W-2 box 1. If not, report it as wages on your return.
- On Form 8949, correct the basis with code B so you do not double count.
- Classify the capital gain as short or long-term based on the purchase date.
- Keep records for at least three years after filing, longer if you still hold shares.
Higher incomes may also owe the 3.8% net investment income tax on the capital gain above $250,000 MAGI married filing jointly or $200,000 single. Back to the tax planning hub, or see capital gains tax planning and the employee stock guide.
FAQ
Is the ESPP discount taxed when I buy shares?
Not in a qualified section 423 plan. Tax is due when you sell, and part of the gain is ordinary income depending on how long you held the shares.
What is a qualifying disposition for ESPP shares?
Selling more than 2 years after the offering's grant date and more than 1 year after the purchase date. Then ordinary income is the lesser of actual gain or the grant-date discount.
Are ESPP gains subject to Social Security and Medicare?
No. The ordinary income from a qualified ESPP sale is compensation for income tax but is not subject to FICA.
Why does my 1099-B show the wrong basis for ESPP shares?
Brokers usually report only what you paid. Add the ordinary income amount to basis and correct it on Form 8949 to avoid double taxation.
How much can I buy through an ESPP each year?
A qualified plan limits purchases to $25,000 of stock per calendar year, measured at the stock's value on the grant date.
Sources & fact-check notes
- 26 U.S.C. 423 (accessed 2026-10-27)
- IRS Publication 525 (accessed 2026-10-27)
- About Form 3922 (accessed 2026-10-27)
- IRS Instructions for Form 8949 (accessed 2026-10-27)
Figures checked October 27, 2026. Rules and limits change; verify with the official source before acting.