Convert a bank statement PDF to CSV
Get statement transactions as a CSV that imports cleanly into Google Sheets, budgeting apps or your own scripts.
Drop your PDFs hereLet go to start
or paste with Ctrl/⌘+V
Try it 2× without an account. A free account includes 10 office & advanced conversions a month. See plans
What it does
Bank statement to CSV, explained
To turn a bank statement into CSV, drop the PDF here, check that it balances, choose CSV and set three things to match where the file is going: the delimiter (comma, semicolon or tab), the decimal mark (1234.56 or 1234,56) and the date format (2024-01-31, 31/01/2024, 01/31/2024 or 31.01.2024). Those three settings decide whether an import works on the first try.
Read more
Defaults follow the statement. A statement printed with 1.234,56 gets semicolons and decimal commas, which is what Excel expects in most of Europe; a statement printed with 1,234.56 gets commas and decimal points. Amounts are written without thousands separators or currency symbols, so no app mistakes 1,234.56 for two fields. The file is UTF-8, with an optional byte-order mark so Excel shows ü, é and ¥ correctly.
Choose between separate Money out and Money in columns, or one signed Amount column where money out is negative; budgeting apps and scripts usually want the signed column. Several statements go into one CSV with a Statement column first.
Accounting software has its own layouts: for QuickBooks Online and Xero pick their CSV option or OFX instead. For tables in non-statement PDFs, use PDF to CSV, which runs in your browser.
How to do it
Convert a bank statement PDF to CSV in 4 steps
1Your PDF
2Convert
3The new format
- 1
Add the statement PDFs
Digital or scanned; several at once go into one CSV.
- 2
Check the reconciliation
Fix any highlighted rows so the file you import is complete.
- 3
Set delimiter, decimals and dates
Match what your spreadsheet or app expects; signed amount if it wants one column.
- 4
Download and import
In Google Sheets use File > Import; in Excel, Data > From Text/CSV if double-clicking puts everything in one column.
Example
Before and after
A French relevé bancaire with Débit and Crédit columns, amounts like 2 100,00 and dates like 12/02/2024, plus “Ancien solde” and “Nouveau solde” lines.
A semicolon-separated CSV with dates 2024-02-12, amounts 2100,00 in the right column, the two balance lines left out, and a reconciliation that matched the Nouveau solde before download.
Settings & formats
What you can control
- Delimiter
- Comma, semicolon or tab.
- Decimal mark
- Dot (1234.56) or comma (1234,56); no thousands separators either way.
- Date format
- ISO 2024-01-31, 31/01/2024, 01/31/2024 or 31.01.2024.
- Amount columns
- Money out and Money in, or one signed Amount column.
- Excel-friendly encoding
- UTF-8 with a byte-order mark (on by default).
Input
Output
Good to know before you start
- CSV holds one flat table: no sheets, formatting or reconciliation summary (use Excel for those).
- Descriptions keep the statement's wording; long references stay in one field, quoted when they contain the delimiter.
- Scanned statements need OCR first.
- Some apps need a fixed column order or header names; rename columns in a spreadsheet if yours does.
Bank statement to CSV: questions people ask
Everything is in one column when I open the CSV
The program expected a different delimiter. Export again with semicolon (common in Europe) or comma, or use the spreadsheet's import dialog and pick the delimiter there.
Which date format should I choose?
ISO (2024-01-31) is the safest for scripts and Google Sheets. Choose 31/01/2024 or 01/31/2024 when an app asks for one of those.
Can I get one signed amount column?
Yes. Tick “One signed Amount column”; money out is negative and money in positive.
Are multiple statements merged?
Yes, into one file with the statement name in the first column. Export them one at a time if your app wants one file per account.
Is this different from PDF to CSV?
PDF to CSV copies any table as it appears. This tool understands statements: it joins wrapped descriptions, skips balance and total lines, splits money in and out, and checks the balances.