16 min read |

Convert Bank Statement PDF to CSV: Free Guide for 17+ UK Banks

Your bank gave you a PDF. Your accounting software wants a CSV. Here is every way to bridge that gap - from the obvious to the obscure - with bank-by-bank instructions for the major UK banks.

Watercolour illustration of PDF document being converted to structured CSV data

Why PDF to CSV is harder than it should be

A bank statement PDF looks perfectly structured. Neat columns. Clear dates. Tidy amounts. It appears to be data. But a PDF is not data - it is a picture of data. A set of instructions for placing text at specific coordinates on a page. The columns you see exist only because certain characters happen to be positioned in a line.

This is why copying from a PDF and pasting into Excel produces chaos. The table structure is visual, not logical. There are no actual cells, no actual columns, no delimiters. Your computer sees a flat stream of text with some coordinates attached, and it does its best - which is usually not good enough.

Every UK bank formats its statements differently. Lloyds wraps long descriptions across multiple lines. HSBC separates debits and credits into different columns with a running balance in a third. NatWest has changed its PDF layout at least twice in the past three years. Barclays personal accounts and business accounts use entirely different templates. A conversion method that works for one bank will produce garbage for another.

There are four broad approaches, ranging from "avoid the problem entirely" to "throw specialised software at it." The right one depends on what bank you use, how many statements you need to convert, and how much of your afternoon you are willing to sacrifice.

Option 1: Skip the PDF - download CSV directly

Best option: download CSV from your bank

Almost every UK bank lets you download transactions as a CSV, OFX, or QIF file directly from online banking. If you have online access, you almost certainly do not need to convert a PDF at all. A bank-generated CSV has proper column separation, consistent date formats, and correct amount signs. No PDF conversion will produce cleaner data than a native export.

The most common reason people end up converting PDFs is that they do not realise their bank offers a direct download. It is rarely the default - banks prefer showing you a PDF because it looks professional and is harder to tamper with. But buried somewhere in the transaction view, there is usually an export or download button.

Here is where to find it, bank by bank:

Bank Where to find it Formats
Lloyds / Halifax / BoS Select account → "Export transactions" or "Download" link above the transaction list. Set a custom date range before exporting. All three brands share the same interface. CSV, QIF, OFX
HSBC Select account → "Download transactions" link. Easy to miss - it is usually a small text link below or beside the date filter. Business accounts use the separate HSBCnet portal with its own export section. CSV, OFX
NatWest / RBS Select account → "Download/export transactions." Custom date ranges supported. The option appears near the top of the transaction list, sometimes behind a "More actions" menu. CSV, OFX, QIF
Barclays "View statements" on account page → "Download." Personal and business accounts use different interfaces - the business portal is more straightforward about it. CSV, PDF
Santander "Statements and documents" from account overview. Recent transactions export as CSV or Excel. Older statements (typically 12+ months) may only be available as PDF. CSV, Excel
Monzo Account tab → Statements. Select date range and download. Monzo's CSV is clean: single amount column (negative for debits), consistent date format, no running balance clutter. CSV
Starling Statements under account settings. Choose date range and format. Like Monzo, produces a clean CSV with minimal cleanup required. CSV, QIF
Revolut Accounts → Statements → Generate. Monthly or custom date ranges. Multi-currency accounts include exchange rate data in the export. CSV, Excel, PDF
Tide Export button in the top-right of the transaction view. Straightforward - Tide is aimed at small businesses and makes CSV export prominent. CSV
Metro Bank "Download statements" from account page. Select date range and format. Available for both personal and business accounts. CSV, PDF
Wise Select balance → Statements → choose currency and date range. CSV includes exchange rate details for currency conversions, which is useful for multi-currency bookkeeping. CSV, PDF, Excel
American Express "Download your transactions" from the Statements & Activity page. Amex exports may include pending transactions - check the status column before importing anywhere. CSV, QFX, OFX

Date range limits

Most banks limit CSV downloads to the last 12–24 months. If you need older data, you may be stuck with PDFs. Some banks restrict it further for personal accounts. If you know you will need historical data, download CSVs regularly rather than waiting until you need three years of history and discovering it is no longer available.

The rest of this guide is for when you cannot get a CSV - because the bank only provides PDF for that period, the account is closed, the statement was posted on paper, or you are working with a client's document and do not have access to their online banking.

Option 2: Copy and paste

