Guides

Form 8949: Reporting Sales of Capital Assets

Form 8949: Reporting Sales of Capital Assets

Form 8949 is the IRS worksheet where you list every sale of a capital asset (stocks, mutual funds, real estate, crypto, collectibles) transaction by transaction, then carry the subtotals to Schedule D. Each line shows the asset, dates, proceeds, cost basis, any adjustment code, and the resulting gain or loss. It reconciles what your broker reported on Form 1099-B with what you report on your return.

The form exists so the IRS can match your figures against third-party reporting. If a broker told the IRS your basis and you report a different gain, Form 8949 is where you explain the difference with a code. Most individual filers who sold securities during the year attach at least one Form 8949 to their Form 1040.

What Form 8949 does and who files it

Form 8949 itemizes each sale or disposition of a capital asset and feeds the totals into Schedule D, which nets your gains and losses. You file it if you sold stocks, bonds, mutual fund shares, real estate, digital assets, or collectibles during the tax year, or if you had a capital gain distribution requiring an adjustment. Investors, traders, and anyone reporting a crypto disposition typically attach it.

You may file more than one Form 8949 in a single return. The form is split into Part I (short-term, assets held one year or less) and Part II (long-term, held more than one year). Within each part you check one box (A through F) that describes how the transaction was reported to you.

Some taxpayers can skip the form entirely under an IRS exception described below. Others, such as those excluding gain on a home sale or reporting a wash sale, must use it to enter the adjustment.

Short-term vs long-term: holding period sets the part

The holding period decides which part of Form 8949 a sale lands in, and that in turn drives the tax rate. Assets held one year or less are short-term and go in Part I; assets held more than one year are long-term and go in Part II. Short-term gains are taxed at ordinary income rates; long-term gains generally get preferential rates (0%, 15%, or 20% for most assets in 2026).

Count the holding period from the day after you acquired the asset through the day you sold it. Inherited property is treated as long-term regardless of how long the heir held it, because it takes a stepped-up basis under IRC Section 1014.

Boxes A-F: covered vs noncovered securities

The box you check tells the IRS whether you received a Form 1099-B and whether the broker reported your cost basis to the IRS. A “covered” security is one for which the broker must report basis; a “noncovered” security is one the broker reports proceeds for but not basis (often shares acquired before basis-reporting rules took effect). The box determines which Schedule D line receives the subtotal.

Box Part 1099-B received? Basis reported to IRS? Schedule D line
A I (short-term) Yes Yes (covered) 1b
B I (short-term) Yes No (noncovered) 2
C I (short-term) No N/A 3
D II (long-term) Yes Yes (covered) 8b
E II (long-term) Yes No (noncovered) 9
F II (long-term) No N/A 10

Each checked box needs its own Form 8949 or its own section, because you cannot mix box types on one page. If you have covered short-term sales and noncovered short-term sales, that is two separate Part I entries. For digital-asset dispositions reported on the new Form 1099-DA, parallel boxes (G through L) apply as those rules phase in.

The columns: what each line captures

A single Form 8949 row records one disposition across eight lettered columns. The core of the calculation is proceeds minus basis, adjusted by any code, to produce the gain or loss in column (h). Getting basis right is where most errors occur, so review your broker statement against your own records.

For most straightforward sales, columns (f) and (g) stay blank. You complete them only when the reported figures need correcting or a tax provision changes the result.

Adjustment codes (column f)

Column (f) codes explain why the gain or loss you report differs from the raw proceeds-minus-basis figure. Enter the code in column (f) and the dollar adjustment in column (g). If more than one code applies to a row, enter them together in alphabetical order with no spaces or commas (for example, “BOW”).

Code When to use it
B Basis shown on the 1099-B is incorrect
T Type of gain or loss (short vs long) on the 1099-B is wrong
W Nondeductible wash sale loss
C Disposition of collectibles
D Accrued market discount reported on the 1099-B
E Selling expenses or costs not reflected on the 1099-B
H Exclusion of gain on sale of your main home
L Nondeductible loss other than a wash sale
N You received the transaction as a nominee for the true owner
Q Exclusion of gain on qualified small business stock (Section 1202)
R Postponement of gain under a rollover rule
S Section 1244 small business stock loss above the ordinary-loss limit
X Exclusion of DC Zone or qualified community asset gain
Z / Y Deferring gain into a Qualified Opportunity Fund (Z) or recognizing a previously deferred QOF gain (Y)
O Other adjustments not covered by another code

The sign of the column (g) entry matters. An adjustment that reduces a loss you cannot deduct (a wash sale, code W) is entered as a positive number; an adjustment that reduces a gain (an exclusion, such as code H or Q) is entered in parentheses as a negative.

How Form 8949 flows to Schedule D

