Wash sale examples you can check yourself
By Wash-Sale Guardian (who's behind it) · Published 2026-10-02 · Last updated 2026-10-02 · How the checker works
Seven short cases, each with made-up trades, what the rule says, and what the checker shows for them. Every case has a CSV you can download and drop into the free checker to see the same numbers on your own screen. The numbers below are not typed in: they come from running these exact files through the checker's own code. The trades, tickers and prices are all made up, and none of this is tax advice.
To re-run a case
- Download the case's CSV file (two files for the cases with two accounts).
- Open the checker and drop the file in. It reads the layout automatically.
- Tag each account as taxable or IRA, as the case says, then compare the checker's numbers with the ones here.
The files use Robinhood's export layout only because the checker recognizes it on sight. They are not a Robinhood account. Every window in these cases closed months ago, so the numbers don't change with today's date.
1. A basic wash sale: the loss moves into the new shares’ cost
Made-up trades · not tax advice
| Date | Trade | Price | Amount |
|---|---|---|---|
| 2026-01-05 | Buy 100 NIMBUS shares | $10.00 | $1,000.00 |
| 2026-03-10 | Sell 100 NIMBUS shares | $7.50 | $750.00 |
| 2026-03-20 | Buy 100 NIMBUS shares | $8.00 | $800.00 |
| 2026-05-18 | Sell 100 NIMBUS shares | $11.00 | $1,100.00 |
What the rule says
Selling at a loss and buying substantially identical shares within 30 days before or after the sale disallows the loss (IRC §1091; IRS Publication 550, Wash Sales). The disallowed loss is not lost: it is added to the cost of the new shares, and their holding period includes the old shares' period. Here the 100 shares bought on 2026-03-20 are the replacement.
What the checker shows
- NIMBUS: −$250.00 disallowed (100 shares washed; sold 2026-03-10, re-bought 2026-03-20).
- The sale's row: proceeds $750.00, cost $1,000.00, loss −$250.00, disallowed $250.00, reportable $0.00. Its 61-day window ran 2026-02-08 to 2026-04-09; the first clean re-buy date was 2026-04-10.
- The new shares carry the loss. When they are sold on 2026-05-18, their cost is $1,050.00 (the $800.00 paid plus the $250.00 disallowed), so proceeds of $1,100.00 show a $50.00 gain instead of a larger one.
2. A partial wash: fewer shares re-bought than sold
Made-up trades · not tax advice
| Date | Trade | Price | Amount |
|---|---|---|---|
| 2026-01-05 | Buy 100 QUARTZ shares | $10.00 | $1,000.00 |
| 2026-03-10 | Sell 100 QUARTZ shares | $7.50 | $750.00 |
| 2026-03-20 | Buy 50 QUARTZ shares | $8.00 | $400.00 |
What the rule says
When you re-buy fewer shares than you sold, only the loss on that many shares is disallowed. Pub 550 (Wash Sales) does not touch the rest of the loss. The part that is disallowed is added to the cost of the shares that replaced them.
What the checker shows
- QUARTZ: −$125.00 disallowed (50 shares washed).
- The sale's row: loss −$250.00, disallowed $125.00, reportable −$125.00. The loss on the other 50 shares is not affected by the rule, because nothing replaced them.
3. The cross-account trap: the re-buy is at another broker
Made-up trades · not tax advice
| Date | Account | Trade | Price | Amount |
|---|---|---|---|---|
| 2026-02-02 | Account A (taxable) | Buy 100 VERDANT shares | $100.00 | $10,000.00 |
| 2026-04-14 | Account A (taxable) | Sell 100 VERDANT shares | $90.00 | $9,000.00 |
| 2026-04-24 | Account B (taxable) | Buy 100 VERDANT shares | $92.00 | $9,200.00 |
What the rule says
The rule applies to you, not to one account: a purchase in any of your accounts counts (IRC §1091). A broker generally has to report wash sales only within a single account, so the re-buy at the other broker usually doesn't show on Account A's Form 1099-B, though brokers may report more. Check what your 1099-B shows. See the cross-account trap.
What the checker shows
- With only Account A's file: no wash sale found, and the whole loss is reportable (−$1,000.00).
- With both files: VERDANT: −$1,000.00 disallowed (sold 2026-04-14 in Account A (taxable); re-bought 2026-04-24 in Account B (taxable)). Reportable on the sale: $0.00.
Download wash-cross-account-a.csv (Account A (taxable)) · Download wash-cross-account-b.csv (Account B (taxable))
4. The IRA re-buy: the loss is gone for good
Made-up trades · not tax advice
| Date | Account | Trade | Price | Amount |
|---|---|---|---|---|
| 2026-02-02 | Taxable account | Buy 100 LUMINA shares | $50.00 | $5,000.00 |
| 2026-04-14 | Taxable account | Sell 100 LUMINA shares | $45.00 | $4,500.00 |
| 2026-04-24 | IRA | Buy 100 LUMINA shares | $46.00 | $4,600.00 |
What the rule says
A purchase by your own traditional or Roth IRA counts as a replacement. Under Rev. Rul. 2008-5 the loss is disallowed and the IRA's basis is not increased, so the loss is not deferred. It is gone. See the IRA trap.
What the checker shows
- With only the taxable file: no wash sale found, and a loss of −$500.00 reportable.
- With both files (tag the second one IRA): LUMINA: −$500.00 disallowed, flagged "PERMANENT — absorbed by IRA". Reportable on the sale: $0.00. No cost is added anywhere to recover it.
Download wash-ira-taxable.csv (Taxable account) · Download wash-ira-ira.csv (IRA, tag as IRA)
5. A call option bought after a stock loss
Made-up trades · not tax advice
| Date | Trade | Price | Amount |
|---|---|---|---|
| 2026-02-02 | Buy 200 ZEPHYR shares | $100.00 | $20,000.00 |
| 2026-04-14 | Sell 200 ZEPHYR shares | $95.00 | $19,000.00 |
| 2026-04-24 | Buy 1 ZEPHYR contract (call, strike $100.00, expires 2027-06-18) | $5.00 | $500.00 |
What the rule says
The statute also reaches entering into a contract or option to acquire substantially identical stock, and Pub 550 (Wash Sales) says the same. A call on the stock bought within the window can replace shares sold at a loss. One contract covers 100 shares. See what counts as substantially identical.
What the checker shows
- ZEPHYR: −$500.00 disallowed, marked "via call purchase" (100 of the 200 shares sold are washed by the call).
- The sale's row: loss −$1,000.00, disallowed $500.00, reportable −$500.00. The loss on the shares the call did not cover is not affected.
6. A December loss re-bought in January
Made-up trades · not tax advice
| Date | Trade | Price | Amount |
|---|---|---|---|
| 2025-10-01 | Buy 100 ORCHID shares | $50.00 | $5,000.00 |
| 2025-12-18 | Sell 100 ORCHID shares | $40.00 | $4,000.00 |
| 2026-01-08 | Buy 100 ORCHID shares | $42.00 | $4,200.00 |
What the rule says
The 30-day windows ignore the calendar year. A loss sold in December is washed by a purchase in the first weeks of January, and the loss belongs to the tax year of the sale, not the year of the re-buy (IRC §1091; Pub 550). See the year-end deadline guide.
What the checker shows
- ORCHID: −$1,000.00 disallowed (sold 2025-12-18, re-bought 2026-01-08).
- The row is in tax year 2025: loss −$1,000.00, disallowed $1,000.00, reportable $0.00. The window ran 2025-11-18 to 2026-01-17, and the first clean re-buy date was 2026-01-18.
7. When the file starts too late: the checker says it can’t tell
Made-up trades · not tax advice
| Date | Trade | Price | Amount |
|---|---|---|---|
| 2026-06-08 | Buy 50 FJORDS shares | $10.00 | $500.00 |
| 2026-06-12 | Sell 100 FJORDS shares | $9.00 | $900.00 |
What the rule says
Whether a sale was washed depends on every purchase of the stock in the 30 days before and after it, and on which shares were sold. If the file begins after you bought some of the shares, the checker can't know what those earlier purchases were. Guessing would risk telling you something false, so it declines.
What the checker shows
- No wash sale and no year-end row for FJORDS: it is withheld, in the checker's words:
Incomplete history for FJORDS in "Example account": sells exceed the uploaded purchase history (first gap at 2026-06-12). ALL verdicts touching FJORDS — shares and options on it — are suppressed. Upload "Example account" history from before 2026-06-12 to analyze it. This tool never reports "safe" over an incomplete ledger.
An empty result is not a clean one here. Export the account's history from before the first sale, drop it in, and the symbol is checked.
What these cases don't cover
They show one rule at a time. Real histories add partial lots, several accounts, dividends reinvested, options you wrote, splits and files that start late, and the checker withholds a stock it cannot place rather than guess. The full list of rules and limits is on the methodology page, with the dated list of corrections. The checker finds the wash sales in the trades you import; a trade in a file you haven't added is not seen.
Frequently asked questions
Are these real trades?
No. Every trade, ticker and price on this page is made up. The tickers are invented company names, not listed stocks. Nothing here is tax advice.
How do I check one of these examples myself?
Download the CSV file (or both files for the two-account cases), open the free checker, drop the file in, tag each account taxable or IRA as the case says, and compare the checker’s numbers with the ones on this page. Everything runs in your browser; nothing is uploaded.
What if the checker shows something different?
Tell us (the About page says how). Wrong numbers get fixed and listed under “Corrections and changes” on the methodology page.
Get the year-end wash-sale reminders
Short emails at the moments that matter: before Nov 30 (the last day to sell at a loss and still re-buy within 2026); before Dec 31; when 1099-Bs arrive in February; and the day Guardian Pro goes on sale. The one-page year-end checklist PDF comes with it.
Sign up and a link to the PDF appears right here. Confirm the email we send and you're on the list: about four to six emails a year, and you can unsubscribe in one click from any of them. Your trades stay in your browser. The form sends Kit only your email address and the page you signed up from — nothing else (see Privacy).