Bank statements almost always arrive as PDFs, but PDFs are made for reading, not for calculating. To reconcile accounts, categorise spending or hand clean records to an accountant, you need the transactions in a spreadsheet. There are three practical ways to convert a PDF bank statement to Excel — manual copy-paste, Excel's built-in Power Query, and automatic parsing. This guide walks through each, when to use it, and how to end up with a tidy transaction table rather than a jumbled mess.
Why bank statements come as PDFs
Banks generate statements as PDFs because a PDF preserves an exact, print-ready layout that looks the same everywhere. That's great for a permanent record and terrible for analysis: the numbers you can see are locked into a page layout, not stored as spreadsheet rows and columns. Some banks offer a CSV download for recent transactions, but older months, closed accounts, foreign-currency accounts and loan or mortgage statements are frequently PDF-only. When a client or accountant emails you a statement, it's a PDF too. So the recurring problem is the same: how do you get the transactions out of the PDF and into columns you can sort, filter and total?
Method 1: Copy and paste
The zero-cost option is to open the PDF, select the transaction text, and paste it into Excel. It works in a pinch for a short, single-column statement, and it needs no tools beyond what you already have.
The catch is structure. PDF copy-paste almost always loses the table layout, so dates, descriptions and amounts land jumbled into a single column — or worse, split across rows unpredictably. You then spend time using Text to Columns, fixing misaligned rows, and re-typing anything that came through garbled. On a multi-page statement with running balances, the manual clean-up can take longer than the analysis you were trying to do. Copy-paste is fine for a handful of lines; it does not scale.
Method 2: Excel Power Query
Modern Excel can import directly from a PDF. Use Data → Get Data → From File → From PDF, point it at your statement, and Power Query will detect tables it finds in the document. You can then choose the right table, promote headers, set column types and load it into a sheet. Once built, the query can be refreshed if the statement layout is consistent month to month.
Power Query is a real step up from copy-paste, but it has two requirements. First, the PDF must be text-based — Power Query cannot read a scan or a photo, because there's no selectable text for it to parse. Second, it works best when the statement has clean, well-formed tables; irregular layouts, multi-line descriptions or split pages often need manual fixes to the query. It's a solid choice if you're comfortable in Excel and your statements are consistent digital PDFs.
Method 3: Automatic parsing
Automatic parsing tools use OCR to read the statement the way a person would — including scans and phone photos — and return the transactions as structured data. You upload the PDF, the tool extracts each transaction with its date, description, amount, direction and running balance, you review anything it flags as uncertain, and you export to Excel, CSV or Google Sheets. This is what ParseForMe's bank statement parser does, and there are per-bank guides for common banks like Chase and others.
The advantages are that it handles scanned statements, multi-page documents and inconsistent layouts without per-file setup, and every field carries a confidence score so you review only what needs a look. The trade-off is that parsing is a paid step beyond very small volumes and, like any automated extraction, benefits from a quick human review before you rely on the numbers. If you're processing more than a few statements, or your statements aren't clean text PDFs, this is usually the fastest route to a clean table.
Which columns you actually need
However you convert the statement, aim for the same clean shape — one row per transaction, with these as separate columns:
- Date — the transaction date, in a consistent format.
- Description — the payee or memo line, kept in one cell.
- Amount — the value, ideally signed (negative for money out).
- Direction — debit or credit, so money in and out stay unambiguous.
- Running balance — the balance after each transaction, to reconcile against the statement.
- Category — added by you or the tool, for reporting.
Keeping these as distinct columns is what makes the data useful: you can sort by date, filter by category, sum a month, or import into accounting software. A single blob of pasted text can't do any of that until you split it.
Tips for a clean result
A few habits make every method more reliable. If you use copy-paste or Power Query, work from the original digital PDF rather than a scan, since selectable text is far cleaner than OCR of a printout. Check the opening and closing balances against the statement after converting — if they match, your rows are almost certainly complete. Watch for multi-line descriptions that can break row alignment, and for date formats that flip between regions. If you need the data in your accounting system, remember you can also send bank transactions to QuickBooks via OFX rather than re-keying them.
Whichever method fits your situation, the goal is the same: transactions out of the PDF and into columns you can actually work with. For a one-off short statement, copy-paste may be enough; for consistent digital PDFs, Power Query is a good free option; and for scans, volume, or messy layouts, automatic parsing gets you there fastest.
If the document you're wrestling with isn't a bank statement, the same problem shows up in every PDF that holds a grid — how to extract a table from a PDF covers the general case, including the open-source route with Tabula and Camelot.