Equity Compensation
ESPP Tax Calculator (§423)
Model your Employee Stock Purchase Plan sale exactly the way the IRS sees it — ordinary income on the bargain element, capital gain on the rest, with the qualifying vs disqualifying split and the 1099-B basis trap called out explicitly.
How much tax will I owe when I sell my ESPP shares?
For 100 shares purchased at $17 and sold at $40, your qualifying disposition generates $300 of ordinary income and $2,000 of long-term capital gain. Estimated federal tax: $366.
- §423 lookback: purchase price = 85% × min(grant FMV, purchase FMV).
- Qualifying disposition requires holding >2 years from GRANT date and >1 year from PURCHASE date — both.
- Ordinary income for a qualifying sale is capped at the discount computed on the GRANT-date FMV — not the purchase-date FMV.
- 1099-B basis trap: broker reports basis = purchase price, but your true basis includes the ordinary income already on your W-2. Adjust in Form 8949 Column (g).
- Social Security and Medicare do not apply to income from a qualified §423 ESPP (IRC §3121(a)(22)), qualifying or disqualifying. State tax is not modelled.
Plan terms
Holding period & income
First day of the offering period (Form 3922 box 1).
The date the shares were bought for you (Form 3922 box 2).
Earliest qualifying sale date: 2026-01-02 — more than 2 years after the offering date and more than 1 year after the purchase date. A sale on either anniversary is too early.
What this calculator DOES NOT model
- Non-qualified ESPPs. Plans that don't meet §423 (e.g. no shareholder approval, no uniform terms) are taxed like NQSOs on purchase — this calculator is §423-only.
- Payroll taxes. Social Security and Medicare do not apply to income from a qualified §423 ESPP (IRC §3121(a)(22)), qualifying or disqualifying, so none is added here.
- State tax. California, New York, Massachusetts and others tax ESPP bargain elements — often at high rates. Add your state separately.
- $25,000 annual limit. IRC §423(b)(8) caps annual accumulation at $25K of grant-date FMV. This calculator assumes you're within that limit.
- AMT. ESPPs don't generate AMT preferences the way ISOs do — but if the bargain element is large, run AMT separately.
Estimated federal tax
Net after-tax proceeds: $1,934
1099-B basis double-tax trap
Your broker will likely report a cost basis of $1,700 (what you paid). Your true basis is $2,000. File Form 8949 with a Column (g) adjustment of −$300 or you'll overpay tax on the same dollars twice.
Sell today vs hold to qualifying
Your sale date already meets both holding periods, so there is no further holding saving: tax savings from holding $0.
Qualifying disposition: ordinary income is capped at the discount computed on the grant-date FMV (per share). The remainder is long-term capital gain.
1099-B basis trap: your broker will report basis of ~$1,700 (what you paid). Adjust on Form 8949 Column (g) to add back the ordinary income already on your W-2 — otherwise you pay tax twice.
How this calculator works
Step 1 — Purchase price. A qualified plan can price the purchase off the LOWER of the offering-date FMV and the purchase-date FMV (a "lookback"), minus the discount (max 15%). If the stock rose during the offering period, the lookback locks in a discount to today's price. Plans without a lookback use the purchase-date FMV only. If you enter the price you actually paid (Form 3922 box 5), that figure is used instead.
Step 2 — Classify the disposition. Qualifying = sold more than 2 years after the grant date AND more than 1 year after the purchase date. Anything else is disqualifying.
Step 3 — Split ordinary from capital. Qualifying: ordinary income per share = min(actual gain, discount × grant-date FMV). Disqualifying: ordinary income = purchase-date FMV − purchase price (regardless of where the stock trades now). Everything else is capital gain — long-term if held >12 months from purchase.
Step 4 — Adjust the basis. Your true basis for cap gains = purchase price + ordinary income per share × shares. The broker's 1099-B usually reports only what you paid — the delta is the double-tax trap, fixed with a Form 8949 Column (g) adjustment.
Step 5 — Stack the tax. Ordinary income slots into your marginal brackets first; LTCG stacks on top through the 0 / 15 / 20% breakpoints; NIIT (3.8%) may apply above the fixed MAGI thresholds.
Sources & References
Primary references used for this content
Employee Stock Purchase Plans
Statutory §423 rules — 15% discount cap, holding periods, $25K annual limit
View on law.cornell.edu
Taxable and Nontaxable Income — Stock Options
IRS explanation of ESPP ordinary/capital split
View on irs.gov
Transfer of Stock Acquired Through an Employee Stock Purchase Plan
Employer-issued form reporting grant / purchase FMV
View on irs.gov
Adjustments (Column (g)) for Employer-Provided Basis Errors
How to fix the 1099-B basis double-tax trap
View on irs.gov
One Big Beautiful Bill Act (Enacted July 4, 2025)
Confirms §423 unchanged by 2025 tax legislation
View on congress.gov
✓5 primary sources; links re-checked on a weekly rotation by the source watcher
Related Tools & Guides
Disclaimer: This calculator provides estimates for educational purposes only. Not tax, legal, or financial advice. Results may vary based on your specific circumstances. Consult a qualified CPA or tax professional for personalized guidance.