March 15, 2026
Bank Statement to CSV: The Complete Guide for 2026
How to export your bank statement to CSV format for use in Excel, Google Sheets, QuickBooks, and accounting software. Free methods included.
CSV (Comma-Separated Values) is the universal format of financial data. Excel, Google Sheets, QuickBooks, Xero, Sage, FreshBooks — every accounting tool accepts CSV. If you can get your bank statement into CSV format, you can import it anywhere.
This guide covers every method to convert a bank statement to CSV, from downloading directly from your bank to converting existing PDFs.
Method 1: Download CSV Directly From Your Bank (Best If Available)
Many banks let you export transaction history as CSV directly. This is the cleanest option — no conversion needed.
How to download from major banks:
Chase:
- Log in → Select account → "Download Account Activity"
- Choose date range → Select "CSV" format
- Click Download
Bank of America:
- Log in → Account Details → "Download Transactions"
- Select date range → "Microsoft Excel Format (OFX)" or "CSV format"
Wells Fargo:
- Log in → Account Summary → "Download Transactions"
- Select "Comma-Separated Values (.CSV)"
HSBC:
- Log in → Select account → "View Statement" → "Export"
- Choose "CSV" from the format dropdown
Revolut / N26 / Monzo: These digital banks typically offer CSV export in their app under "Statements" or "Export data."
The problem with bank CSV exports
Even when your bank offers CSV downloads, the format is often messy:
- No consistent column names
- Dates in unusual formats (MM/DD/YYYY vs. DD/MM/YYYY)
- Amounts as text with currency symbols ("$1,234.56")
- Merged debit/credit into one column with negative numbers
You'll usually need some cleanup before importing into accounting software.
Method 2: Convert a PDF Bank Statement to CSV
If you only have a PDF statement (no online banking access, older statements, statements from another person's account), you need to convert it.
Option A: Online converter
Tools like BankToSheet accept PDFs and output clean CSV:
- Upload your PDF bank statement
- The tool extracts all transactions
- Download as CSV (or Excel)
This handles both digital PDFs and scanned documents. Processing takes under 10 seconds.
Option B: Copy-paste to Google Sheets
For text-based PDFs:
- Open PDF in browser → Select all → Copy
- Paste into Google Sheets
- Use Data → Split text to columns
- Clean up manually
- Download as CSV: File → Download → CSV
Time required: 1–3 hours for a typical statement.
Option C: Python with pdfplumber
import pdfplumber
import csv
transactions = []
with pdfplumber.open("statement.pdf") as pdf:
for page in pdf.pages:
table = page.extract_table()
if table:
transactions.extend(table[1:]) # skip header
with open("statement.csv", "w", newline="") as f:
writer = csv.writer(f)
writer.writerow(["Date", "Description", "Debit", "Credit", "Balance"])
writer.writerows(transactions)
Works for text-based PDFs with consistent table structure.
The Ideal CSV Format for Accounting
When you have your CSV, make sure it uses these columns:
Date, Description, Debit, Credit, Balance
2026-01-15, AMAZON MARKETPLACE, 89.99, , 4210.43
2026-01-16, DIRECT DEPOSIT SALARY, , 3500.00, 7710.43
Why separate debit and credit columns? Most accounting software imports better with separate columns. A single "Amount" column where debits are negative works too, but causes confusion.
Date format: Use YYYY-MM-DD (ISO 8601) or the format your accounting software expects.
Importing Bank Statement CSV Into Accounting Software
QuickBooks Online
- Go to Banking → Upload transactions
- Select your bank → Choose "Upload a file"
- Upload your CSV
- Map columns: Date, Description, Amount
- Accept or categorize each transaction
Xero
- Go to Accounting → Bank Accounts
- Select account → Import a statement
- Choose CSV format
- Map your columns
- Import
Google Sheets
Simply drag and drop the CSV file into Google Drive, or use File → Import.
Excel
- Open Excel → Data → From Text/CSV
- Select your file
- Choose delimiter (comma)
- Finish
Common CSV Import Problems (And How to Fix Them)
Problem: Dates not recognized
Fix: Change date format to match your software's expectation. In Excel: select column → Format Cells → Date → choose correct format.
Problem: Numbers with currency symbols rejected
Fix: Use Find & Replace (Ctrl+H) to remove "$", "€", "£", and commas from numbers.
Problem: Negative numbers for debits
Fix: Create a new "Debit" column with =IF(A2<0, ABS(A2), "") and a "Credit" column with =IF(A2>0, A2, "").
Problem: Duplicate transactions after import
Fix: Most accounting software has duplicate detection. If not, use Excel's "Remove Duplicates" feature before importing.
Automating Monthly Bank Statement to CSV
If you process statements regularly, automate the workflow:
-
Set up a bank API — some banks offer PSD2/Open Banking APIs (Europe) or Plaid integration (US). This gives you real-time transaction data in JSON format that you can convert to CSV automatically.
-
Schedule CSV downloads — for banks that offer CSV export, some third-party tools (like Cleo or Monday.com integrations) can automate the download.
-
Use a batch converter — if you receive PDF statements from clients or multiple accounts, BankToSheet Pro supports bulk upload of up to 20 PDFs at once.
Conclusion
Getting your bank statement into CSV format is the first step toward organized bookkeeping and seamless accounting software import.
If your bank offers CSV export, start there — it's the cleanest option. For PDF statements (especially scanned ones), a dedicated converter like BankToSheet gives you accurate, clean CSV data in seconds.
5 free conversions per day, no account needed.
Try it free
Ready to convert your bank statement?
5 free conversions per day. No account needed.
Convert my bank statement →