ESPP Tax Rules: Holding Periods, Dispositions & Form 3922

ESPP tax rules turn almost entirely on one variable: how long you hold the shares after buying them. Clear two specific deadlines and most of your profit is taxed at long-term capital gains rates. Sell too soon and the whole discount your employer gave you is taxed as ordinary income, on top of any short-term gain. On a single sale, the gap between those outcomes can run into the thousands.

Buying the shares itself is not a taxable event. The tax bill arrives when you sell, and the size of it depends on the calendar.

The Two Holding Periods That Decide Your Tax Rate

To get the best tax treatment on shares from a Section 423 plan, you have to clear two hurdles at the same time. You must hold the shares at least two years from the grant date (the first day of the offering period, when the company gave you the right to buy). You must also hold them at least one year from the purchase date (when your payroll deductions actually bought the stock).1Office of the Law Revision Counsel. 26 USC 423 – Employee Stock Purchase Plans Both clocks have to run out before you sell.

Meet both and the sale is a qualifying disposition. Miss either one and it’s a disqualifying disposition. That single label controls how the IRS categorizes your profit and, in most cases, how much of it you keep.

Qualifying Disposition: The Best Outcome

When you satisfy both holding periods, Section 421(a) applies and no income is recognized at the time of the qualifying transfer itself.2Office of the Law Revision Counsel. 26 USC 421 – General Rules At sale, the ordinary income portion is capped at the lesser of two amounts: the actual gain you realized, or the discount that existed on the grant date (the difference between the stock’s fair market value when the option was granted and the price you paid).1Office of the Law Revision Counsel. 26 USC 423 – Employee Stock Purchase Plans

In a plan with a 15 percent discount, if the stock has climbed since the grant date, only that original 15 percent of the grant-date value is taxed as ordinary income. Everything above that is a long-term capital gain, taxed at 0, 15, or 20 percent depending on your total taxable income.3Internal Revenue Service. Topic No. 409, Capital Gains and Losses Years of appreciation end up taxed at investment rates rather than salary rates.

If the stock drops below what you paid before you sell, the ordinary income portion shrinks with it, potentially to zero. You only owe ordinary income tax on gain you actually received. Any loss below your purchase price is a capital loss you can use to offset other gains or up to $3,000 of ordinary income per year.

Disqualifying Disposition: What Selling Early Costs

Sell before both holding periods expire and the tax treatment shifts against you. The bargain element, meaning the difference between the stock’s market value on the purchase date and the price you paid, is taxed as ordinary income.4Internal Revenue Service. Stocks (Options, Splits, Traders) 5 Your employer reports this amount as wages in box 1 of your W-2.5Internal Revenue Service. Publication 525 (2025), Taxable and Nontaxable Income

A concrete example. You buy shares at $85 when the market value on the purchase date is $100. That $15 spread is ordinary income, taxed like a salary bonus. You later sell at $120, and the additional $20 gain above the $100 purchase-date value is a capital gain, taxed separately.

How the capital gain portion is taxed depends on how long you held the shares after purchase. Held for a year or less after the purchase date, the gain is short-term and taxed at ordinary income rates, which reach 37 percent for top earners. Held for more than a year after purchase but failing the two-year test from the grant date, the gain is long-term and taxed at 0, 15, or 20 percent.3Internal Revenue Service. Topic No. 409, Capital Gains and Losses

The worst version of this outcome is a same-year disqualifying sale: ordinary income on the discount, plus short-term capital gains on any further appreciation, both taxed at your top marginal rate.

The Cost Basis Adjustment Most People Miss

This is where ESPP participants most often overpay. When your broker reports the sale on Form 1099-B, the cost basis shown typically does not include the discount amount that was already taxed as ordinary income on your W-2.6Internal Revenue Service. About Form 1099-B, Proceeds From Broker and Barter Exchange Transactions Plug the broker’s number straight into your return and you pay tax twice on the same money: once as wages on the W-2, again as a capital gain on Schedule D.

The fix is an adjusted cost basis. Start with the price you actually paid per share, then add the discount amount your employer reported as ordinary income. That sum is your true tax basis. Using the earlier example: you paid $85, the market price on the purchase date was $100, and $15 per share showed up as W-2 income. Your adjusted basis is $100, not $85. Skipping this adjustment inflates your taxable gain by the full amount of the discount.

Which Forms You Need and Where the Numbers Go

Reporting an ESPP sale correctly pulls data from two forms other people send you and puts it on two forms you file.

Form 3922 From Your Employer

Your employer or its stock plan administrator files Form 3922 for each ESPP purchase and sends you a copy.7Internal Revenue Service. About Form 3922, Transfer of Stock Acquired Through an Employee Stock Purchase Plan Under Section 423(c) It lists the grant date, purchase date, fair market value on both dates, and the price you paid per share.8Internal Revenue Service. Instructions for Forms 3921 and 3922 Keep every copy. You need these numbers to calculate your adjusted basis and to check whether a sale is qualifying or disqualifying.

Form 1099-B From Your Broker

When you sell, your broker issues Form 1099-B showing the sale proceeds and the transaction date.6Internal Revenue Service. About Form 1099-B, Proceeds From Broker and Barter Exchange Transactions Compare the cost basis shown to the adjusted basis you calculated from Form 3922. They will almost certainly differ, because the broker typically reports the unadjusted purchase price.

Form 8949 and Schedule D on Your Return

Report each ESPP sale on Form 8949, using the proceeds from the 1099-B and your corrected adjusted basis.4Internal Revenue Service. Stocks (Options, Splits, Traders) 5 When the 1099-B basis is wrong (which it will be for most ESPP sales), enter code B in column (f) and the basis adjustment amount in column (g).9Internal Revenue Service. Form 8949 Codes The totals from Form 8949 then flow to Schedule D, which aggregates your capital gains and losses for the year.

The IRS receives the same 1099-B your broker sent you. If your reported basis doesn’t match and you haven’t flagged the adjustment with the correct code, expect an automated notice asking why you underreported income. Filing the adjustment correctly the first time avoids it.

Leaving Your Employer

Separation doesn’t reset any of these rules. Most plans automatically disenroll you if you leave before the current purchase date and refund your accumulated payroll deductions. That refund is your own after-tax money coming back, so it isn’t a taxable event, and you generally can’t contribute to future offering periods after separation.

Shares you already bought are yours. The holding-period clocks keep running from the original grant and purchase dates, regardless of your employment status. Selling those shares before clearing both the two-year and one-year thresholds is still a disqualifying disposition with the same tax consequences as if you’d sold while employed. Checking the dates before liquidating can be worth a meaningful amount.