Form 8949 is a feeder schedule; the tax is actually calculated on Schedule D. You total each box section’s columns (d), (e), (g), and (h), then carry those subtotals to the matching Schedule D line. Schedule D then nets short-term against long-term, applies capital loss limits, and sends the final number to Form 1040.

  1. Complete a Form 8949 section for each box (A-F) you have transactions in.
  2. Subtotal columns (d), (e), (g), and (h) at the bottom of each section.
  3. Enter short-term subtotals on Schedule D lines 1b (Box A), 2 (Box B), or 3 (Box C).
  4. Enter long-term subtotals on Schedule D lines 8b (Box D), 9 (Box E), or 10 (Box F).
  5. Schedule D nets the totals and applies the capital loss deduction limit, generally up to $3,000 against ordinary income per year, with the excess carried forward.

Because the netting and rate work happens on Schedule D, understanding both forms together matters. See Schedule D explained for how the netting, loss limits, and carryforwards work once your Form 8949 totals arrive.

When you can skip Form 8949

You can report totals directly on Schedule D and skip Form 8949 for transactions that need no adjustment (IRS Exception 1). This applies to covered securities where the broker reported basis to the IRS on Form 1099-B, box 1f (accrued market discount) and box 1g (wash sale disallowed) are blank, the ordinary box (box 2) is not checked, and you have no other adjustment to make.

For those clean transactions you enter the aggregate totals on Schedule D line 1a (short-term covered) or line 8a (long-term covered) without listing each sale. Every other category, noncovered securities, sales with no 1099-B, wash sales, home-sale exclusions, incorrect basis, still requires a Form 8949 line with the appropriate box and code.

A practical result: many filers use line 1a/8a for the bulk of their covered brokerage activity and attach one Form 8949 only for the handful of trades that carry an adjustment. If any adjustment applies to a lot, that lot cannot ride on line 1a/8a.

Getting basis and reporting right

The most common Form 8949 error is a wrong cost basis, which throws off the entire gain calculation. Brokers report basis for covered securities, but for noncovered lots (Box B, Box E) you supply it, and reinvested dividends, stock splits, and wash-sale adjustments all change the number. Keep your own acquisition records rather than relying solely on the 1099-B.

Cross-check every 1099-B figure before you transcribe it. If the reported basis is wrong, do not silently override it; report the broker’s figure, use code B, and enter the correction in column (g) so your return reconciles with what the IRS received. For a deeper walkthrough of how basis is built and tracked, see cost basis explained. Wash sales in particular can defer a loss, and the wash sale rule governs the code W adjustment. If a sold lot was depreciable property, part of the gain may be recaptured as ordinary income under depreciation recapture before the capital-gain figure reaches Form 8949.

Frequently asked questions

Do I need Form 8949 if I only have capital gain distributions?

Often no. If your only capital gains come from mutual fund or REIT capital gain distributions reported on Form 1099-DIV, and you have no other sales requiring a Form 8949 line, you can report them directly on Schedule D line 13 and skip both the form and Schedule D detail lines in many cases. Check whether any distribution carries an adjustment first.

What is the difference between a covered and a noncovered security?

A covered security is one for which the broker is required to report your cost basis to the IRS on Form 1099-B; these go in Box A or Box D. A noncovered security has proceeds reported but not basis, often because it was acquired before basis-reporting rules applied; these go in Box B or Box E, and you must supply the basis yourself.

Can I report multiple transactions on one Form 8949 line?

In limited cases. If your broker provides a statement and the transactions all fit one box with no adjustments, you may use Exception 1 to enter totals on Schedule D directly. Under a separate provision you can summarize with code M and attach a statement, but the IRS still wants the detail available, so most software lists each lot.

How do I report a wash sale on Form 8949?

Enter the sale as usual in columns (a) through (e), put code W in column (f), and enter the disallowed loss as a positive number in column (g). The disallowed amount reduces your deductible loss for the year and is added to the basis of the replacement shares, deferring the loss rather than eliminating it. The wash sale rule sets the 30-day window.

Does cryptocurrency go on Form 8949?

Yes. Selling, exchanging, or spending a digital asset is a disposition reported on Form 8949, with each transaction listed and totals flowing to Schedule D. As Form 1099-DA reporting phases in, digital-asset dispositions use parallel box categories, but the mechanics of proceeds minus basis equals gain or loss are the same as for stock.

What if my 1099-B shows the wrong cost basis?

Report the broker’s proceeds and the broker’s basis as shown, then use code B in column (f) and enter the correction in column (g) so your figures reconcile with IRS records. Do not just plug in your own number without the code, because the mismatch can trigger a notice. Keep documentation supporting the corrected basis.

Reviewed by The Ledgerism Editorial Team. Last reviewed: July 2026.

Related guides