Skip to main content

    Equity Compensation

    ESPP Tax Calculator (§423)

    Updated Reviewed for 2025 & 2026 tax years

    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.

    IRS-Sourced
    Current return

    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.

    Source:IRC §423 · IRS Publication 525 · Form 3922

    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

    $366

    Net after-tax proceeds: $1,934

    Qualifying disposition
    Purchase price / share$17
    Total cost$1,700
    Total proceeds$4,000
    Total economic gain$2,300
    Ordinary income (W-2)$300
    Capital gain (LT)$2,000
    Adjusted basis (true)$2,000
    Marginal ordinary rate22.0%
    Ordinary income tax$66
    LTCG marginal rate15.0%
    Capital gains tax$300
    NIIT (3.8%)$0

    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.

    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.