Bybit CSV export format
parser live🔒 CSV conversion runs in your browser — files are not uploaded
This is the format reference for Bybit CSV export (spot trades / deposits & withdrawals) — where the file comes from, what each column means, and the export quirks that matter. Our parser reads the layout(s) below and converts it in your browser.
Layout evidence: Four layouts per daybook’s Bybit adapter and cryptact’s Bybit support docs, plus BittyTax — see research/parser-fixture-validation-2026-10.md.
How to export the file
- Bybit → Assets → Data Export (unified-account trade history) — or Order → Spot Order → Trade History → Export.
- Deposits/withdrawals: Assets → funding history → export.
- Each export is a separate file — feed them individually.
Column reference
UTA spot trade history
File name like "Bybit_unifiedAccount_spotTradeHistory.csv".
| Column | What it means |
|---|---|
Order ID / Transaction ID | Order and fill ids. |
Filled Time | Fill timestamp, UTC "YYYY-MM-DD HH:mm:ss". |
Symbol | Concatenated pair, e.g. BTCUSDT. |
Side | Buy or Sell. |
Filled Price | Fill price. |
Quantity | Base quantity. |
Exec Value | Quote total. |
Fee / Fee Currency | Fee amount and asset. |
Orders-page trade history
A "Filled Time (Local Time)" column may precede the UTC timestamp.
| Column | What it means |
|---|---|
Filled Time (Local Time) | Optional local-time column — fallback only, flagged when used. |
Spot Pairs | Concatenated pair, e.g. BTCUSDT. |
Order Type / Direction | Order kind and Buy/Sell direction. |
Filled Value | Quote total. |
Filled Price | Fill price. |
Filled Quantity | Base quantity. |
ExecFeeV2 / Fees | Fee columns — the single "Fees" column states no currency (see quirks). |
Transaction ID / Order No. | Fill and order ids. |
Timestamp (UTC|UTC+0) | Authoritative UTC timestamp. |
Funding / deposit-withdrawal export (v2)
| Column | What it means |
|---|---|
Date & Time(UTC) | Event timestamp. |
Coin | Asset. |
QTY | Signed quantity — negative on withdrawals. |
Type | Category code — TRANSFER, REBATE, BONUS, … |
Account Balance | Resulting balance. |
Description | Carries direction: "Deposit", "Withdrawal", "Transfer to/from Derivatives Account". |
Funding export (v1, older)
| Column | What it means |
|---|---|
Type | camelCase event names — userDeposit, internalAccountTransferDeposit, internalAccountTransferWithdrawal. |
Coin | Asset. |
Amount | Quantity. |
Wallet Balance | Resulting balance. |
Time(UTC) | Event timestamp. |
Format quirks
- Symbols are concatenated ("BTCUSDT") — split on a known quote suffix, not a delimiter.
- The Orders-page export ships a single "Fees" column with no stated currency — the parser assumes the fee is charged in the received asset (Bybit’s documented spot-fee behavior) and marks the assumption.
- Two timestamp columns can coexist: "Timestamp (UTC)" wins; "Filled Time (Local Time)" is fallback-only and its use is flagged.
- Withdrawal QTY arrives negative — absolute value is used for the leg.
- Internal moves ("Transfer to/from Derivatives", internalAccountTransfer* rows) are skipped or kept labeled as internal transfers — visible beats silent.
⚠ The single-currency-less "Fees" column assumption needs a fresh export to confirm — NEEDS-LIVE-VERIFICATION.
Convert this file (2)
| Convert a Bybit CSV to the Koinly format | live |
| Convert a Bybit CSV to CoinLedger | live |
All Bybit CSV converters · Format reference index · All converters