CryptoTaxCalc logo CryptoTaxCalc
September 10, 2026 · 9 min read

How to Report Crypto on Your Taxes: A Step-by-Step Walkthrough

Reporting crypto on taxes: a person working through transaction history and tax forms

Let me be honest about the framing here. "How to report crypto on your taxes" sounds like a quick how-to, but for anyone who actually traded crypto during the year, it's closer to an archaeological dig. You weren't maintaining a clean ledger the whole time — you were buying, swapping, staking, and occasionally moving coins between wallets. Now it's February and you have to reconstruct a year of that into something the IRS accepts.

Here's the good news: the process is mechanical once you break it down. Six steps, in order, and you get from "crypto transactions scattered across four exchanges" to "numbers on Form 8949." I'll walk through the US process in detail, then cover what differs in the UK, Germany, Canada and Australia at the end.

If you want to sanity-check the math on individual trades as you go, the calculators on this site run locally in your browser — no data upload — and the CSV batch importer will parse your exchange files and bucket each disposal into short-term or long-term automatically.

Step 1: Gather your complete transaction history

This is the step people skip or do incompletely, and it's the one that breaks everything downstream. You need every transaction from every place you touched crypto during the tax year:

If you only pull from Coinbase and forget the Ethereum you swapped on Uniswap, your cost basis for everything downstream will be wrong. Start with a complete list of accounts and check each one off.

Step 2: Calculate your cost basis

Cost basis is what you paid to acquire the coins you're now selling or swapping — purchase price plus fees. When you dispose of coins, the gain is proceeds minus basis minus disposal fees.

The hard part: which coins did you actually sell? If you bought Bitcoin three times at three prices and sold once, which purchase did the sale come from? In the US you can use FIFO (oldest first, the default) or specific identification if you have records identifying each unit. The UK forces Section 104 pooling; Canada uses adjusted cost base averaging. I've written a full breakdown of how cost basis and these methods work with a worked example — it's worth reading before you start matching buys to sells.

Pro tip: do this in a spreadsheet or with software, never in your head. One transposed digit and your entire return is off.

Step 3: Classify as short-term or long-term

In the US, the holding period decides the rate:

You must report each disposal with its holding period on Form 8949, which has separate sections for short-term and long-term. This is where good dated records pay off — if you can't prove a 12-month hold, the IRS will treat it as short-term and tax it higher.

Step 4: Complete Form 8949

Form 8949 is where every crypto disposal gets its own line. For each transaction you report:

Traders with hundreds of transactions sometimes attach a statement summarizing the detail instead of listing each line — the IRS accepts this if the totals match and you keep the per-transaction detail for your records. Most tax software generates this automatically.

Step 5: Transfer totals to Schedule D

Form 8949 feeds into Schedule D, which rolls up your net short-term and long-term capital gains for the year. Schedule D then flows to Form 1040. If you have capital losses exceeding gains, up to $3,000 can reduce your ordinary income; the rest carries forward to future years indefinitely. I covered the loss mechanics in the tax-loss harvesting guide.

Step 6: Keep your records

Filing is not the finish line — keeping the proof is. Save:

The IRS generally has three years to audit, but if there's a substantial understatement it can be six years, and there's no limit for fraud. Keep the records for at least six years. Cloud storage or an encrypted external drive is fine.

What differs by country

The six-step shape is similar everywhere — gather, basis, classify, report, file, keep records — but the forms and rates differ:

Common mistakes that cost real money

The honest bottom line

Reporting crypto taxes is tedious, not mysterious. The complexity comes from the volume and messiness of your own transaction history, not from the tax rules themselves. Gather everything, apply one consistent basis method, classify by holding period, and transfer the numbers to the right forms. If you have more than a few dozen trades, use the CSV batch importer or dedicated software — doing it by hand is how errors sneak in. And for material amounts, a crypto-savvy tax professional is worth their fee.

This is general information, not tax advice. Crypto reporting rules are evolving (especially broker reporting in the US). For complex histories or large amounts, work with a qualified tax professional.

FAQ

Do I have to report every single crypto transaction?

In the US, every disposal — sale, swap, or spending of crypto — is a taxable event and must be reported on Form 8949. Purchases and holdings are not reported. For active traders this can mean hundreds of lines, which is why most people use tax software that aggregates exchange CSVs automatically.

What happens if I don't report my crypto gains?

Unreported crypto gains can result in penalties, interest and, in severe cases, criminal charges. Exchanges are now required to report your disposals to the IRS (via Form 1099-DA in the US), so the IRS already has a record of your activity. If you missed a year, the best move is to file an amended return voluntarily before you are contacted.

How do I report crypto if I used multiple exchanges?

Export a CSV from every exchange and wallet you used, then combine them into a single transaction history sorted by date. Calculate cost basis across the combined set using a consistent method (FIFO is the safe default). For dozens of trades, use the CSV batch importer on CryptoTaxCalc or dedicated tax software to avoid manual errors. If you're deciding between free and paid tools, see our side-by-side comparison of CryptoTaxCalc vs Koinly, CoinLedger and CoinTracker.

← Back to Blog 📂 CSV Batch Import Calculate Your Tax →