The brute-force approach. Open the PDF, select the table, copy, paste into Excel or Google Sheets, then spend the next twenty minutes cleaning up the mess. Free, requires no software, and sometimes it actually works.

When it works

When it does not work

Cleanup tips if you push through

1

Paste into Google Sheets, not Excel

Google Sheets handles pasted PDF text slightly better - it is less aggressive about auto-formatting dates and numbers. Use Ctrl+Shift+V (paste without formatting) to avoid inheriting PDF styling.

2

Use "Split text to columns"

If everything lands in one column, use Data > Split text to columns with a space or tab delimiter. You will need to fix rows where descriptions contain the same delimiter, but it gets you 80% of the way.

3

Delete header and footer rows from page breaks

Sort by the date column. Page headers and footers cluster together because they lack valid dates - delete them in bulk rather than hunting through the spreadsheet row by row.

4

Fix multi-line descriptions

Look for rows where the date column is empty but the description column has text. These are continuation lines. Concatenate them with the row above using =A1&" "&A2, then delete the orphan row.

5

Verify the total

Sum your amounts column and compare against the difference between opening and closing balance on the statement. If the numbers do not match, you have lost or duplicated transactions. This step is non-negotiable - importing an incorrect CSV into accounting software creates more problems than it solves.

For a 20-transaction single-page statement, copy-paste is fine. For 200 transactions across 15 pages, it is not a realistic approach - you will spend more time cleaning the data than you would have spent typing it in manually.

Option 3: Free PDF-to-CSV tools

There are several free tools that attempt to extract tabular data from PDFs. They work well for simple, well-structured layouts and struggle with the same edge cases that trip up copy-paste.

Tabula (free, open-source, local)

What it is: A free Java desktop application. You upload a PDF, draw a selection box around the table, and Tabula extracts it as a CSV. No data leaves your machine.

Good at: Single-page tables with clear boundaries. You can adjust the selection area and choose between "stream" mode (tables without visible borders) and "lattice" mode (tables with grid lines).

Bad at: Multi-page statements - you need to process each page individually and stitch the results. Cannot handle scanned PDFs (no OCR). Still trips on wrapped descriptions and merged columns.

Online converters (Zamzar, Smallpdf, iLovePDF)

What they are: Upload your PDF, wait a few seconds, download a CSV or Excel file. No software to install.

Good at: Convenience. Works from any device with a browser.

Bad at: Bank statements specifically. These tools are general-purpose - they do not understand bank statement layouts, so they cannot handle bank-specific formatting quirks. Also consider the privacy angle: you are uploading your full transaction history, account number and sort code to a third-party server. For personal statements this may be acceptable. For client data, think carefully about GDPR implications.

Google Sheets and Adobe Acrobat

Google Drive: Upload the PDF to Drive, right-click, "Open with Google Docs." Google's OCR extracts the text. The result is rough but sometimes usable. Copy the table into Sheets and clean from there. Free.

Adobe Acrobat Pro: "Export PDF" converts to Excel or CSV. Among the better general-purpose converters because Adobe wrote the PDF specification. But it costs roughly £16/month, and it still struggles with multi-line descriptions and multi-page table stitching.

The common thread with all generic tools: they treat every PDF the same. They do not know that row three is a transaction and row four is the continuation of its description. They do not know that the "Balance" column should be ignored. They do not know that HSBC puts dates in one format and Lloyds uses another. They extract text, and the rest is your problem.

Option 4: Dedicated bank statement converters

This is where the problem gets solved properly. A dedicated bank statement converter is not a generic PDF extraction tool - it is built specifically to understand bank statement layouts. The difference is the difference between a general translator and a native speaker.

What bank-specific parsing handles

Multi-line description joining

When NatWest wraps a card transaction description across two lines, a bank-specific parser knows the second line belongs to the transaction above it, not a new transaction. It joins them automatically.

Debit/credit column detection

Barclays uses separate "Money out" and "Money in" columns. Lloyds uses "Debit" and "Credit." HSBC puts debits and credits in the same column with context clues. Monzo uses a single signed amount. A bank-specific parser maps all of these to a consistent output without you specifying which column is which.

Running balance separation

The balance column is not a transaction amount, but generic tools do not know that. Bank-specific parsers strip the running balance and use it instead to verify that no transactions were missed during extraction.

Date format handling

HSBC formats dates as DD/MM/YYYY. Starling uses YYYY-MM-DD. Santander uses DD MMM YY. Some banks vary by account type. A bank-specific parser normalises everything to a consistent output format.

