Introduction - why do some users need to import CSVs?
CoinTracker is most accurate when it has a view into 100% of your crypto transaction history. While CoinTracker aims to make adding exchanges/wallets to your account as seamless as possible, there will be times when we won't be able to automatically sync transaction data.
One workaround you might have in these cases is:
1. Find a way to bulk export your transaction history for the exchange or wallet you are trying to add to CoinTracker (most major blockchain explorers will have a way to do this, for example)
2. Convert that CSV into a format that CoinTracker can process.
3. Upload that CSV here
This guide is for the second part - how to convert other CSVs to the CoinTracker CSV format.
________
But first, we want your feedback because that's how CoinTracker improves for everyone!
- Depending on the format of the original CSV, converting CSVs to our format can be difficult. Please add an upvote to our feature request here if you're interested in a more seamless way to convert other CSVs to our format. That will subscribe you to any updates.
- Note: Importing transactions via CSV that already exist in your account will result in duplicate transactions. CoinTracker doesn't have duplicate detection at the moment. If you're interested in this feature please add an upvote here to the feature request to subscribe to updates.
________
Video Walkthrough
Sample CSV format + requirements
Date |
Received Quantity |
Received Currency |
Sent Quantity |
Sent Currency |
Fee Amount |
Fee Currency |
Tag |
06/14/2017 20:57:35 |
0.5 |
BTC |
4005.80 |
USD |
0.00001 |
BTC |
|
08/19/2017 10:05:15 |
0.3 |
BTC |
3 |
ETH |
|
|
|
08/21/2017 12:00:00 |
|
|
3 |
ETH |
0.0001 |
ETH |
gift |
08/30/2017 12:01:30 |
3 |
ETH |
|
|
|
|
mined |
CSV Requirements
-
The first (header) row must exactly match the example
-
note: if you are uploading a CoinTracker transactions CSV (downloaded from the transactions page or tax center) please also include the "Transaction ID" column as the far right column on the CSV.
-
-
The required date format is MM/DD/YYYY HH:MM:SS (e.g. 09/30/2019 07:19:01)
-
No negative numbers
-
Numbers can be up to eight decimal places
-
Currency symbols must match the ones available when adding manual transactions
-
Send/withdrawal transactions:
-
Should have empty values for the received quantity and received currency
-
Sent Quantity should be exclusive of fees
-
if a total of 1 btc leaves your wallet and the fee is 0.01 BTC, the Sent Quantity should be 0.99 BTC
-
-
-
Receive/deposit transactions:
-
Should have empty values for the sent quantity and sent currency
-
Receive Quantity should be exclusive of fees
-
If someone sends you 1 BTC with a 0.01 BTC fee, and you receive 0.99 BTC, your Received Quantity should be 0.99 BTC
-
-
-
Trade transactions:
-
Should have values for the received quantity, received currency, sent quantity, and sent currency
-
-
Tag (optional):
-
Send transactions possible values include: gift, lost, donation, margin fee
-
Receive transactions possible values include: fork, airdrop, mined, payment, staked, margin, margin rebate, interest
-
trades and transfers cannot have tagged values
-
💡 Note: Some users have reported an issue when they edited their files using Excel or the built-in Numbers app on Mac. The solution for them was uploading their file to Google Sheets, saving it to their computer as a CSV file, and then uploading the file to CoinTracker.
Some Tips/Tricks for converting a CSV format
Spreadsheet filters
Filters on spreadsheet software is super helpful for sorting out which transactions are send and receive transactions. For this, we can take advantage of most transaction history formats using simple terms such as Sell
, Buy
, Deposit
, Withdrawal
, etc. to filter for the entries that should go in each of the columns in the CoinTracker CSV format.
In Google Sheets (free), you can turn on filters from the menubar under Data
Create a filter
:

How to create a filter in Google Sheets
You can then filter by type and copy-paste over in a blank spreadsheet with the right headers for the CoinTracker CSV format. In the example below, I've taken a user's Gemini transaction history and sorted for any LINK Sell
transactions to add to the Sent quantity
column:

A filtered view of LINKUSD sell side transactions
Date formatting
When downloading a transaction history file with a different date format, use the format tool to reformat to the correct datetime format. In Google Sheets, this can be done by creating a custom date and time format. Highlight cells you wish to reformat, select Format, and then select Custom date and time.
Enter the following format and select Apply:
Find-and-replace
Use find-and-replace functionality to remove symbols that are not accepted or needed for the CoinTracker format. For example, if a cell with a deposit amount also contains the currency code (i.e. 10 BTC
) remove it using find-and-replace. Or, if a Date value contains values that need to be removed before or after reformatting it, use Find and Replace to remove the unnecessary values.