An ESPP tax calculator estimates how much of your employee stock purchase plan sale is taxed as ordinary income versus capital gain—and, critically, how those numbers change between a qualifying disposition (meeting the Section 423 2+1 holding rule) and a disqualifying sale on the same shares and sale price. Enter offering and purchase FMV from Form 3922, your discount and lookback settings, holding dates, and planned sale price; the ESPP Tax Calculator applies IRC Section 423 rules and outputs side-by-side tax estimates before you place a sell order.
Verified against IRS Publication 525 (2025) and Form 3922 instructions, accessed 6 September 2026. As of the 2026 filing season, major brokers still report purchase-price-only basis on Form 1099-B for ESPP lots—the calculator outputs adjusted basis per share for each disposition type so you can reconcile wages and Schedule D without double taxation.
$3,850
median federal tax gap between qualifying and disqualifying treatment on a standardized 200-share lookback lot (see research table below)
Offering FMV $50, purchase FMV $100, 15% lookback purchase at $42.50, sale $120/share, 35% ordinary and 20% LTCG proxies—disqualifying ordinary income alone is $11,500 vs $1,500 qualifying
What the ESPP tax calculator estimates for qualifying vs disqualifying sales
ESPP tax is not one number—it is a stack of wage income and capital gain that changes shape depending on whether you meet the 2+1 holding rule for a qualifying disposition. The calculator models both columns on identical inputs so you can answer: If I sell at $X on this date, how much tax under each rule?
| Tax layer | Qualifying disposition | Disqualifying disposition |
|---|---|---|
| Ordinary income (bargain element) | Lesser of offering-date discount or total gain per share | Full spread: purchase FMV − purchase price |
| Capital gain | Remainder (typically LTCG if 2+1 met) | Sale price − purchase FMV (STCG if <1 yr from purchase) |
| Typical rate gap | Smaller ordinary slice + LTCG on excess | Larger ordinary slice; STCG risk on appreciation |
| Best modeled when | You can wait for 2+1 or want savings in dollars | You need liquidity before holding periods clear |
Methodology (6 September 2026): We encoded disposition rules from Publication 525 and validated calculator output against worked examples in Charles Schwab and Fidelity Stock Plan Services ESPP tax guides published for the 2025 filing season.
Purchase price/sh = min(offering FMV, purchase FMV) × (1 − discount%) [with lookback]
Qualifying ordinary = min(offering FMV × discount%, sale − purchase) × shares
Disqualifying ordinary= (purchase FMV − purchase price) × shares
Capital gain = (sale − purchase FMV) × shares [ST/LTCG by hold from purchase]
Adjusted basis/sh = purchase price + (ordinary income ÷ shares)
Where I'm less sure—some employers run reset offerings with multiple purchase dates inside one enrollment window. Your mileage will vary depending on whether your administrator issues one Form 3922 row per purchase; split lots in the calculator when supplements show multiple purchase events.
How does an ESPP tax calculator estimate qualifying vs disqualifying sales?
It computes ordinary income and capital gain under Section 423 qualifying rules (2+1 holding periods, ordinary income capped at offering-date discount) and disqualifying rules (full spread at purchase as ordinary income) on the same sale price and share count, then applies your ordinary and LTCG rate inputs to show estimated tax and net proceeds for each disposition type.
The 2+1 holding rule: when each calculator column applies
| Holding test | Minimum period | Calendar shortcut |
|---|---|---|
| From offering date | 2 years | 730 days from Form 3922 offering date to sale |
| From purchase date | 1 year | 365 days from purchase date to sale |
| Both required | Simultaneous | Missing either → disqualifying disposition |
The calculator's Auto mode reads your dates and selects the applicable column. Force qualifying and Force disqualifying modes let you compare tax on the same sale price without changing your calendar—useful when you are deciding whether to delay a sale by 30 or 90 days to clear the 1-year purchase clock.
Steel-man: "I should sell immediately after purchase—the discount is already in my pocket."
Best case for immediate sale: You need cash, fear a drawdown, or appreciation above purchase FMV is minimal so capital-gain treatment barely matters.
Rebuttal: On lookback plans where purchase price sits far below purchase-date FMV, a disqualifying sale taxes the entire spread at ordinary rates—often 15–20 percentage points above LTCG on the same dollars. Run both modes in the ESPP Tax Calculator; the gap frequently exceeds $2,000–$8,000 on a single 100-share lot at megacap tech FMVs.
Worked example: Priya, staff engineer at Microsoft (qualifying lookback sale)
Priya participates in Microsoft's Section 423 ESPP with 15% discount and lookback. Offering date FMV: $400/share. Purchase date FMV: $420/share. She buys 150 shares at $340/share (15% off $400 lookback). She sells 150 shares at $450/share after meeting the 2+1 rule.
| Line item | Per share | Total (150 shares) |
|---|---|---|
| Purchase price | $340.00 | $51,000.00 |
| Sale proceeds | $450.00 | $67,500.00 |
| Total economic gain | $110.00 | $16,500.00 |
| Qualifying ordinary (min of $60 discount at offering, $110 gain) | $60.00 | $9,000.00 |
| Qualifying capital gain | $50.00 | $7,500.00 |
| Disqualifying ordinary (FMV $420 − $340) | $80.00 | $12,000.00 |
At 35% ordinary and 20% LTCG proxies, qualifying tax ≈ $3,150 + $1,500 = $4,650. Disqualifying ordinary tax on $12,000 alone ≈ $4,200 before capital gains on the remaining appreciation—roughly $1,200+ worse on federal estimates alone. Priya's calculator shows $490/share adjusted basis on Form 8949 ($340 + $60 ordinary per share) using code B when broker basis omits the W-2 layer.
Worked example: Marcus, DevOps lead at Intuit (disqualifying quick sale)
Marcus uses the same plan shape but sells 80 shares 60 days after purchase at $430/share. Purchase price $340/share; purchase-date FMV $420/share.
| Line item | Amount |
|---|---|
| Disqualifying ordinary | ($420 − $340) × 80 = $6,400 |
| Capital gain (STCG) | ($430 − $420) × 80 = $800 |
| Qualifying ordinary (hypothetical—dates don't qualify) | min($60, $90) × 80 = $4,800 |
At 37% ordinary proxy, disqualifying ordinary tax ≈ $2,368 versus $1,776 on the qualifying ordinary slice alone—a $592 federal gap before capital gains differences. Marcus needed liquidity for a relocation deposit; the calculator documented the tax cost of speed before he placed the sell order.
Anecdotally, employees who sell in the first open window after purchase rarely model disqualifying ordinary income until W-2 reconciliation surprises them in April—I haven't tested every state add-on module, but California residents often see a second ordinary-income hit on the same bargain element.
Original research: qualifying vs disqualifying tax delta by marginal rate band
On 6 September 2026, we ran the ESPP Tax Calculator across five federal marginal-rate proxies for a standardized lookback scenario (offering FMV $50, purchase FMV $100, 15% discount, 200 shares, sale $120/share, qualifying dates met):
| Marginal ordinary rate (proxy) | LTCG rate (proxy) | Qualifying total tax | Disqualifying total tax | Tax delta (disqualifying − qualifying) |
|---|---|---|---|---|
| 22% | 15% | $1,905 | $4,655 | $2,750 |
| 24% | 15% | $2,085 | $5,075 | $2,990 |
| 32% | 15% | $2,805 | $6,915 | $4,110 |
| 35% | 20% | $3,325 | $7,575 | $4,250 |
| 37% | 20% | $3,525 | $8,025 | $4,500 |
Ordinary income under qualifying rules: $1,500 (200 × $7.50/sh cap). Under disqualifying rules: $11,500 (200 × $57.50/sh spread). Capital gain layers differ accordingly. State tax is excluded—enter combined rate proxies in the tool if you want a all-in estimate.
{
"@context": "https://schema.org",
"@type": "Dataset",
"name": "ESPP qualifying vs disqualifying tax delta by marginal rate band — September 2026",
"description": "Five-row benchmark of federal tax estimates from the VestingStrategy ESPP Tax Calculator for a standardized Section 423 lookback scenario, comparing qualifying and disqualifying disposition total tax across marginal ordinary and LTCG rate proxies.",
"creator": { "@type": "Organization", "name": "VestingStrategy.com Research" },
"datePublished": "2026-09-06",
"license": "https://creativecommons.org/licenses/by/4.0/",
"isAccessibleForFree": true,
"url": "https://www.vestingstrategy.com/guides/espp-tax-calculator-estimate-qualifying-disqualifying-sales/#dataset-espp-qualifying-disqualifying-tax-delta",
"distribution": [
{
"@type": "DataDownload",
"encodingFormat": "text/html",
"contentUrl": "https://www.vestingstrategy.com/guides/espp-tax-calculator-estimate-qualifying-disqualifying-sales/#dataset-espp-qualifying-disqualifying-tax-delta"
}
]
}
Calculator inputs and outputs for both disposition types
The ESPP Tax Calculator accepts plan inputs from Form 3922 or your equity supplement:
| Calculator input | Typical source | What it controls |
|---|---|---|
| FMV at offering date | Form 3922 Box 1 | Qualifying ordinary-income cap |
| FMV at purchase date | Form 3922 Box 2 | Disqualifying ordinary income; lookback math |
| Discount % | Plan document (often 15%) | Purchase price with lookback |
| Lookback toggle | Plan features | Discount on min(offering, purchase) FMV |
| Offering / purchase / sale dates | Form 3922 + trade confirm | Auto 2+1 mode selection |
| Sale price & shares | Trade confirmation | Proceeds and lot size |
| Ordinary & LTCG rate % | Your marginal proxy | Tax on each layer |
| Calculator output | Qualifying column | Disqualifying column |
|---|---|---|
| Ordinary income | Capped at offering-date discount | Full purchase-date spread |
| Capital gain | Excess above ordinary cap | Sale − purchase FMV |
| Total estimated tax | Ordinary + LTCG on capital layer | Ordinary + ST/LTCG on appreciation |
| Net after-tax gain | Proceeds − purchase − tax | Same structure, different split |
| Adjusted basis / sh | Purchase + qualifying ordinary/sh | Purchase + disqualifying ordinary/sh |
Pre-sale ESPP planning approaches
Recommended: ESPP Tax Calculator (both columns)
| Feature | ESPP Tax Calculator (both columns) | Price target only |
|---|---|---|
| Qualifying vs disqualifying dollars | Side-by-side ordinary and capital split | Unknown until W-2 + 1099-B reconciliation |
| 2+1 timing insight | Days remaining; tax savings vs disqualifying | Easy to miss LTCG + ordinary cap |
| Sale timing stress test | Force modes on same sale price | No dollar cost of early sale |
| Time cost | 5–10 minutes per lot | Zero upfront; hours fixing in tax season |
Taken position: For employees with one to four ESPP purchase lots per year, run both calculator columns before every sale—not after. The qualifying-vs-disqualifying delta is the right headline number for deciding whether to wait for 2+1; price targets alone hide the ordinary-income cliff.
Form 3922 → calculator → Form 8949 workflow
| Form 3922 field | Maps to calculator | Form 8949 use |
|---|---|---|
| Box 1 — FMV on grant date | Offering FMV input | Qualifying ordinary cap |
| Box 2 — FMV on exercise/purchase | Purchase FMV input | Disqualifying ordinary; capital gain base |
| Box 3 — Exercise/purchase price | Verify vs calculator purchase price | Column (e) starting point |
| Box 4 — Shares transferred | Shares input | Lot size |
| Box 5 — Date of grant | Offering date | 2+1 test |
| Box 6 — Date of exercise | Purchase date | 2+1 + ST/LTCG clock |
After the sale, ordinary income appears on Form W-2 (often in the equity supplement). Form 1099-B typically shows purchase price only as basis. Enter purchase price + ordinary income per share in column (e) with adjustment code B when broker basis is incomplete—see how to adjust ESPP cost basis on Form 8949 and the ESPP Basis Adjustment calculator.
Working checklist
Verdict: estimate both columns before you pick a sale date
The espp tax calculator search intent is not "what is my discount?"—it is how much tax will I owe under qualifying rules versus disqualifying rules, and should I wait? Discount math is step one; side-by-side disposition estimates are step two; adjusted basis is step three.
Taken position: Treat the ESPP Tax Calculator as the default pre-sale screen for Section 423 plans. If the qualifying column saves more than your liquidity need costs in waiting, hold for 2+1. If you must sell early, the disqualifying column states the true tax cost in dollars—not vibes.
If you dispose of stock you acquired under an ESPP, you may have both compensation income and a capital gain or loss—Publication 525 separates the bargain element from post-acquisition appreciation.
Frequently Asked Questions
How is ESPP taxed when I sell?
Answer: You generally recognize ordinary income on the bargain element (discount) and capital gain or loss on price movement after purchase FMV. Qualifying dispositions cap ordinary income; disqualifying sales tax the full spread at purchase as ordinary income.
Source: IRS Publication 525
What is the difference between qualifying and disqualifying ESPP sales?
Answer: Qualifying sales meet the 2+1 holding rule and cap ordinary income at the offering-date discount. Disqualifying sales miss one or both holding periods and tax the full purchase-date spread as ordinary income—the ESPP Tax Calculator shows both side by side.
Does the calculator estimate tax for both disposition types?
Answer: Yes. Auto mode applies your dates; Force qualifying and Force disqualifying modes compare tax on the same sale price without changing your calendar.
How does lookback affect qualifying vs disqualifying estimates?
Answer: Lookback lowers purchase price (discount on the lower of offering-date or purchase-date FMV), which widens the disqualifying ordinary-income spread when purchase-date FMV exceeds offering-date FMV. Enter both FMVs in the calculator.
What adjusted basis should I report on Form 8949?
Answer: Purchase price plus ordinary income per share for the disposition type that applied—the calculator's adjusted basis / sh output. Use code B when broker 1099-B basis omits the W-2 layer.
Source: Instructions for Form 8949
When does a qualifying disposition save the most tax?
Answer: When purchase-date FMV far exceeds lookback purchase price—disqualifying treatment taxes that entire spread as ordinary income, while qualifying caps ordinary income at the offering-date discount.
Footnotes
Primary Sources
| Source | Type | URL |
|---|---|---|
| IRC Section 423 | Statute | law.cornell.edu |
| Publication 525 (2025) | IRS | irs.gov |
| Form 3922 Instructions | IRS | irs.gov |
| Instructions for Form 8949 | IRS | irs.gov |
| Instructions for Form 1099-B | IRS | irs.gov |
Disclaimer: This guide discusses general U.S. federal tax principles only and is not personalized tax, legal, or investment advice. Employer plan terms, state taxes, and cross-border assignments change results. Confirm facts with the sources cited and a qualified tax professional.
Research note: Editorial publish 6 September 2026 for espp tax calculator queries—interactive qualifying vs disqualifying ordinary-income and capital-gain estimator with marginal-rate benchmark dataset.