IRS Form 8949 is where you list every sale or exchange of a capital asset — stocks, bonds, cryptocurrency, investment real estate — and reconcile those numbers with what your broker sent to the IRS on Form 1099-B or Form 1099-DA. The totals from Form 8949 flow onto Schedule D. For tax year 2026, the form carries twelve checkbox categories, Boxes A through L, to handle the newer digital asset reporting rules alongside traditional securities.1Internal Revenue Service. Instructions for Form 8949 (2025)
Sort Every Transaction Short-Term or Long-Term First
Before you touch a box or a column, split your sales into two piles by holding period. Held one year or less: short-term, Part I. Held more than one year: long-term, Part II.2Internal Revenue Service. Topic No. 409, Capital Gains and Losses
This isn’t housekeeping. Short-term gains are taxed at ordinary income rates. Long-term gains get the preferential 0%, 15%, or 20% rates. The pile a transaction sits in also determines which line of Schedule D receives its totals later. Get the holding period wrong and everything downstream is wrong.
A few holding periods are set by rule rather than by the calendar. Inherited property is automatically long-term no matter how briefly you actually held it. Worthless securities are treated as sold on December 31 of the year they became worthless, and the holding period runs from acquisition to that date.
Pick the Right Checkbox: Boxes A Through L
Each part of the form asks you to check one box, and that box tells the IRS two things at once: whether your broker already reported the cost basis to them, and whether the asset is a traditional security or a digital asset. File a separate Form 8949 for each box you check. Three categories of transactions means three copies of the form.3Internal Revenue Service. Instructions for Form 8949 (2025)
For traditional securities in Part I (short-term):
- Box A: 1099-B received, basis reported to the IRS.
- Box B: 1099-B received, basis not reported to the IRS.
- Box C: No 1099-B received.
Part II (long-term) uses Boxes D, E, and F for the same three situations.
For digital assets reported on Form 1099-DA, short-term sales use Boxes G, H, and I, and long-term sales use Boxes J, K, and L, following the same reported/not-reported/no-form pattern. The IRS instructs you not to use Box C or Box F for digital asset transactions.1Internal Revenue Service. Instructions for Form 8949 (2025)
When You Can Skip Form 8949 and Go Straight to Schedule D
Some transactions can bypass Form 8949 entirely and land directly on Schedule D — line 1a for short-term, line 8a for long-term. To use this exception, every one of these has to be true for the transaction:3Internal Revenue Service. Instructions for Form 8949 (2025)
- You received a 1099-B or 1099-DA showing basis was reported to the IRS.
- No adjustments to the reported basis, gain, or loss are needed.
- The “Ordinary” box on the 1099-B or 1099-DA is not checked.
- The transaction does not involve collectibles.
- You are not electing to defer gain into a Qualified Opportunity Fund.
If any one condition fails, that sale goes on Form 8949.
Filling In the Columns for Covered Transactions
Covered transactions — Box A, D, G, or J — are the easiest to enter. The broker already reported your basis to the IRS, so you’re mostly copying figures from the 1099-B or 1099-DA into the form’s columns: description of property, date acquired, date sold, proceeds, and cost basis. Leave the adjustment code and adjustment amount columns blank. Check the dates and amounts against your own records before moving on, but you don’t have to recompute anything.
“Covered” generally means stocks acquired on or after January 1, 2011; mutual fund and dividend reinvestment plan shares acquired on or after January 1, 2012; and most other securities acquired on or after January 1, 2013.4Internal Revenue Service. Notice 2009-17 – Information Reporting of Customer’s Basis in Securities Transactions
Filling In the Columns for Non-Covered Transactions
Non-covered transactions — Box B, E, H, or K — are the ones where you supply the cost basis. Assets acquired before the covered dates, some foreign holdings, and cryptocurrency in self-custody wallets typically land here. Dig up your purchase confirmations, trade records, and documentation of commissions or acquisition fees. Those acquisition costs add to your purchase price to form total basis.
If you can’t substantiate any basis, the IRS may treat it as zero, and the full sales price becomes gain. Records matter.
Inherited Property
For inherited assets, your basis is generally the fair market value on the date the original owner died — a stepped-up basis that usually exceeds what the decedent originally paid.5Office of the Law Revision Counsel. 26 USC 1014 – Basis of Property Acquired From a Decedent Report it as long-term regardless of how long you held it.
Gifted Property
For gifts, you generally inherit the donor’s original basis.6Office of the Law Revision Counsel. 26 USC 1015 – Basis of Property Acquired by Gifts and Transfers in Trust There’s a dual-basis rule when the fair market value at the time of the gift was below the donor’s basis. If you later sell at a gain, use the donor’s basis. If you sell at a loss, use the lower fair market value on the date of the gift. Sell at a price between the two figures and there’s neither gain nor loss.
Adjustment Codes That Change the Reported Numbers
When the 1099-B figures need correction, or when a tax rule modifies your gain or loss, use the adjustment code column and the adjustment amount column. Most of Form 8949’s difficulty lives in these codes.
Code W: Wash Sales
A wash sale occurs when you sell a security at a loss and buy the same or a substantially identical security within 30 days before or after the sale — a 61-day window counting the sale date.7Office of the Law Revision Counsel. 26 USC 1091 – Loss From Wash Sales of Stock or Securities The loss is disallowed for the current sale and added to the basis of the replacement security, postponing the deduction.
Enter “W” in the adjustment code column and the disallowed loss as a positive number in the adjustment amount column. That positive figure increases your reported gain or reduces your reported loss.
Your broker flags wash sales within a single account. Brokers are not required to track them across different accounts or between your account and a spouse’s. If you sold at a loss in one brokerage and bought the same security within the window in another, catching that wash sale is on you.
Code B: Incorrect Basis on the 1099-B
Use Code B when the basis your broker reported to the IRS is wrong. This shows up after stock splits, spin-offs, and return-of-capital distributions the broker didn’t fully process. Enter the difference between the correct basis and the reported basis. Negative in the adjustment amount column if the correct basis is higher (smaller gain); positive if it’s lower (larger gain).
Code B also comes up with stock from incentive stock options or employee stock purchase plans, where the 1099-B often shows only the exercise price and ignores the compensation element you already reported as income on your W-2. Adjusting fixes double taxation on the same dollars.
Code L: Permanently Disallowed Losses
Code L is for losses the tax code disallows permanently — most often losses on sales between related parties, which include family members, entities you control, and certain trusts and beneficiaries.8Office of the Law Revision Counsel. 26 USC 267 – Losses, Expenses, and Interest With Respect to Transactions Between Related Taxpayers Unlike a wash sale, this loss doesn’t come back later. Enter “L” and the disallowed loss as a positive number. Certain straddle losses use Code L as well.
Code O: Everything Else
Code O covers adjustments that don’t fit W, B, or L. Accrued market discount on bonds is a common one: the portion of your gain attributable to the accrued discount is ordinary interest income, not capital gain, so you use Code O with a negative adjustment to pull it out of the Form 8949 calculation and report it as interest elsewhere on your return.
The same approach handles bond interest that accrued between payment dates when you sold mid-cycle. If the buyer paid you for accrued interest and it got rolled into the 1099-B sales proceeds, back it out with a negative Code O adjustment and report it as ordinary interest.
Code C: Collectibles
Gains on collectibles — art, coins, stamps, precious metals, antiques — are subject to a maximum 28% long-term rate rather than the standard preferential rates.2Internal Revenue Service. Topic No. 409, Capital Gains and Losses Enter “C” in the adjustment code column and $0 in the adjustment amount column. The code alone flags the transaction for the separate collectibles calculation on Schedule D without altering the dollar figures on Form 8949. Collectibles sales cannot use the skip-to-Schedule-D exception.3Internal Revenue Service. Instructions for Form 8949 (2025)
Code Z: Qualified Opportunity Fund Deferrals
Code Z reports a capital gain you’re deferring by investing in a Qualified Opportunity Fund. Enter the QOF’s employer identification number in the description column, the investment date in column (b), leave columns (c) through (e) blank, enter “Z” in column (f), and enter the deferred gain as a negative number in column (g). Multiple QOF investments each get their own row. QOF investors also file Form 8997 every year they hold the investment and the year of disposition.
One deadline to know: all remaining deferred gains from QOF investments must be recognized no later than December 31, 2026.1Internal Revenue Service. Instructions for Form 8949 (2025)
Reporting Digital Asset Transactions
Beginning with tax year 2025, digital asset brokers must issue Form 1099-DA. Most 1099-DAs for 2025 will not include cost basis, so you’ll typically calculate basis yourself and file under Box H (short-term) or Box K (long-term).9Internal Revenue Service. Reminders for Taxpayers About Digital Assets
Box logic:1Internal Revenue Service. Instructions for Form 8949 (2025)
- Box G (short-term) or J (long-term): basis reported on Form 1099-DA.
- Box H (short-term) or K (long-term): basis not reported.
- Box I (short-term) or L (long-term): no Form 1099-DA received, such as with decentralized exchanges or self-custody wallets.
Trading on a platform that doesn’t issue a 1099-DA doesn’t remove the reporting obligation. Use Box I or L and build your own basis from wallet records and blockchain transaction histories.
Worthless Securities
A security that became completely worthless during the year is treated as sold on the last day of that tax year for zero proceeds.10Internal Revenue Service. Losses (Homes, Stocks, Other Property) Use December 31 of the tax year as the sale date, $0 as the sales price, and your original basis in the cost column. Whether the loss is short-term or long-term depends on the time from acquisition to that December 31 date.
Handling a Large Number of Transactions
Active traders and heavy crypto users don’t have to list every sale on its own row. Two alternatives exist.3Internal Revenue Service. Instructions for Form 8949 (2025)
The first is an attached statement. Prepare a statement with the same columns and information as Form 8949, then enter the combined totals on one row of the form with code “M” in the adjustment column and “see attached statement” in the description column. If you e-file, print the statement, attach it to Form 8453, and mail it to the IRS separately.
The second is available to S corporations, partnerships, and organizations exempt from receiving 1099-Bs when they have more than five transactions in a given part. They can enter “Available upon request” in the description column, code “M” in column (f), and the aggregated totals in the amount columns.
Sending the Totals to Schedule D
After all transactions and adjustments are entered, total the sales price, cost basis, and adjustment columns for each box category. Those totals feed specific lines on Schedule D:11Internal Revenue Service. 2025 Schedule D (Form 1040)
- Line 1b: Box A or G totals (short-term, basis reported).
- Line 2: Box B or H totals (short-term, basis not reported).
- Line 3: Box C or I totals (short-term, no 1099-B or 1099-DA).
- Line 8b: Box D or J totals (long-term, basis reported).
- Line 9: Box E or K totals (long-term, basis not reported).
- Line 10: Box F or L totals (long-term, no 1099-B or 1099-DA).
Schedule D combines short-term and long-term to produce your net capital gain or loss. A net loss can offset other income up to $3,000 per year ($1,500 if married filing separately), and any excess carries forward indefinitely.2Internal Revenue Service. Topic No. 409, Capital Gains and Losses
Penalties for Inaccurate or Missing Reporting
Errors on Form 8949 have teeth. The IRS can impose a 20% accuracy-related penalty on any underpayment attributable to negligence or a substantial understatement of income. A substantial understatement means the tax you reported was off by more than the greater of 10% of the correct tax or $5,000.12Office of the Law Revision Counsel. 26 USC 6662 – Imposition of Accuracy-Related Penalty on Underpayments The penalty doubles to 40% for a gross valuation misstatement.
Skipped transactions, zero-basis reporting when records exist, and wash sales missed across accounts are all common triggers. Keep trade confirmations, broker statements, and basis documentation for at least three years after filing, and longer if you’re carrying forward a loss.