Form 8949 is where nearly every investment sale in America gets reported, and it's also where most people get lost. Eight columns, six category boxes across two parts, a dozen adjustment codes, and a set of official instructions written in the IRS's characteristic dense prose. If you've been staring at it wondering which box to check and what belongs in column g, this walkthrough is for you.
This is a plain-English, line-by-line guide to Form 8949 — what every column means, which box your transactions belong in, how the adjustment codes work, and how it all flows to Schedule D. We'll go top to bottom so that by the end you can take any 1099-B and place every number where it belongs. If you want the fast overview first, our Form 8949 from a 1099-B guide is the express version; this is the complete reference.
What Form 8949 Is For
Tired of reading?
Upload your 1099-B PDF and get CSV/TXF in 30 seconds. Free preview, $4.99 to download.
Form 8949, "Sales and Other Dispositions of Capital Assets," is the detail form for capital gains and losses. It lists your individual transactions — each stock, bond, fund, or crypto sale — and computes the gain or loss on each. Those details then total onto Schedule D, which is the summary that flows to your Form 1040.
Think of it as a two-layer system: Form 8949 is the itemized list; Schedule D is the summary. The IRS wants the detail on 8949 so it can match your sales against the 1099-B your broker filed. For how the two relate, see our Schedule D vs Form 8949 explainer.
The Header
At the top, enter your name and Social Security number exactly as they appear on your 1040. If you're filing multiple 8949s (common with many transactions), the header repeats on each page.
Part I (Short-Term) and Part II (Long-Term)
Form 8949 is split into two parts by holding period:
- Part I — Short-Term: assets held one year or less. Gains here are taxed at ordinary income rates.
- Part II — Long-Term: assets held more than one year. Gains here get preferential long-term capital gains rates.
The holding period runs from the day after you acquired the asset through the day you sold it. Inherited assets are always long-term; most other assets depend on the actual dates.
The Six Category Boxes
Within each part, you check one box describing how the transaction was reported to you and the IRS. This is the step that confuses everyone, so here's the logic:
Part I (short-term):
- Box A — short-term transactions where basis was reported to the IRS (covered securities). See our Box A vs B vs C guide.
- Box B — short-term where basis was NOT reported to the IRS (noncovered).
- Box C — short-term transactions not reported on a 1099-B at all.
Part II (long-term):
- Box D — long-term where basis was reported to the IRS (covered). See our Box D vs E vs F guide.
- Box E — long-term where basis was NOT reported (noncovered).
- Box F — long-term not reported on a 1099-B.
Your 1099-B tells you which box applies: it labels each section as short-term or long-term and states whether basis was reported to the IRS. Match each transaction to the right box, and group transactions of the same box together — you use a separate 8949 (or section) per box.
The Eight Columns, One by One
Each transaction line has these columns:
- Column (a) — Description of property. The security name and share count, e.g., "100 sh XYZ Corp."
- Column (b) — Date acquired. When you bought it (or "INHERITED"/"VARIOUS" where allowed).
- Column (c) — Date sold or disposed of. When you sold it.
- Column (d) — Proceeds. What you received from the sale. This should match the 1099-B and is what the IRS matches against.
- Column (e) — Cost or other basis. What you paid, including commissions and adjustments to basis. This is where you enter corrected basis for noncovered lots.
- Column (f) — Code(s) from instructions. One or more adjustment codes (see below), if any adjustment is needed. Leave blank if none.
- Column (g) — Amount of adjustment. The dollar adjustment tied to the code in column f, entered as a positive or negative number.
- Column (h) — Gain or (loss). The result: column d − column e + column g. This is the taxable gain or loss for the line.
The formula in column h is the heart of it: proceeds, minus basis, plus/minus adjustment, equals gain.
The Adjustment Codes (Column f)
Column f is where you flag anything that changes the raw broker numbers. The most common codes:
| Code | Use it when |
|---|---|
| W | A wash sale loss is disallowed — enter the disallowed amount as a positive number in column g |
| B | The basis reported on the 1099-B is incorrect — correct it via column g |
| D | Accrued market discount on a bond — subtract it (it's reported as interest instead) |
| T | The transaction's short/long-term status on the 1099-B was wrong |
| Q | Section 1202 QSBS exclusion — enter the excluded gain as a negative in column g |
| L | A nondeductible loss (e.g., personal-use property) — disallow it in column g |
| E | Selling expenses not reflected in proceeds or basis |
You can combine codes on one line (e.g., "BW"). The full list, with worked examples, is in our Form 8949 adjustment codes reference. The key rule: a code in column f almost always requires a number in column g, and the sign matters — positive adds to gain, negative reduces it.
Line 2: Column Totals
At the bottom of each 8949 section, total columns (d), (e), (g), and (h) on line 2. These totals are what carry to Schedule D — column d total to the proceeds line, e to the basis line, g to the adjustments line, and h to the gain/loss line, on the matching Schedule D line for that box.
From Form 8949 to Schedule D
Each 8949 box maps to a specific Schedule D line:
- Box A → Schedule D line 1b; Box B → line 2; Box C → line 3
- Box D → Schedule D line 8b; Box E → line 9; Box F → line 10
Schedule D then nets your short-term and long-term totals, applies capital loss limits, and carries the result to Form 1040. One important shortcut: for covered transactions with no adjustments (Box A or Box D), you may be able to skip Form 8949 entirely and enter the totals directly on Schedule D lines 1a and 8a — see our summary totals guide for when that's allowed.
FAQ
What is Form 8949 used for?
To report the details of individual capital asset sales — stocks, bonds, funds, crypto — computing the gain or loss on each. The totals then carry to Schedule D.
How do I know which box to check on Form 8949?
Your 1099-B tells you: it labels each section short-term or long-term and states whether cost basis was reported to the IRS. Covered (basis reported) = Box A or D; noncovered = Box B or E; not on a 1099-B = Box C or F.
What goes in column g of Form 8949?
The dollar amount of any adjustment tied to the code in column f — a positive number to increase gain (like a disallowed wash sale loss) or a negative number to decrease it (like a QSBS exclusion).
Do I need Form 8949 if all my transactions are covered with no adjustments?
Not necessarily. Covered transactions in Box A or Box D with no adjustments can often be reported as totals directly on Schedule D lines 1a and 8a, skipping Form 8949.
Can I put multiple codes in column f?
Yes. When more than one adjustment applies to a transaction, enter the codes together (for example "BW") and net the adjustments into a single column g amount.
What's the difference between Part I and Part II?
Part I is for short-term transactions (held one year or less, taxed at ordinary rates); Part II is for long-term transactions (held more than one year, taxed at preferential rates).
Bottom Line
Form 8949 looks intimidating, but it's really just a structured list: split your sales into short-term (Part I) and long-term (Part II), sort each into the right category box based on what your 1099-B reported, and fill the eight columns so that proceeds minus basis plus adjustment equals your gain. The adjustment codes in column f are where the nuance lives — wash sales, basis corrections, QSBS exclusions — but each one follows the same logic.
Get the boxes and columns right and everything totals cleanly onto Schedule D. Once you've done it deliberately once, the form stops being a mystery and becomes what it actually is: a receipt for every capital asset you sold.
Filling Form 8949 from a stack of trades? Convert your 1099-B free — we extract every transaction with proceeds, basis, dates, and holding periods intact, so you can drop them straight into the right boxes and columns without transcribing your 1099-B by hand.
By Jakob Johnson
Writes guides on 1099-B tax filing, broker import issues, and Form 8949 / Schedule D reporting for 1099-B Converter.