Crypto Exchange CSV Converter

Drop in exports from different exchanges and get one clean, sorted CSV in a single standard layout, with duplicates flagged. No tax calculation, just tidy data you can use anywhere.

10 exchange formats + any CSV via the column mapper · output: the CryptoTaxOwl template · open CC0 format

app.cryptotaxowl.com · isolated, ad-freeOpen in focus mode

Your transaction files never leave your device. How to check this yourself

Figures for general information, not tax advice. Disclaimer

How it works

How to merge exchange CSVs into one file

Every exchange exports history differently. One uses UTC_Time and signed amounts, another uses Timestamp with a separate type column, a third spreads one trade over three rows. If you want to keep your own records, hand them to an accountant or move between tools, those differences get in the way. The converter reads each export with a parser built for that format and writes everything out in one layout, one row per event.

  1. 1

    Add your exports

    Drop in CSV or XLSX files from any of the supported exchanges. Unrecognised files open the column mapper.

  2. 2

    Check the mapping

    Each file shows the detected format, confidence, row count and date range. Fix any column the mapper wasn’t sure about.

  3. 3

    Download one CSV

    Get a single file sorted by date in the standard template, with a column flagging likely duplicates for you to review.

What you get

  • Reads Coinbase, Binance, Kraken, Crypto.com, Revolut, Gemini, Bybit, OKX, KuCoin and Bitstamp exports
  • Column mapper for any other CSV, with date-format and decimal-comma settings
  • Multi-row trades grouped into single events
  • Duplicates within and across files flagged, never silently dropped
  • One merged file sorted by date, in the standard 13-column template
  • Output re-imports into the tax calculator unchanged
Privacy

What happens to your files

Your transaction files never leave your device. CryptoTaxOwl reads them and calculates your report inside this browser tab. We don’t upload them, and the ads and analytics on this website can’t see them: the calculator runs in a separate, ad-free part of the site. To value your trades we download the same price file for every visitor, so even that doesn’t reveal what you hold.

The conversion runs in your browser, inside the separate, ad-free workspace. Your exports aren’t uploaded, and the merged file is created on your device and saved straight to your downloads. Our verify-it-yourself steps show how to confirm that.

Worked example

Merging Coinbase and Kraken

Say you have a Coinbase transaction report with 412 rows and a Kraken ledger export with 96 rows. Kraken writes each trade as two ledger rows sharing a refid, one for each currency, and uses codes like XXBT for bitcoin and ZGBP for pounds.

What the converter does

  • Coinbase: the lines above the header row are skipped and each row becomes one event, with its fiat value kept.
  • Kraken: rows sharing a refid become one trade, and asset codes are normalised (XXBT → BTC, ZGBP → GBP).
  • A withdrawal from Coinbase and a matching deposit on Kraken both stay in the file, marked transfer_out and transfer_in.
  • The two files are merged and sorted by date_utc. The row count equals the number of normalised events, not the raw row count.

Import that file into the tax calculator later and you get the same report as importing the two originals.

The standard template, column by column

The output uses the same 13 columns as the template the calculator accepts. The format is open (CC0), so other tools are free to adopt it.

ColumnMeaning
date_utcISO 8601 date and time in UTC
typebuy, sell, trade, deposit, withdrawal, transfer_out, transfer_in, income_staking, income_mining, income_airdrop, income_interest, income_reward, income_other, gift_received, gift_sent, spend, fee, lost or other
sent_amount, sent_assetWhat left the account
received_amount, received_assetWhat arrived
fee_amount, fee_assetAny fee, in the asset it was paid in
fiat_value, fiat_currencyThe value of the event, when the exchange gave one
accountWhich exchange or wallet the row came from
tx_id, descriptionThe exchange’s ID or hash, and any notes

When the converter isn’t sure

Exchanges add new transaction types without notice. If a file contains a type the parser doesn’t recognise, the row is kept with type set to other and listed for you to classify, rather than guessed. Rows that look like margin, futures or liquidity-pool activity are flagged too. Exchange-specific notes are on the export help pages, for example Binance and Kraken.

Limits

Good to know

  • No tax figures here. The converter only reshapes data; it doesn’t value or match anything.
  • Duplicates are flagged, not removed. Two rows with the same account and transaction ID are marked so you can decide.
  • Spreadsheet safety. Text cells that start with characters a spreadsheet might run as a formula are escaped, so opening the CSV in Excel is safe.
  • Keep the originals. The converted file is for convenience. Keep the exchange exports as your primary records.

CryptoTaxOwl produces figures for general information. It isn’t tax, legal or financial advice, and it can only be as complete as the files you import. Check the warnings in this report, keep your own records, and speak to a qualified tax adviser if you’re unsure. You are responsible for what you file.

Keep going

Related calculators and guides

FAQ

Questions people ask

Which exchanges can it read?

Coinbase, Binance, Kraken, Crypto.com (app), Revolut, Gemini, Bybit, OKX, KuCoin and Bitstamp, plus any other CSV through the column mapper. Each format has an export help page.

Does it calculate my tax?

No. It produces one clean CSV. To get gains and income, import the file into the crypto tax calculator or your country’s calculator.

My exchange isn’t listed. Can I still convert it?

Yes. The column mapper shows the first rows of your file and lets you choose what each column means, including the date format and decimal separator. You can save the mapping for next time.

Will the output open in Excel or Google Sheets?

Yes. It’s UTF-8 CSV with a byte-order mark, standard quoting and formula-safe text cells.