P2PTab

Coinbase to Koinly

Download your Coinbase history, drop it in below, and you get a file in Koinly's own import layout plus a list of anything that needs a manual fix.

Based on Coinbase's help pages and sample files; check the first rows after you import

Your file is read in this browser tab and never uploaded.

1. Export from Coinbase

On the website, open your profile menu, then Settings, Accounts and Statements, and generate a custom statement in CSV for all assets and transaction types. Use Statements, not the tax reports. The file starts with a few lines above the column headers; leave them in, the converter skips them.

2. What changes in the file

Coinbase transaction history CSV
Column in the exportWhat we take from it
IDKept as the transaction id when present.
TimestampTransaction time in UTC.
Transaction TypeBuy, Sell, Advanced Trade, Convert, Send, Receive, staking and rewards income.
AssetAsset ticker.
Quantity TransactedCrypto amount. Whether it came in or went out is taken from the transaction type, not the sign.
Price CurrencyCurrency of Subtotal and fees, usually USD.
SubtotalDollar value before fees: cost of a buy, gross proceeds of a sale, value of income.
Fees and/or SpreadFee, kept separately in the price currency.
NotesRead only for Convert rows, to find what was received.
Total (inclusive of fees and/or spread)Not used; it equals Subtotal plus or minus the fee.
Koinly universal template
Koinly columnFilled from
DateTransaction time in UTC, written as YYYY-MM-DD HH:MM:SS
Sent Amount / Sent CurrencyThe side that left your balance
Received Amount / Received CurrencyThe side that arrived
Fee Amount / Fee CurrencyFee, in the asset it was charged in
Net Worth Amount / CurrencyDollar value, only when the exchange file states it
Tagreward (staking and other rewards), lending interest, airdrop or other income for income rows; empty otherwise
DescriptionOriginal operation name for income rows
TxHashThe transaction ID on the blockchain, when the file has one

3. Import into Koinly

In Koinly, open Wallets, add a wallet named after the exchange, then choose Import from file and upload the converted CSV. Koinly reads its own universal template directly.

Known problems with this pair

  • Coinbase's "Send" rows become withdrawals. If the coins went to your own wallet, import that wallet too: Koinly only pairs a withdrawal with a deposit of the same asset that arrives within 12 hours and isn't larger than the amount sent.