PDF

Bank statement to Excel

Turn a text-based statement into a spreadsheet. The file stays on this device.

Runs in your browser. The statement is not uploaded, and a password stays in this tab.

The PDF is read in this browser. Nothing is uploaded, and nothing leaves this device.

How to use it

  1. Add the statement PDF. If it asks for a password, type it here. The password is used only in this tab.
  2. Check the preview. Rename a column, change what a column means, delete a row, or merge a wrapped line into the row above.
  3. Download a CSV or an Excel file, or copy the table and paste it into Google Sheets.

How the rows are built

The PDF is opened with PDF.js in this browser. Each piece of text keeps its position. Words on the same line are grouped, and the header row decides where the date, description, money and balance sit. A line with no date and no amount is treated as the rest of the description above it.

A second page is read the same way. A repeated header, a page number and a footer line are left out. The preview is the place to correct a row the layout made ambiguous.

What a statement needs

The PDF has to contain real text. A scan or a photo of a statement has no text layer, and this page will say so. It does not run optical character recognition.

Layouts from Barclays, HSBC, Lloyds, NatWest, Nationwide, Santander, Monzo, Starling, AIB, Bank of Ireland, PTSB and Revolut have extra header names. Any other text statement uses the same generic columns.

How it's calculated

PDF.js reads the text layer in this browser and keeps each word’s position. Words on the same horizontal line are grouped into a row. The header row, the line that contains a date and at least one money heading, decides the columns. A later line with no date and no amount is joined onto the description above it. A repeated header, a page number and a footer are left out. You can rename a column, change what it means, delete a row, or merge a line before you export.

Worked examples

A text statement with the headings Date, Description, Money out, Money in and Balance, and a row such as 01/03/2026, Coffee, 3.50 and a balance, becomes one spreadsheet row. A following line that only says MAIN STREET, with no date and no amount, is merged into the Coffee description.

A second page that repeats the same headings, and a line that says Page 2 of 2, does not become extra transactions. The headings and the page line are dropped. The dated rows from both pages are kept.

If the PDF asks for a password, type it in the box on this page. It is used only to open the file in this tab. If the PDF is a scan or a photo, there is no text layer to read, and the page says scanned statements are not supported yet. There is no optical character recognition.

Supported formats

The file has to be a PDF with real text. Layouts from Barclays, HSBC, Lloyds, NatWest, Nationwide, Santander, Monzo, Starling, AIB, Bank of Ireland, PTSB and Revolut have extra header names. Any other text statement uses the same generic columns: date, description, money out, money in, a signed amount, and balance. CSV, Excel and a tab-separated copy for Google Sheets are produced on this device. Dates stay as text. Money cells become numbers in the Excel file when they parse.

The statement is not uploaded and it is not stored. Closing the tab drops it. A password is not sent anywhere.

Questions

Is the statement uploaded?

No. The file is read in your browser and is not sent to a server. A password, if the PDF has one, stays in this tab as well.

How do I put the table into Google Sheets?

Choose Copy for Sheets and paste into cell A1, or download the CSV and use File, then Import. The Excel download opens in Sheets and in Excel.

Which banks are supported?

Text statements from Barclays, HSBC, Lloyds, NatWest, Nationwide, Santander, Monzo, Starling, AIB, Bank of Ireland, PTSB and Revolut are tuned, and other text statements use the generic parser. Scanned statements are not supported yet.

Which statement layouts are tuned?

Text statements from Barclays, HSBC, Lloyds, NatWest, Nationwide, Santander, Monzo, Starling, AIB, Bank of Ireland, PTSB and Revolut. Other text statements use the generic columns, and you can correct them in the preview.

Can I fix a row the parser split badly?

Yes. Rename a heading, change the column’s meaning, edit a cell, delete a row, or merge a wrapped line into the row above. Then download CSV or Excel, or copy the table for Google Sheets.

Related guides

Related tools