You can check this yourself
Open your browser's developer tools and check the Network tab while converting a statement. You should see no request containing your file.
Turn a PDF bank statement into a CSV in your browser. We check the running balance before you download.
Processed in your browserFiles never uploadedFree to useNo sign-up
What the converter does with your file.
We read the text and its position on the page. Scanned or photographed statements are not supported.
We use the position of each text fragment to find rows, columns, dates, descriptions, amounts, and balances.
We find rows that contain a date and an amount, then use them to build the transaction table.
Each row is checked against the previous balance. If something does not add up, we flag it.
We test different number, date, and column formats and keep the interpretation that best matches the statement's balances.
We compare the calculated balance with the statement's closing balance. This helps detect missing or misplaced rows.
Know the limits before you upload.
Your file stays in your browser.
Open your browser's developer tools and check the Network tab while converting a statement. You should see no request containing your file.
The converter runs in your browser. Your file is never sent to our servers.
Your file is not saved to storage, cookies, or a database. Close or reload the page, and the converter no longer has access to your file.
Common problems and quick fixes.
This PDF contains text, but the characters could not be decoded correctly. Try downloading the statement again from your bank or use another PDF version.
This happens two ways. Some statements print transactions in more than one place: a separate cheques or card section, a daily balance summary, or a second account on the same document. And some rows sit in the main table but are laid out in a way we could not read — an amount printed over a page number, for instance. Either way we tell you rather than leaving them out quietly. Open the original PDF to see the rows that were not included.
Dates are read from the column where dates appear across the rows we identified as transactions. When none of that column reads as a date, either it holds something else — a description, or a reference — or it is a format we do not recognise yet. The amounts in your CSV are still read from the statement, but the row list may include lines that are not transactions, or leave out lines that are. Compare the CSV against the original PDF before using it.
The running balance in your CSV should finish on the same figure the statement prints as its closing balance. When it does not, transactions are missing from the conversion — often a separate cheque list, a second account, or a section printed in a layout we could not read. The difference tells you how much is unaccounted for. Compare against the original PDF before using the file.
Quick answers about the converter.
No. Your file is processed in your browser and is never sent to our servers. You can also check this yourself in your browser's Network tab.
The converter checks that each transaction leads to the correct running balance. It also compares the final balance with the statement's closing balance.
A scan is a picture of a statement rather than text: there are no characters in the file to read, only pixels. Turning that back into text needs optical character recognition, which this tool does not do. This converter needs a PDF with a text layer. If your bank offers a download as well as a printed copy, drop that one in — this page tells you straight away which kind you have.
Dates come out exactly as your statement prints them, and there is no control to change that. Rewriting them needs a year, and a statement that omits the year on the row gives us nothing to take one from — supplying one would be inventing a fact about your money. Set the date format when you import the CSV instead, where the tool reading it can be told what to expect.
The file has six columns in this order: date, description, debit, credit, balance, account. Amounts are plain numbers — a period for the decimal, no grouping and no currency mark. Dates are left as your statement printed them, so that is the field to map during import. The account column is present even on a single-account statement, so the shape does not change between files.
No account or sign-up is required. The maximum file size is 20 MB.