---
title: "ESPP Tax Examples: Worked Numbers for Qualifying vs. Disqualifying Sales"
slug: espp-tax-examples
publishedAt: 2026-06-17T00:00:00.000Z
updatedAt: 2026-06-18T10:06:22.777Z
author: "Mike Navarro"
authorSlug: mike-navarro
category: "Equity Compensation"
tags: ["ESPP", "Equity Compensation", "Tax Planning", "How-To"]
excerpt: "ESPP tax examples worked in dollars: the 15% discount as ordinary income, the qualifying vs. disqualifying split, the broker basis trap, and the W-2 reporting — all on one set of shares."
canonical: https://myequitytax.com/blog/espp-tax-examples
---


<TaxYearBadge year={2026} />
<ReviewedBadge year={2026} />

ESPP tax examples split each sale into two parts: the discount (bargain element) taxed as ordinary income, and any further gain taxed as a capital gain. How much falls into each bucket depends on whether your sale is a qualifying or disqualifying disposition.

The fastest way to understand the rules is to watch the dollars move. So instead of running four different setups across four pages, this guide takes **one ESPP purchase** — offering-date price **$10**, purchase-date fair market value **$20**, a **15% discount** that brings your cost to **$8.50/share**, on **100 shares** — and sells it four different ways. The ordinary-income and capital-gain buckets shift each time; the share inputs never do.

## How ESPP tax examples work — the two-part split

ESPP tax examples always break a sale into the same two buckets: the **bargain element** (your discount) is ordinary income, and any appreciation above the relevant fair market value is a capital gain. The discount is the part you can't avoid — you owe ordinary-income tax on it whether the stock later rises or falls.

The **bargain element** is just the discount expressed in dollars. With an offering-date price of **$10**, a **15% discount** sets your purchase price at **$8.50/share**. The **lookback provision** in most Section 423 plans applies that discount to the *lower* of the offering-date or purchase-date price — so if the stock had instead opened the offering period higher and dropped to $10 by purchase, you'd still buy at 85% of the lower number. IRS Publication 525 describes this as the discount you receive under "an option granted under an employee stock purchase plan" ([IRS Publication 525](https://www.irs.gov/publications/p525)).

If you're still deciding which benefit to fund first, [how ESPP compares to RSUs](/blog/rsu-vs-espp) lays out the trade-off.

<Callout type="info">
**Two clocks define "qualifying."** A sale is a **qualifying disposition** only if you held the shares more than **2 years from the offering (grant) date** *and* more than **1 year from the purchase date**. Miss either clock and it's a **disqualifying disposition** — which changes how much of your profit is taxed at ordinary rates (up to **37%** federal in 2026).
</Callout>

## Worked example 1 — disqualifying disposition (the common case)

In a disqualifying disposition, your ordinary income is the **full purchase-date spread**: purchase-date fair market value minus your purchase price. Most early sales land here, because the 2-year-from-offering clock is hard to clear when you sell soon after buying.

Take our shares: purchase price **$8.50**, purchase-date FMV **$20**, **100 shares**.

- **Ordinary income** = ($20 − $8.50) × 100 = **$1,150**. This is the bargain element, taxed at your marginal rate.
- **Capital gain** = (sale price − $20) × 100. The $20 purchase-date FMV becomes your new starting point for the capital-gain clock.