Page break handling

When a transaction starts at the bottom of page three and its description wraps to page four, a bank-specific parser stitches them together. It also strips repeated headers, page numbers, running balance subtotals, and footer text that appear between pages.

Statement format versioning

Banks change their PDF layouts without warning. Santander's 2024 format is not the same as its 2022 format. NatWest has changed its layout at least twice since 2021. A maintained parser keeps up with these changes. The one-time script you wrote three years ago does not.

ReconcileIQ includes a built-in PDF-to-CSV converter with bank-specific parsers for 17+ UK bank formats: Lloyds, Halifax, Bank of Scotland, HSBC, NatWest, RBS, Barclays, Santander, Monzo, Starling, Tide, Metro Bank, Mettle, Virgin Money, Wise, American Express and ANNA Bank. You upload the PDF, select the bank, and get a clean CSV with correctly joined descriptions, normalised dates and separated amounts. No manual cleanup required.

The advantage of an integrated converter is that you do not need a separate tool for extraction and a separate tool for whatever you are doing with the data. Upload the PDF and the transactions flow straight into reconciliation, column mapping, or accounting software import - no intermediate file to manage, rename, or accidentally overwrite.

Common problems and fixes

Regardless of which conversion method you use, these are the issues that come up most often. Knowing what to look for saves time.

Dates parsing as American format

You meant 5th March (05/03). Excel read it as 3rd May (03/05). This happens because DD/MM/YYYY and MM/DD/YYYY are ambiguous for any date where both numbers are 12 or below. Excel guesses based on your system locale, and if your machine is set to US English, MM/DD wins silently.

Fix: Before opening the CSV, use Data > From Text/CSV (not double-click) and set the date column format to DMY in the import wizard. In Google Sheets, check File > Settings > Locale is set to United Kingdom. If dates have already been swapped, the only reliable fix is to re-import. You cannot un-swap dates by reformatting - the underlying value has already changed.

Amounts with wrong signs

Debits showing as positive, credits as negative, or everything positive with no way to distinguish. This happens when the converter does not understand the bank's debit/credit column layout.

Fix: If the CSV has separate "Debit" and "Credit" columns, create a formula column: =IF(D2<>"", -D2, E2) to merge them into a single signed amount. If everything is positive and there is a "Type" column, filter by type and negate the appropriate transactions. Always check the first few rows against the original statement.

Missing transactions at page breaks

A 10-page statement comes out with fewer transactions than it should. The usual culprit: page headers or footers broke the extraction, and transactions adjacent to page boundaries were lost or merged with header text.

Fix: Sum your extracted amounts and compare against the difference between opening and closing balance. If they do not match, transactions are missing. Check the page boundaries in the original PDF. If using a page-by-page tool, process each page separately and verify the join points.

Multi-page statements not joining properly

You extracted each page separately and now have five CSVs that need to become one. The usual mistakes: forgetting to remove header rows from pages 2–5 before concatenating, or missing a transaction that spans two pages - the last row on page 2 and the first row on page 3 might actually be one transaction with a wrapped description.

Fix: Strip header rows from all but the first file. Check the last transaction on each page and the first on the next for orphaned description lines. In a spreadsheet, paste each page's data below the previous. From a command line, concatenate the files and remove duplicate headers with a text editor.

Special characters breaking CSV structure

A description containing a comma - "AMAZON.CO.UK, PAYMENT" - breaks CSV column alignment because CSV uses commas as delimiters. The description gets split across two columns and everything shifts right.

Fix: Properly formatted CSVs wrap fields containing commas in double quotes. Open the CSV in a text editor (not Excel) and check whether this is happening. Most modern converters handle quoting correctly, but simpler tools may not. If the quoting is missing, switch tools or add the quotes manually around affected fields.

Scanned or image-based PDFs

If you cannot select text in the PDF - if your cursor shows a crosshair instead of a text cursor - the PDF is an image. No text-based extraction tool will work. There is no text layer to extract.

Fix: You need OCR (Optical Character Recognition) first. Adobe Acrobat Pro includes OCR. Google Drive's free OCR (upload PDF, open with Google Docs) is surprisingly effective for clean scans. For bank statements, OCR accuracy is generally good because the text is printed and the layout is consistent. But always verify the output - OCR confuses similar characters (1/l, 0/O, 5/S) and amounts need to be exact.

