ExcelTool.io

Bank Statement to Excel Converter

Turn a PDF bank or credit-card statement into a clean Excel or CSV table: one row per transaction with the date, description, debit, credit and running balance as real numbers, checked against the balances the bank printed. Nothing is uploaded - the statement is read in your browser.

Loading converter...

How to Convert a Bank Statement to Excel

  1. Download the statement as PDF from your online banking. If the bank also offers OFX, QFX, QBO or CSV, prefer that and use the OFX to Excel converter - an export carries the transactions as data, while a PDF has to be read back from a printout.
  2. Drop the PDF on this page. It is read in your browser. Text statements take a second or two; scanned statements offer an OCR pass that runs locally as well.
  3. Check the balance check and the preview.The page reports how many of the bank's printed balances are explained by the extracted rows, how many rows had their direction assumed, and whether the day/month order of the dates is certain.
  4. Download Excel or CSV. The workbook has a Transactions sheet with one row per transaction and a Summary sheet with totals, opening and closing balance and the reconciliation result.

What Ends Up in the Workbook

The Transactions sheet has seven columns: Date, Description, Debit, Credit, Amount, Balance and Page. Debit and Credit are separate positive numbers, so =SUM(C:C) is money out for the month and =SUM(D:D) is money in. Amount is the same figure signed - negative for money out - for anyone who keeps a single-column ledger. Balance is the running balance exactly as the bank printed it on that row, or blank where the row had none. Page records which page of the PDF the row came from, which is how you find a transaction on the original when something needs checking. Dates are written as yyyy-mm-dd text so that Excel cannot reinterpret 03/04 as March or April depending on the regional settings of whoever opens the file; they sort correctly as text.

Wrapped descriptions are joined back into one cell. Many banks print a long payee name over two or three lines under the transaction, and the converter appends those lines to the transaction above them rather than leaving orphan rows. Where a bank prints the date once and leaves it blank for the rest of that day's transactions, the blank rows inherit the date.

How Debits and Credits Are Separated

A PDF statement does not say which column a number was in - it says where on the page the number was printed. Reading the direction of each amount correctly is the difference between a usable table and one that has to be re-checked line by line, so the converter settles it four ways, in order of certainty:

  1. The running balance. If the balance fell by the amount, it was a debit; if it rose, a credit. This is exact and needs no guessing, and it is the rule most rows on a bank statement are decided by.
  2. A marker on the amount. A minus sign before or after the number, parentheses around it, or a CR or DR suffix.
  3. The column heading. When the page has a header naming a debit or withdrawals column and a credit or deposits column, an amount printed under one of them takes that direction. This is what settles the first rows of a statement, before there is a balance to compare against.
  4. Assumed money out. Only when none of the above applies. Charges on a card statement with no sign convention land here. The page counts these rows so you can check them rather than discover them later.

Credit-card statements are read the other way round, because the balance on a card is what you owe: a charge printed as a plain positive number is money out, a payment or refund printed with a minus sign or in parentheses is money in, and a rising balance means more owed. The converter classifies the document as a card statement from its summary wording (minimum payment, credit limit, new balance) and says so on the Summary sheet.

The Balance Check

A conversion that looks complete and is missing one row is worse than no conversion, because the error only shows up when the month will not reconcile. So for every balance the bank printed, the converter verifies that the previous printed balance plus every transaction since equals it to the cent. Statements that print a balance on every row are checked on every row; statements that print one balance per day are checked once per day. An opening balance and a closing balance printed in the statement summary are included in the check. The result is shown above the preview and written to the Summary sheet, and any row whose balance did not reconcile is highlighted in the preview.

Statement Formats It Reads

The converter recognises transactions by their shape rather than by bank, so it is not limited to a list of supported institutions. A transaction line starts with a date - numeric with slashes, dashes or dots, ISO 2026-01-15, or a named month such as 15 Jan 2026 or Jan 15 - optionally followed by a second posting or value date, and ends with one to three amounts: the amount alone, the amount and a balance, or debit, credit and balance. Amounts may carry a currency symbol, a thousands separator in US, European or Indian lakh style, and a decimal comma or point, which is detected across the whole statement. Dates without a year take the year from the statement date and roll over correctly across December and January.

The day/month order of numeric dates is detected from the statement itself: a single date with a day above 12 settles it. Where every date on a statement has a day of 12 or under, the page says so and offers a switch, because no software can tell 03/04 apart from 04/03 on its own.

Scanned Statements

A statement that was printed and scanned, or photographed, has no text to read. The page detects that and offers OCR, which recognises the characters locally in your browser without uploading the scan. It reads up to ten pages in English. OCR is good at printed numbers and less good at faint or skewed scans, so the balance check matters most here: a misread digit breaks the reconciliation on that row and shows up immediately.

Why the Statement Is Not Uploaded

Most bank statement converters work by uploading the PDF to a server, where it is processed and kept for some period. For a document that carries an account number, a sort code or routing number, the balance and a month of transactions, that is a lot to hand over to get a spreadsheet. This converter runs entirely in the browser: the PDF is parsed by JavaScript on your own machine, the workbook is assembled there, and the download is a local file. There is no upload, no server copy, no retention window and no account. The page keeps working offline once it has loaded.

Limitations

  • Sectioned statements. Some banks print all deposits in one section and all withdrawals in another, with no sign, balance or column heading on the rows. Every row in such a statement is transaction-shaped, but nothing on the row says which way the money went, so the withdrawal rows are correct and the deposit rows have to be flipped by hand. The assumed-direction count tells you when this has happened.
  • Two-column page layouts, where the left and right halves of the page are separate tables, are read as one wide table and do not convert cleanly.
  • Amounts without decimals (a bare 1200) are not treated as money, because a bare integer at the end of a line is more often a cheque or reference number. Statements that print whole amounts with no decimal places are not supported.
  • No categorisation. The output is the statement as data. Categorising it is what the pivot table and filter tools are for.
  • Encrypted PDFs have to be opened with their password and saved unprotected first.

When to Use Another Converter

If the bank offers an OFX, QFX or QBO download, the OFX to Excel converter reads the transactions as data with no guessing at all. For a CSV export, use CSV to Excel. For a PDF that holds a table but is not a statement - an invoice, a price list, a report - the general PDF to Excel converter extracts the rows as they appear without looking for dates and amounts.

What's next?

Keep going with one of these tools.

Frequently Asked Questions

Related Tools