Bank statement to CSV converter
Convert a PDF bank or credit card statement to CSV in your browser, for any spreadsheet, budgeting app or accounting import — with every running balance checked. Nothing is uploaded.
Drop files here
or
Accepts .pdf · Up to 20 files at a time · up to 1.4 GB each "Upload" and "download" here mean your browser reading a file from this device and writing one back to it. Your file is never sent to a server — open your browser's network panel and watch: no request carries your file.
Excel in Germany, France and much of Europe expects semicolons between cells and a comma in numbers. Anywhere else, keep the default.
Tested on twelve statements, field by field
| What was checked | Result |
|---|---|
| 9 statements generated with a known answer: US checking, credit card, sectioned card, UK, German, Chinese, wrapped descriptions, newest first, and 1,500 transactions | 1,898 transactions, every date, description, amount and balance identical |
| 3 statements from an open-source parser's test samples, Indian layouts with three-line descriptions | 54 transactions, every date, amount and balance identical; running balance added up on all 53 rows that could be checked |
| Descriptions on those 3 | 42 of 54 identical; the other 12 had letters of a watermark printed across the table mixed in |
The layouts were chosen for what goes wrong: descriptions wrapped onto two or three lines, the first of them above the date; withdrawals and deposits in separate columns or one signed amount; 12.00 DR and (12.00); dates written 12/31, 31 Dec 26, 31.12.2026 and 2026-12-31, and left blank on later rows of the same day; a statement period across a new year; headings repeated on every page and set in wide letter-spacing; and statements listed newest first.
Bank statement to CSV FAQ
How does the balance check work?
A statement prints the balance after every transaction, and that is a sum the converter can do too: the balance on the row before, plus this row's amount, must equal this row's balance. Every row is checked against it, the result is shown next to the download — "running balance adds up on 60 of 60 rows" — and the spreadsheet has a Balance check column saying OK on each row that adds up. A row misread, merged with another or dropped breaks the sum, so a mistake shows instead of hiding.
Can I import the CSV into my accounting or budgeting software?
Most of them take a CSV like this one: the headings are plain English — Date, Description, Amount, Balance — dates are written 2026-12-31, which every importer reads the same way, and amounts are signed numbers, money out negative. Where an importer asks you to match columns, Date, Description and Amount are the three it needs. The Balance check column is for you; leave it out of the mapping.
Which CSV layout should I pick?
The default — commas between fields, a full stop in numbers — is what nearly every program reads. Choose the semicolon layout only if you will open the file in Excel set up for most of continental Europe, which uses the comma as its decimal mark and would otherwise open a comma file as a single column.
Which banks does it work with?
There is no list, because it does not work from templates. It reads the column headings a statement prints — Date, Description, Withdrawals, Deposits, Amount, Balance, and their usual alternatives in English, German, French, Spanish and Chinese — and what the cells hold. A statement with a table of transactions under headings like those is likely to read; one that prints transactions as running text, with no table, is not, and the page says so rather than guessing.
Does it work on a scanned or photographed statement?
Not on this page. A scan is a picture of text, with no characters to read the table from, and the page says so when it gets one. Running OCR on it first gives it a text layer, but recognition reads lines rather than cells, so check the result against the paper. A statement downloaded from online banking is almost always a text PDF and reads directly.
Is my statement uploaded anywhere?
No. The PDF is read and the spreadsheet written inside this page — there is no server step, so your account number, balances and every payee stay on your device. You can confirm it in your browser's network panel while converting. A password-protected statement has to be opened and saved without the password first, in your PDF reader.
Is it really free?
Yes — every conversion on this site, with no account, no watermark and no daily cap. The work happens on your own device, so there is no server bill for us to pass on to you.
Do I need to install anything?
No. It runs in any modern browser, on Windows, macOS, Linux, Android and iOS. There is nothing to install and nothing to sign up for, and once you have converted a file on the page it keeps working with the network switched off.
Related guides
Related converters
Bank statement to Excel
One row per transaction, with every running balance checkedOFX to CSV
One row per transaction, in a CSV any spreadsheet or importer readsQFX to CSV
One row per transaction, in a CSV any spreadsheet or importer readsQBO to CSV
One row per transaction, in a CSV any spreadsheet or importer readsQIF to CSV
One row per transaction, in a CSV any spreadsheet or importer reads