
Hi, I'm Slava, CEO and co-founder of Jupid. Form 8949 is the single tax form I see people get wrong most often. Brokers issue 1099-Bs that don't match what people actually paid for shares, crypto exchanges issue nothing at all, and wash sale rules quietly disallow losses that filers thought they had locked in. The IRS receives the same 1099-B you do — and when your numbers don't tie, a CP2000 notice shows up nine months later asking for the difference plus interest.
Official IRS resources: Form 8949 (PDF) · Instructions (PDF) · About Form 8949
If you sold stocks, ETFs, mutual funds, options, crypto, or any other capital asset during the year, you report each sale on Form 8949. The totals roll up to Schedule D, which feeds Form 1040 Line 7. Get categorization right and you preserve every dollar of legitimate loss. Get it wrong — wrong holding period, wrong cost basis, wash sale ignored — and you either overpay or invite an IRS letter.
This guide walks through the form, covers wash sales, explains how crypto is different, and ends with a worked example showing four transactions across three boxes.
Form 8949 (officially "Sales and Other Dispositions of Capital Assets") reports each sale or disposition of a capital asset during the year. Stocks, bonds, ETFs, mutual fund shares, cryptocurrency, NFTs, collectibles, real estate, and certain options all flow through this form.
Legal Basis: IRC §1001 establishes that gain or loss is recognized when property is sold or exchanged: the amount realized minus the adjusted basis equals the gain (or loss). Form 8949 is where that calculation gets shown to the IRS.
The form itself is short — six columns per transaction across two parts (short-term in Part I, long-term in Part II). What makes it complex is categorization: each transaction lands in one of six "boxes" (A, B, C, D, E, F) depending on how the broker reported it to the IRS. Get the box wrong and the IRS computer expects different numbers than what you filed.
You file Form 8949 if you sold or otherwise disposed of any capital asset during the year:
You don't file 8949 for:
Holding without selling isn't a taxable event — no 8949 entry.
Before we go into the form, here are the numbers and rules that drive every line:
| Item | 2025 / 2026 Value |
|---|---|
| Long-term capital gain rate — 0% bracket (single) | Taxable income up to $48,350 (2025; 2026 indexed) |
| Long-term capital gain rate — 15% bracket (single) | $48,351 – $533,400 (2025) |
| Long-term capital gain rate — 20% bracket (single) | Above $533,400 (2025) |
| Long-term capital gain rate — 0% bracket (MFJ) | Up to $96,700 (2025) |
| Long-term capital gain rate — 15% bracket (MFJ) | $96,701 – $600,050 (2025) |
| Long-term capital gain rate — 20% bracket (MFJ) | Above $600,050 (2025) |
| Short-term capital gain rate | Same as ordinary income (10% – 37% brackets) |
| Collectibles maximum rate | 28% |
| §1250 unrecaptured gain (real estate depreciation) | 25% maximum |
| Capital loss limit against ordinary income | $3,000/year ($1,500 if MFS) |
| Capital loss carryforward | Indefinite, retains short/long character |
| Wash sale window | 30 days before + 30 days after the sale (61-day window total) |
| Net Investment Income Tax (NIIT) | 3.8% on investment income above MAGI $200K single / $250K MFJ |
Legal Basis: IRC §1(h) (capital gain rate structure), §1091 (wash sales), §1211 (capital loss limitation), §1212 (carryover), §1411 (NIIT). 2025 brackets from Rev. Proc. 2024-40; 2026 brackets are indexed for inflation and typically published by the IRS in October–November 2025 — verify against the most recent Revenue Procedure before filing.
A short-term gain is taxed at the same rate as your wages. A long-term gain — held more than one year — is taxed at the preferential 0/15/20% rate. The difference between holding 364 days and 366 days can be the difference between a 24% federal rate and a 15% rate. Holding period matters more than almost any other tax detail in your portfolio.
The cutoff is one year and one day. The IRS counts the holding period starting the day after you acquired the asset and ending on the day you sold it. Buy on January 15, 2025; sell on January 15, 2026 — that's exactly one year, which is short-term (held for one year, not more than one year). Sell on January 16, 2026 — long-term.
Why this matters:
Same $10,000 gain, different holding periods:
Short-term gain at 32% bracket: $10,000 × 32% = $3,200 federal tax
Long-term gain at 15% bracket: $10,000 × 15% = $1,500 federal tax
Difference: $1,700
The exact day you bought matters. If you have a position you're considering selling near the one-year mark, check your trade confirmation for the trade date (not the settlement date — holding period uses trade date).
Short-term goes in Part I of Form 8949 (boxes A, B, or C). Long-term goes in Part II (boxes D, E, or F).
Cost basis is what you paid for the asset, including commissions and fees. For most stock purchases through a US broker, basis tracking is automatic — the broker reports it on your 1099-B. For older positions, mutual fund shares acquired before 2012, gifted shares, inherited shares, and crypto, basis tracking is on you.
What counts in basis: purchase price, commissions and fees, transfer fees, reinvested dividends (DRIP — each reinvestment adds basis), capital improvements (for real estate). Inherited assets get stepped-up basis equal to fair market value on the decedent's date of death under IRC §1014. Gifted assets generally take the donor's basis.
Basis methods for identical lots:
For more on tracking basis through volatile years, see our Crypto Tax Guide 2026.
This is the categorization that trips most filers. Each transaction goes into exactly one box. The box depends on two things: holding period (short or long) and how (or whether) the broker reported it to the IRS.
| Box | Condition | Typical Use |
|---|---|---|
| A | Short-term, basis reported to IRS on 1099-B | Most stock sales for shares acquired after Jan 1, 2011 |
| B | Short-term, basis NOT reported to IRS on 1099-B | Older shares, transferred-in lots without basis history, certain options |
| C | Short-term, no 1099-B received | Crypto sales (most US exchanges don't issue 1099-B yet), private placements, peer-to-peer asset sales |
| Box | Condition | Typical Use |
|---|---|---|
| D | Long-term, basis reported to IRS on 1099-B | Most stock sales for "covered" shares acquired after Jan 1, 2011 |
| E | Long-term, basis NOT reported to IRS on 1099-B | Mutual fund shares acquired before Jan 1, 2012, transferred lots without basis history |
| F | Long-term, no 1099-B received | Long-held crypto, real estate, collectibles |
Key rule under the cost-basis reporting regime (IRC §6045(g)): Brokers must report basis to the IRS for "covered securities" — most equities acquired after 2011, mutual funds and DRIP shares after 2012, debt instruments after 2014, and certain options after 2014. Anything outside that scope is "non-covered" and lands in Box B or E.
Why the box matters: the IRS computer cross-references your Boxes A and D entries against the 1099-B totals brokers transmit directly. If the totals don't match, automatic notice. Boxes B/E need basis you compute yourself; the IRS doesn't have an independent figure to compare against. Boxes C/F mean no 1099-B at all — the IRS still knows about a lot of these (especially crypto via Form 1099-DA starting in 2025 for digital asset brokers).
If you have many transactions in the same box, you can usually attach a single summary line to Schedule D and provide the detail through an attached statement (broker substitute statement). More on that in the filing guide.
IRC §1091 disallows a loss if you buy "substantially identical" securities within 30 days before or 30 days after the sale that produced the loss. The disallowed loss isn't gone forever — it's added to the basis of the replacement shares, deferring the loss until you sell those replacement shares.
The 61-day window:
← 30 days → SALE ← 30 days →
|
Day -30 ───────────── X ───────────── Day +30
Buying substantially identical anywhere in this 61-day
window triggers the wash sale rule.
What counts as "substantially identical":
Clearly different: different companies in the same sector (Apple ≠ Microsoft), an ETF tracking a different index, bonds with different issuers and terms.
How the basis adjustment works:
Buy 100 SPY at $580 on Nov 1, 2025.
Sell 100 SPY at $560 on Dec 15, 2025 → $2,000 loss.
Buy 100 SPY at $565 on Dec 28, 2025 (within 30 days).
Wash sale triggered. The $2,000 loss is disallowed in 2025.
New basis on the Dec 28 lot: $565 + $20 (disallowed loss per share) = $585.
Sell those 100 shares at $600 in 2026 → $1,500 gain (instead of $3,500 gain).
The deferred loss is recovered when the replacement lot is finally sold.
On Form 8949, code W in column (f) and enter the disallowed loss as a positive adjustment in column (g). The math: column (h) = (d) proceeds − (e) basis + (g) adjustment.
Caution: the wash sale rule applies across all your accounts, including IRAs and your spouse's accounts. Selling at a loss in a taxable account and rebuying in your IRA still triggers a wash — and worse, the disallowed loss is permanently lost (the IRA has no taxable basis to absorb it). Brokers don't track wash sales across accounts; you do.
Cryptocurrency is treated as property for federal tax purposes (IRS Notice 2014-21). Every disposition is a taxable event — not just selling for USD, but every swap, every purchase made with crypto, every NFT trade.
Taxable events: selling crypto for USD; swapping one crypto for another (BTC → ETH is a disposition of BTC); spending crypto on goods or services; trading an NFT; receiving an NFT in exchange for crypto.
Not taxable (no 8949 entry): buying crypto with USD and holding; transferring between your own wallets; receiving crypto as a gift (taxable only when later sold).
Hard forks and airdrops: Rev. Rul. 2019-24 treats new coins from a hard fork as ordinary income at FMV when you have dominion and control. That ordinary income becomes the basis for the new coins; subsequent sale goes on 8949.
Staking rewards: ordinary income at FMV on receipt. Basis = FMV at receipt; later sale goes on 8949.
DeFi: Each interaction (deposit, swap inside a protocol, withdrawal of a different token) is generally a taxable event. The IRS hasn't issued comprehensive DeFi guidance — document every interaction and consult a crypto-savvy CPA for complex activity.
Wash sale and crypto: As of tax year 2025, IRC §1091 references "stock or securities" and the IRS has not extended it to digital assets. Multiple legislative proposals would extend §1091 to crypto, but none have been enacted. Verify the current rule before relying on this. For now, you can sell BTC at a loss and rebuy immediately without §1091 disallowance.
1099 reporting: US crypto exchanges have historically issued 1099-MISC (for staking) but not 1099-B. Starting tax year 2025, Form 1099-DA ("Digital Asset Proceeds From Broker Transactions") applies to certain digital asset brokers under regulations finalized in 2024. Until full adoption, expect crypto sales to land in Box C or F. Track every transaction yourself.
For the full crypto picture, see our Crypto Tax Guide 2026.
Investment real estate (rental property, raw land): Sales go on 8949, then Schedule D. Depreciation taken is "recaptured" at a maximum 25% rate under §1250 (unrecaptured §1250 gain). Gain above the recapture portion gets the regular long-term rate.
Primary residence: §121 excludes up to $250,000 ($500,000 MFJ) if you owned and used the home as your primary residence for at least 2 of the past 5 years. Gain within the exclusion: no 8949 entry. Gain above: Box F.
Collectibles (art, antiques, gold/silver coins, wine, classic cars held as investments): Long-term gains taxed at a maximum 28% rate.
Section 1202 QSBS: Gain may qualify for partial or full exclusion (up to 100% for stock acquired after Sept 27, 2010 held more than 5 years).
Like-kind exchanges (§1031): Limited to real property post-TCJA. Crypto-to-crypto and stock-to-stock no longer qualify.
If your total capital losses exceed your total capital gains in a year, you can use up to $3,000 of net capital loss against ordinary income ($1,500 if married filing separately) under IRC §1211. Any unused loss carries forward indefinitely under IRC §1212 and retains its short-term or long-term character.
Worked example:
2025 totals:
Net short-term capital gain: ($2,000) [loss]
Net long-term capital gain: ($8,000) [loss]
Net capital loss: ($10,000)
Used against 2025 ordinary income: $3,000 (max)
Carried forward to 2026: $7,000
→ Short-term carryforward: $0 (used the $2,000 short-term first)
→ Long-term carryforward: $7,000
The IRS Capital Loss Carryover Worksheet (in Schedule D instructions) walks through this calculation. Keep the worksheet from each year — your 2026 return needs to know what carried over from 2025.
A $50,000 loss with $0 capital gains takes more than 16 years of $3,000 applications against ordinary income to absorb. Realizing future capital gains accelerates absorption.
Sam is a single filer in the 32% federal bracket with a mix of stock and crypto activity in 2025. Here's how each of his four transactions flows through Form 8949.
(a) AAPL long-term gain — Box D: 100 sh AAPL acquired 2020-03-15 at $80 ($8,000 basis); sold 2025-08-12 at $230 ($23,000 proceeds). Held 5 years → long-term. 1099-B from Schwab, basis reported → Box D. Gain: $15,000 long-term.
(b) BTC long-term gain — Box F: 0.5 BTC acquired 2024-01-10 at $50,000/BTC ($25,000 basis); sold 2025-09-22 at $80,000/BTC ($40,000 proceeds). Held 1 year, 8 months → long-term. No 1099-B from Coinbase → Box F. Gain: $15,000 long-term.
(c) NVDA wash sale — Box B: 50 sh NVDA acquired 2025-09-15 at $135 ($6,750 basis); sold 2025-10-20 at $115 ($5,750 proceeds) — $1,000 loss. Then bought 50 sh NVDA on 2025-11-05 at $130. The Nov 5 buy is within 30 days → wash sale, $1,000 loss disallowed. The Sept lot was a transfer-in without basis history → Box B (short-term, basis not reported). On the form:
| (a) | (b) Acquired | (c) Sold | (d) Proceeds | (e) Basis | (f) Code | (g) Adj | (h) Gain/Loss |
|---|---|---|---|---|---|---|---|
| 50 NVDA | 09/15/25 | 10/20/25 | $5,750 | $6,750 | W | $1,000 | $0 |
Disallowed $1,000 is added to the Nov 5 lot basis: $130 × 50 + $1,000 = $7,500 new basis.
(d) ETH short-term loss — Box C: Various ETH bought April–July 2025, total basis $5,000; sold 2025-11-30 for $3,800. Held under 1 year → short-term. No 1099-B → Box C. Loss: ($1,200) short-term.
Net short-term (Box B $0 + Box C −$1,200): ($1,200)
Net long-term (Box D $15,000 + Box F $15K): $30,000
Total net capital gain: $28,800 → Form 1040 Line 7
The $30,000 long-term gain taxed at 15% = $4,500. The $1,200 short-term loss reduces ordinary income, saving 32% × $1,200 = $384. Net federal capital gains tax: $4,116. If Sam's MAGI exceeds $200,000, he also owes 3.8% NIIT under §1411 on net investment income — roughly $1,094 additional, reported on Form 8960 → Schedule 2 → Form 1040.
Problem: Filer swaps ETH for BTC inside Coinbase and assumes "I didn't take it to USD, so no tax." Wrong — under Notice 2014-21, that's a disposition of ETH at FMV.
Impact: Unreported gain. The IRS gets exchange data and matches it to filers via Form 1040's digital asset question and 1099-DA going forward. Eventually, an IRS notice arrives.
Solution: Treat every swap as a sale of the asset being exchanged out. Use crypto tax software (or Jupid) to walk through the wallet history and compute gain or loss on each swap.
Problem: Filer buys on Jan 15, 2025, sells on Jan 15, 2026, and reports it as long-term. Actual holding period is exactly one year — that's still short-term. Long-term requires more than one year.
Impact: Higher tax (ordinary rate vs preferential rate) if the IRS catches it. Or, if the broker correctly reports it as short-term and the filer claims long-term, mismatch triggers a notice.
Solution: Hold for at least one year and one day. If you're considering a sale near the anniversary, sell on day 366 or later.
Problem: Filer takes a loss, rebuys within 30 days, files the loss on 8949 without code "W". A year later, sells the replacement lot and computes gain using only the rebuy price as basis.
Impact: Loss claimed twice (once disallowed, once via lower-basis replacement), generating an audit risk.
Solution: When code "W" applies, code it in column (f), enter the disallowed loss as a positive adjustment in column (g), and add the disallowed amount to the basis of the replacement lot. Track this manually if your broker doesn't.
Problem: Filer misses a small 1099-B from a closed account or a dividend-reinvestment account. The IRS gets a copy and the filer doesn't include it.
Impact: Automatic CP2000 notice 9–18 months later assessing tax on the unreported proceeds, with interest. The IRS treats unreported proceeds as if basis = $0, so the proposed tax is enormous relative to the actual gain.
Solution: Pull all 1099-Bs before filing — request consolidated statements from every brokerage you used, including any closed accounts. If a 1099-B arrives after filing, file an amended return (Form 1040-X) within 3 years.
Problem: Filer puts a covered share sale in Box C (no 1099-B) instead of Box A. The IRS computer expects Box A totals to match the 1099-B; mismatch flags the return.
Impact: IRS notice, possibly slow-walked refund.
Solution: Read each 1099-B carefully. The form itself tells you which box to use. Look for "Cost basis reported to IRS" (Box A or D) vs "Cost basis not reported" (Box B or E). If you didn't get a 1099-B, it's Box C or F.
Tracking capital gains across multiple brokers and a half-dozen crypto wallets is the kind of bookkeeping that quietly steals weekends. Jupid handles the reconciliation through your bank and brokerage connections — every transaction lands in one timeline you can actually read.
What Jupid does for capital gains tracking:
✅ Bank and brokerage connection — Connect Schwab, Fidelity, Robinhood, Coinbase, and your bank in minutes. Every trade and crypto disposition pulls into one ledger.
✅ Auto-categorization with 95.9% accuracy — Each transaction is tagged with the right tax treatment. Crypto-to-crypto swaps are flagged as taxable dispositions, not just transfers.
✅ Wash sale tracking — When you take a loss and rebuy within 30 days, Jupid surfaces the disallowed amount and the basis adjustment to the replacement lot, even across two different brokers.
✅ Chat with your AI accountant — Ask "What's my long-term gain so far this year?" or "Did I trigger any wash sales last quarter?" and get a clean answer with the underlying transactions linked.
Example conversation:
Form 8949 is mechanical once you have clean records — and brutal when you don't. The three things that decide whether filing is a 30-minute task or a 30-hour task:
Most filers either spend hours reconciling 1099-Bs or pay a CPA $500+ to do it. Either way, the underlying problem is bookkeeping, not tax law. Solve the bookkeeping during the year and the filing falls out at the end.
If you're using Claude, ChatGPT, or another AI agent to help fill out Form 8949, we've published an open-source skill that gives the agent exact line-by-line instructions, validation checks, ask-don't-guess prompts, and worked examples — the same logic Jupid uses internally.
→ jupid-tax/jupid-skills on GitHub — forms/form-8949/
For Claude Code: cp -r jupid-skills/forms/form-8949 ~/.claude/skills/. For the Anthropic SDK, load SKILL.md into the system prompt and the references/ files on demand. For browser-automation runtimes, filing.md covers the e-file or paper-file workflow.
Disclaimer
This article provides general information about Form 8949 and capital gains taxation. It is not tax advice and does not establish a CPA-client relationship. Tax laws change frequently, and individual circumstances vary significantly. Cryptocurrency tax rules in particular are evolving — verify current guidance against the IRS website before filing. For advice specific to your situation, consult a qualified tax professional.
Tax Year: 2026 (covering 2025 income) Last Updated: April 28, 2026
Join 1,000+ businesses using Jupid to save time and money. Start simplifying your finances today.
30-day money-back guarantee