Now the capital gain branches on **how long you held after purchase** ([IRS Publication 550](https://www.irs.gov/publications/p550)):

1. **Sold at $26 within a year of purchase (short-term):** capital gain = ($26 − $20) × 100 = **$600**, taxed at ordinary rates alongside the $1,150.
2. **Sold at $26 more than a year after purchase (long-term):** the same **$600** gain is taxed at long-term capital-gains rates (**0%, 15%, or 20%**) — but the sale is *still* disqualifying because the 2-year offering clock wasn't met.

That second case surprises people: you can clear the 1-year-from-purchase rule, get long-term treatment on the appreciation, and *still* owe ordinary income on the full $1,150 spread. This is the same dual-clock logic behind a [disqualifying disposition](/blog/disqualifying-disposition) on incentive stock options.

The capital gain or loss from either branch flows onto **Schedule D** ([IRS About Schedule D](https://www.irs.gov/forms-pubs/about-schedule-d-form-1040)), while the $1,150 ordinary slice is reported as wages — more on that below.

Here's the catch that drives the whole "ESPP feels expensive" reaction: that **$1,150 of ordinary income is taxed at your full marginal rate**, and at higher total comp that rate climbs fast. The chart below stacks effective ordinary-income rates across salary levels — the same rates that hit your discount — against the **22%** supplemental withholding that's often all your employer takes out.

<RSUTaxRateChart />

At **$250,000** of total comp the effective rate runs near **46%**, while withholding on equity income often sits at just **22%** — so a $1,150 bargain element can leave you owing roughly **$280 more** at filing than was withheld. To pin down your own bracket, check [the ordinary-income tax rates on equity](/blog/rsu-tax-rate). When that gap is large, you may need to make a payment yourself — see [estimated taxes when withholding falls short](/blog/estimated-taxes-on-rsu-income).

## Worked example 2 — qualifying disposition (the lesser-of rule)

In a qualifying disposition, your ordinary income is the **lesser of** two numbers: the actual gain (sale price − purchase price), or the discount measured at the **offering-date** price. Everything above that ordinary slice is long-term capital gain. Qualifying dispositions are always long-term, because you held past both clocks ([IRS Publication 525](https://www.irs.gov/publications/p525)).

Same shares, now held **more than 2 years from offering** and **more than 1 year from purchase**, sold at **$26**:

- **Actual gain** = ($26 − $8.50) × 100 = **$1,750**.
- **Discount at the offering-date price** = 15% × $10 × 100 = **$150**.
- **Ordinary income** = the lesser of the two = **$150**.
- **Long-term capital gain** = $1,750 − $150 = **$1,600**, taxed at **0%, 15%, or 20%**.

Compare that to the disqualifying path on the *same* sale price. The IRS language is worth quoting directly, because the "lesser of" wording is exactly what makes qualifying dispositions so much friendlier:

> "If you meet the holding period requirement... when you sell the stock the income you must report is the smaller of: (1) the excess of the stock's FMV on the date of grant over the option price, or (2) the excess of the amount realized on the sale over the purchase price."
> — [IRS Publication 525, Employee stock purchase plan](https://www.irs.gov/publications/p525)

The dollars side by side, on identical shares sold at $26:

| | Disqualifying (sold early) | Qualifying (held both clocks) |
|---|---|---|
| Ordinary income | **$1,150** | **$150** |
| Capital gain | **$600** | **$1,600** |
| Character of gain | short- or long-term | always long-term |

Holding to qualify shifted **$1,000** out of the ordinary bucket and into the long-term capital-gains bucket — where the rate can be as low as **0%**. That doesn't make qualifying automatically right (concentration risk and a falling stock can outweigh the tax savings), but the math is consistent.

<CalculatorCTA calculatorType="espp" />

## When the stock drops — and the discount is still taxed

Here's the example no national-broker page shows: in a **disqualifying** disposition, the ordinary-income portion survives even when you sell at a **loss**. The discount was a real benefit you received at purchase, so the IRS taxes it regardless of what the stock does afterward.

Run our shares through a price drop — purchase price **$8.50**, purchase-date FMV **$20**, but you sell early at **$15**, on **100 shares**:

- **Ordinary income** = ($20 − $8.50) × 100 = **$1,150**. Unchanged. You owe ordinary tax on the full spread.
- **Capital loss** = ($15 − $20) × 100 = **−$500**. Your basis for the capital-gain calculation is the **$20 purchase-date FMV** (because the $1,150 was added to your basis as ordinary income), so selling at $15 books a **$500 capital loss**.

So on a position that's worth **$1,500** at sale — only **$650** above your **$850** out-of-pocket cost — you report **$1,150 of ordinary income** and a **$500 capital loss**. The loss offsets other capital gains (or up to **$3,000** of ordinary income per year), but it does *not* erase the tax on the discount.

<Callout type="warning">
**The discount is taxed even on a net loss.** If your ESPP stock falls after purchase and you sell in a disqualifying disposition, you can owe ordinary-income tax on the bargain element while booking a capital loss on the shares. This is a real cash-flow surprise — model it before you sell, and consider whether a quarterly payment is needed. Consult a tax professional if your sale spans a price drop and a missed holding period.
</Callout>

## The broker cost-basis trap and the Form 8949 fix

This is the single most expensive ESPP filing mistake, and it's worth walking in dollars. Your brokerage's **Form 1099-B usually reports only the discounted purchase price as your cost basis** — leaving out the bargain element you already paid ordinary-income tax on. File it as-is and you pay tax on that discount **twice**.

Take the disqualifying long-term branch from example 1 — purchase price **$8.50**, purchase-date FMV **$20**, sold at **$26**, **100 shares**:

- **Broker's 1099-B basis:** $8.50 × 100 = **$850**. Reported gain = $2,600 − $850 = **$1,750**.
- **Correct adjusted basis:** purchase price ($850) + ordinary income already on your W-2 ($1,150) = **$1,000**. Wait — that's the math people get wrong. The $1,150 is added to the *$850* base: corrected basis = **$850 + $1,150 = $2,000**. Correct gain = $2,600 − $2,000 = **$600**.
- Leaving it uncorrected overstates your capital gain by **$1,150** — at a **15%** long-term rate, that's about **$173** of tax on income you already paid.

The fix is a cost-basis adjustment on **Form 8949** ([IRS About Form 8949](https://www.irs.gov/forms-pubs/about-form-8949)). You report the broker's basis as shown, enter the adjustment code in **column (f)**, and put the correction in **column (g)** so your reported gain drops from $1,750 to the correct **$600**. The capital gain then flows to Schedule D at the corrected figure.

Your starting numbers for this come from **Form 3922**, the information return your employer files for "each transfer of stock acquired by an employee pursuant to the employee's exercise of an option granted under an employee stock purchase plan" ([IRS About Form 3922](https://www.irs.gov/forms-pubs/about-form-3922)). It carries the offering-date FMV, purchase-date FMV, and purchase price — never rely on the 1099-B alone. For a form-by-form breakdown of [which ESPP tax form reports what and where each one goes](/blog/espp-tax-form), see our dedicated guide. For the full picture of which forms land at filing time, see [how equity comp lands on your return](/blog/how-equity-compensation-affects-tax-return).

There's a state-tax layer that every national example ignores. That **$1,150 of ordinary income** isn't just taxed federally — high-tax states tax it as regular income on top, and they tax capital gains as ordinary income too. The chart below shows how much the same equity gain costs across three states.

<StateTaxComparisonChart />

A comparable **$100,000** gain costs about **$9,300** in California and roughly **$6,850** in New York, but **$0** in Texas or Washington. Scaled to your ESPP discount, a California resident in the top bracket loses a meaningful slice of the bargain element to state tax that a Texas resident never pays — a layer invisible in every broker's national worked example. To put real federal *and* state dollars on your own purchase, [model your full equity picture](/blog/equity-compensation-calculator) or jump straight to a scenario in our planner: [run your ESPP tax math](/calculator/rsu?salary=225000&state=CA).

## ESPP tax examples FAQ

**How is the ESPP discount taxed?**

The discount — the bargain element — is taxed as **ordinary income** at your marginal rate (up to **37%** federal in 2026), not at lower capital-gains rates. How much and when depends on your disposition: in a disqualifying sale the full purchase-date spread is ordinary income; in a qualifying sale it's capped at the lesser of your actual gain or the offering-date discount.

**How do I calculate ordinary income on a disqualifying ESPP sale?**

Ordinary income = (**purchase-date FMV − your purchase price**) × shares. On our example shares — $20 FMV, $8.50 purchase price, 100 shares — that's ($20 − $8.50) × 100 = **$1,150**, regardless of the eventual sale price.

**Why is my ESPP being taxed twice?**

Because the **1099-B usually reports only the discounted purchase price** as your cost basis, the discount you already paid ordinary-income tax on gets taxed again as a larger capital gain. Fix it on **Form 8949** by adding the W-2 ordinary income to your basis — in our example, correcting an $850 basis to **$2,000** drops the reported gain from $1,750 to **$600**.

**Is ESPP income reported on my W-2?**

Yes — the ordinary-income portion of an ESPP sale appears in **box 1** of your W-2 as wages. On a disqualifying disposition it's usually added with some tax withheld; on a qualifying disposition the ordinary income often appears with **no withholding**, which is why a balance can come due at filing.

**Is there withholding on the ESPP discount?**

Often partial or none. Disqualifying-disposition discounts typically show up on your W-2 with some tax taken out, but qualifying-disposition ordinary income frequently arrives with **zero withholding** — a common balance-due surprise. If a sale adds several thousand dollars of untaxed income, plan for [quarterly estimated tax payments](/blog/quarterly-estimated-tax-guide) to avoid an underpayment penalty.

**Are ESPP gains short-term or long-term?**

It depends on how long you held after purchase. Sell within a year of purchase and the appreciation is short-term (ordinary rates); hold more than a year and it's long-term (**0%, 15%, or 20%**). Qualifying dispositions — held past both clocks — produce **long-term** capital gain by definition.

**What is Form 3922 for ESPP?**

Your employer files **Form 3922** to report the share transfer under a Section 423(c) plan. It carries the offering date, purchase date, fair market values, and purchase price — the source numbers for computing your basis and determining whether a sale is qualifying or disqualifying.

To run your own grant through qualifying, disqualifying, and price-drop scenarios in your own dollars, start here.

<CalculatorCTA calculatorType="espp" />

<TaxDisclaimer />
