Compute Employee Stock Purchase Plan tax for both qualifying and disqualifying dispositions. Enter your purchase parameters and sale price.
Net after-tax profit
—
Total cost
—
Sale proceeds
—
Ordinary income portion
—
Capital gain portion
—
Ordinary tax
—
Cap gains tax
—
How an ESPP turns a payroll deduction into a return
An employee stock purchase plan lets you buy company stock through payroll deductions, usually at a 15 percent discount, and the better plans add a lookback that prices the discount off the lower of the offering start or purchase date. That built-in discount is the engine of the return. This calculator models the full lifecycle: your purchase cost, the proceeds when you sell, and how the profit splits between ordinary income and capital gain depending on whether the sale is a qualifying or disqualifying disposition. It then nets out tax at the ordinary and long-term capital gains rates you enter and reports the return on what you contributed.
It speaks to employees deciding whether to enroll, how much to contribute, and when to sell. The tax split is where ESPPs get genuinely confusing, so the tool keeps the two dispositions explicit rather than hiding the difference behind a single number.
Selling 100 shares right after purchase
Take 100 shares bought at $85 after the 15 percent discount when the fair market value at purchase was $120, later sold at $150, and assume a disqualifying disposition because you sold quickly. Your cost is 100 times $85, or $8,500. Proceeds are 100 times $150, or $15,000. In a disqualifying sale the discount counts as ordinary income, measured as the $120 purchase-date value minus the $85 you paid, times 100, which is $3,500. The remaining gain, the $150 sale price minus the $120 value, times 100, is a $3,000 capital gain. Tax at a 32 percent ordinary rate is $1,120, and tax at 15 percent on the capital gain is $450. Net profit is $15,000 minus $8,500 minus $1,570 of tax, which is $4,930, a return of about 58 percent on your $8,500 outlay.
| Line | Amount |
|---|---|
| Cost (100 shares at $85) | $8,500 |
| Sale proceeds (100 at $150) | $15,000 |
| Ordinary income ($120 - $85) | $3,500 |
| Capital gain ($150 - $120) | $3,000 |
| Tax: ordinary $1,120 + cap gains $450 | $1,570 |
| Net after-tax profit | $4,930 |
The basis error that makes people overpay
Here is the most expensive mistake in the ESPP world, and the calculator handles it correctly even when your broker does not. When you sell, the brokerage issues a Form 1099-B that often reports your cost basis as only the discounted price you paid, $85 in the example, ignoring the $35 of discount already taxed as ordinary income on your W-2. If you transcribe that 1099-B figure straight onto Schedule D and Form 8949 without adjusting, you pay tax twice on the same $3,500, once as wages and again as a phantom capital gain. The fix is to add the ordinary income amount back to your basis, which the IRS expects you to do using the adjustment column on Form 8949.
A practical tip on strategy: the disqualifying sale modeled above captures the discount as a near risk-free return, which many people prefer to holding concentrated company stock for two years just to convert part of the gain to long-term rates. The qualifying path can lower your tax, but only if you are comfortable carrying single-stock risk in your own employer, the company whose fortunes already drive your paycheck. Weigh the tax saving against that concentration before you decide to hold.
ESPP questions worth getting right
Can I lose money in an ESPP if the stock drops?
With a true 15 percent discount you would need the share price to fall more than about 15 percent between purchase and sale before the discount is fully erased, and a lookback feature widens that buffer further. Selling immediately at purchase minimizes the window for a decline. Holding for months exposes you to a drop that can turn the position into a loss, which is the core argument for selling fast.
Where does the discount show up on my W-2?
In a disqualifying disposition, the ordinary income portion, the discount measured at purchase, is added to your taxable wages and appears in Box 1 of your W-2. Unlike nonqualified stock options, ESPP income does not carry its own dedicated W-2 code, so it can be easy to miss. That added amount is precisely what you must include in your cost basis when reporting the sale, so reconcile your W-2, your 1099-B, and your plan statements before you file.