How to export your Gemini history
- 1
Sign in on the web
Sign in to your Gemini account in a desktop browser. The download is documented for the web version; the mobile app shows your history under Portfolio → Transaction History but is not the easiest place to export it.
- 2
Open the Transaction History page
Open the Transaction History page. Gemini’s help article links straight to it; on the web it sits within your account settings, under documents. If the menu looks different, look for “Transaction History” in your account or documents area.
- 3
Choose “Exchange Transaction History” and a date range
Click the download button next to Exchange Transaction History and pick a date range. For a tax report, choose a range that starts at your first ever transaction, not just the tax year, so earlier purchases give you a cost basis.
- 4
Download the .xlsx file
Click Download .xlsx. The file saves to your device. Keep it as it is: don’t open and re-save it in a spreadsheet program before importing, because that can change dates and number formats.
- 5
Import it into CryptoTaxOwl
Drop the .xlsx file into the crypto tax calculator. It is read in your browser; the file is not uploaded.
These steps follow Gemini’s own help pages as checked on 7 October 2026. Exchanges rename menus often, so if something looks different, use the help link below and look for the full transaction history export. Wrong or out of date? Tell us at errors@cryptotaxowl.com.
What the columns mean
Column names as documented by open-source importers and tax-tool guides, not by Gemini itself. The per-currency column groups depend on which assets you have held, so your file will have more or fewer of them. Check the header row in your own file.
| Column | What it means |
|---|---|
Date | The calendar date of the transaction. |
Time (UTC) | The time of the transaction in UTC. Combined with Date to give the timestamp. |
Type | What happened. Common values are Buy, Sell, Credit (money or crypto coming in) and Debit (going out). |
Symbol | For trades, the trading pair such as BTCUSD or ETHBTC; for credits and debits, the single currency. |
Specification | A short description of the row, for example the kind of deposit, withdrawal, order or reward. |
Liquidity Indicator | Whether a trade added or took liquidity (maker or taker). Not needed for tax. |
Trading Fee Rate (bps) | The fee rate applied to a trade, in basis points. |
Trade ID / Order ID | Gemini’s identifiers for the fill and the order. Used for duplicate detection. |
BTC Amount BTC, USD Amount USD, … | One column per currency, for example BTC Amount BTC or USD Amount USD. Positive means received, negative means sent. |
Fee (BTC) BTC, Fee (USD) USD, … | One fee column per currency: the fee charged in that currency on the row. |
BTC Balance BTC, USD Balance USD, … | Your running balance of that currency after the row. |
Tx Hash | The blockchain transaction hash for crypto deposits and withdrawals, when available. |
Deposit Destination / Withdrawal Destination | The address involved in a crypto deposit or withdrawal. Helpful when matching transfers to your own wallets. |
Quirks to know
- It’s a wide file. Instead of one “asset” column and one “amount” column, Gemini adds a separate amount, fee and balance column for each currency. A trade of BTC for USD fills in both the BTC and the USD column groups on the same row.
- The column set changes between accounts. Two people’s files rarely have the same headers, because the currency columns depend on what each person held.
- Totals at the bottom. Files can end with summary or blank rows. These are skipped and reported, not imported as transactions.
- Trading pairs need splitting.
Symbolvalues likeETHBTCrun the two currencies together, so the importer splits them by known quote currencies. - Excel dates. If you re-save the file in a spreadsheet program, dates can turn into serial numbers or a local format. Use the original download.
How CryptoTaxOwl reads this file
CryptoTaxOwl recognises the Gemini file by its header fingerprint (the shared columns plus the pattern of per-currency column groups), not by the file name. Each row becomes one normalised transaction:
BuyandSellrows become a single trade with both legs and the fee taken from the matchingFeecolumn.- When a trade is against a fiat currency, the fiat leg is used as the value. Values in the file are always used first; the bundled daily price data is only a fallback.
CreditandDebitrows become deposits and withdrawals. A crypto deposit with no matching withdrawal from another account you imported is flagged so you can say whether it was a transfer from your own wallet, income, or a purchase elsewhere.- Any
TypeorSpecificationvalue the importer doesn’t know becomes an “Unknown type” issue for you to resolve. It is never quietly treated as taxable or non-taxable.
Everything happens in your browser. Nothing is uploaded, and CryptoTaxOwl never asks for API keys, recovery phrases or passwords.
Transfers between Gemini and your other wallets are not taxable disposals, but they need matching. See how transfers between your own wallets are handled.
Known issues and gaps
- Missing cost basis. If you bought crypto elsewhere and sent it to Gemini, the purchase isn’t in this file. Import that exchange or wallet too, or the deposit will show a missing cost basis issue.
- Staking, earn and other products. Rewards may appear with their own
TypeorSpecification. If the importer doesn’t recognise them they become “Unknown type” issues you classify. - Derivatives. Any derivatives, margin or futures activity is flagged as unsupported and excluded by default. Profit and loss on derivatives is out of scope in this version.
- Separate files. If you downloaded several files (for example by date range), import all of them together. Overlapping rows are flagged as duplicates with “keep one” as the default.
If your file isn’t recognised
Gemini can change its layout without notice. If the import says the file isn’t recognised, you have two options:
- Use the column mapper inside the crypto tax calculator to tell it which column is the date, type, amounts and fees.
- Reshape the file with the crypto CSV converter into CryptoTaxOwl’s simple template, then import that.
The how it works page explains the template columns and how imports are checked.
Gemini export: frequently asked questions
Is the Gemini export a CSV file?
The documented download is an Excel .xlsx file. CryptoTaxOwl reads .xlsx directly, so you don’t need to convert it.
Why does my Gemini file have so many columns?
It has a group of amount, fee and balance columns for each currency you have held. A trade fills in two of those groups on one row. That is normal, and the importer handles it.
Which date range should I choose?
Choose from your first transaction to the end of the tax year you are reporting. Earlier purchases are needed to work out the cost of what you sold.
Does the file include fiat values for each trade?
Trades against a fiat currency (such as BTCUSD) include the fiat amount, which is used as the value. Crypto-to-crypto trades and transfers are valued from the other leg or from daily prices.
Do I need to give CryptoTaxOwl my Gemini login or API key?
No. You download the file yourself and it is read in your browser. CryptoTaxOwl never asks for API keys, recovery phrases or passwords.