What to do with your CSV

You have a clean CSV. The most common next step is importing it into accounting software or a spreadsheet for reconciliation. Each platform has its own expectations.

Importing into accounting software

Xero

  • Accounting > Bank Accounts
  • Select account > "Import a Statement"
  • Requires: Date, Amount, Description
  • Date format must be DD/MM/YYYY
  • Single amount column (negative for debits)
  • 255-character limit on descriptions

QuickBooks Online

  • Banking > select account > "Upload transactions"
  • Upload CSV, then map columns
  • Accepts separate debit/credit columns
  • Flexible date format recognition
  • Review transactions before confirming
  • Also accepts OFX and QBO formats

Sage

  • Banking > select account > Import
  • CSV with Date, Description, Amount
  • Sage 50 uses a more rigid import wizard
  • Strict about date formats - check preview
  • Validates before committing the import
  • Amount sign conventions vary by version

Excel / Google Sheets

  • Open CSV directly or use Data > Import
  • Format date column as Text first
  • Verify dates did not auto-format
  • Set number format on amount column
  • Add headers if the CSV lacks them
  • Use SUMIF to verify totals vs statement

Column mapping tips

Every accounting platform wants roughly the same thing: a date, a description, and an amount. The friction is in the details.

Date columnMust be consistent throughout the file. DD/MM/YYYY is safest for UK software. If the CSV uses DD-MMM-YY (e.g., "05-Mar-26"), some import tools handle this and some do not. When in doubt, reformat to DD/MM/YYYY before importing.
Amount columnXero requires a single signed column (negative for money out). QuickBooks and Sage can handle separate debit/credit columns. Check which format your target expects before cleaning the data.
DescriptionUsually maps directly. Some platforms truncate long descriptions. If the bank includes reference numbers in the description, decide whether to keep or strip them - they can help with matching later.
Balance columnMost accounting software ignores this on import. You do not need to delete it - just do not map it. But do use it yourself to verify the extraction was complete.
HeadersThe first row should contain column names. If it does not, add them. "Date", "Description", "Amount" is the minimum. Avoid special characters or very long header names.

17+ UK bank formats, converted in seconds

ReconcileIQ's built-in PDF converter handles multi-line descriptions, page breaks, debit/credit columns and running balance separation automatically. Upload the PDF, pick the bank, get a clean CSV.

Try ReconcileIQ free

Quick summary

Which method should you use?

You have online bankingDownload CSV directly from your bank. Do not convert a PDF if you do not need to. See the bank-by-bank guide above.
Simple, single-page PDFCopy-paste into Google Sheets may work. Verify the total against your statement before using the data.
One-off, well-structured PDFTabula (free, open-source) is solid. Expect some manual cleanup on multi-page files.
Regular or complex statementsUse a dedicated converter with bank-specific parsers. It handles the edge cases that break everything else.
Scanned / image PDFYou need OCR first (Adobe Acrobat Pro, or Google Drive's free OCR), then one of the methods above on the resulting text.

The underlying problem is not that PDFs are difficult - it is that PDFs were never designed to hold structured data. They are a page-layout format pressed into service as a data-exchange format, and the friction is the inevitable result. The best solution is to avoid the conversion entirely by downloading CSV from your bank. When that is not possible, the right tool depends on how much of your time you are willing to spend cleaning up after a format that was never meant to hold a table.

Frequently Asked Questions

How do I convert a bank statement PDF to CSV?

Upload your PDF bank statement to a converter tool like ReconcileIQ. The tool identifies the table structure, extracts dates, descriptions, and amounts, then outputs a clean CSV file. Most UK bank formats are supported automatically.

Which UK banks are supported for PDF to CSV conversion?

ReconcileIQ supports 17+ UK banks including Lloyds, HSBC, NatWest, Barclays, Santander, Monzo, Starling, Halifax, Mettle, Tide, TSB, Revolut, Nationwide, Co-operative Bank, Virgin Money, Clydesdale, and Yorkshire Bank.

Why would I need to convert a bank statement from PDF to CSV?

CSV format is required for importing transactions into accounting software, reconciliation tools, and spreadsheets. Banks often provide PDF statements but not CSV exports, especially for older statements or when downloading from branch.

Is the PDF to CSV conversion accurate?

Modern converters achieve high accuracy by using structured data extraction rather than OCR. However, scanned PDF statements (images rather than digital text) may have lower accuracy and should be verified after conversion.