Ledgerbox

Bank statement PDF to Excel, without uploading anything

Drop in a statement and get its table back as a spreadsheet — the same columns, under the statement's own headings, with every cell exactly as printed. Nothing is renamed, reordered or reinterpreted. The PDF is read by code running in this tab, so your account details never touch a server.

No statement to hand? Try one:

Three steps, no account

  1. 1

    Drop the PDF in

    Straight from your bank's download. Password-protected statements are fine — the password is used here in the tab.

  2. 2

    See your statement's own table

    The same columns, under the same headings, with the same text in every cell. Edit anything that came through wrong, or delete rows you do not want.

  3. 3

    Download it

    Excel, CSV or JSON, with your PDF's column names as the header row.

It is not only bank statements

The engine reads a table out of a PDF and has no idea what the document is, so anything laid out as a table comes back the same way — under its own headings, cell for cell.

Statement layouts, bank by bank

See all 21

These pages show what each bank actually prints, column by column — which is what you get back. There is no list of supported banks to be on: the columns are found from the gutters between them, so a statement from any bank, in any language, comes out as the table it already is.

Questions

Is my bank statement uploaded anywhere?
No. The PDF is opened by JavaScript running in your own browser tab, and the table is extracted on your device. Nothing is sent to a server, so there is no copy of your statement for anyone — including us — to lose, sell or hand over.
Will the columns match my statement?
Yes, that is the whole point. The header row of your download is the header row of your PDF, word for word, and the columns come out in the order the statement printed them. Nothing is renamed to a house standard, merged, split or reordered.
Does it change the values in any way?
No. A cell arrives as the text that was in it — the same date format, the same thousands separators, the same Dr/Cr markers, the same currency symbols. The one optional exception is clearly labelled: for .xlsx you can have cells that are nothing but a figure typed as numbers rather than text, so Excel will add them up. The digits are unchanged, and you can switch it off.
What happens to a description that wraps onto two lines?
It stays as two rows, because that is what the PDF printed. Every line inside the table becomes one row, with the cells it actually had and the rest left empty. You can merge or delete rows yourself in the table before downloading.
Does it work with password-protected statements?
Yes. Enter the password when prompted; it is used to decrypt the file locally, in the same tab, and is never transmitted or stored.
What formats can I export to?
Excel (.xlsx), CSV, and JSON if you are feeding another tool. Accounting formats like OFX and QIF are not offered, because building one would mean deciding which of your columns is the date and which is a signed amount — exactly the guessing this tool does not do.
My bank is not in the list. Will it still work?
There is no list to be on. Columns are found from the gutters between them — the vertical stripes of the page that no row prints into — so the extractor never needs to recognise the bank, the language or the layout. The bank pages here describe layouts; they do not enable them.
Can it read a scanned statement?
Not yet. A scan is an image with no text layer, which needs OCR. Statements downloaded as PDF from online banking are text and work fine — if you scanned or photographed a printed statement, download the original from your bank instead.