Convert a bank statement PDF to a spreadsheet without uploading
If your bank offers a CSV, OFX or spreadsheet download, use that and skip the conversion. If all you have is the PDF, check that it contains real text, convert it on your own computer, and prove the result with one sum: opening balance plus money in, minus money out, must equal the closing balance.
First: is the PDF text or a scan?
Open the PDF and try to select a single word with the mouse, or press Ctrl+F and search for a word you can see, such as a shop name. If the word highlights, the file has a text layer and every method below can work. If nothing selects, or the whole page highlights as one block, it is a scan: a picture of paper.
A scan has no text to read. It needs OCR (optical character recognition) first, and OCR can misread digits.
A second test is the free PDF to text tool on this site, linked at the end. You pick a PDF and it reads the text layer page by page. If it finds no text, it tells you the PDF may be a scan.
If you can, download a fresh digital PDF from online banking instead of scanning a printed statement. A scan is the worst starting point.
Five ways, best first
These are ranked by how often they give you correct numbers with the least work. Your case may differ, so use the last column as a warning.
| Way | Works well when | Breaks when |
|---|---|---|
| 1. Download from the bank (CSV, OFX, QIF or spreadsheet) | Your bank offers it for the period you need | Only PDF is offered, or the history is short |
| 2. Copy and paste from a PDF viewer | One short statement with a simple layout | Columns merge, descriptions wrap onto extra lines |
| 3. The spreadsheet program's own PDF import | Your version has it and the PDF contains text | Rows that wrap, scans, versions without the feature |
| 4. A desktop converter you install | Many statements, or you need a file for accounting software | Scans, layouts it has not seen, unclear privacy terms |
| 5. An online converter | A document that is not sensitive | The statement leaves your computer |
Whatever you pick, finish with the balance test further down. It matters more than the method.
Ways 1 and 2: bank download, or copy and paste
Way 1 is the best when it exists. Look in online banking for an export or download option next to the PDF statements. Common formats are CSV (opens in any spreadsheet program), OFX and QIF (formats that accounting software can import) and sometimes a spreadsheet file. What you get depends on the bank and the account type. One published guide describes a bank where personal accounts offered PDF and OFX but only business accounts offered CSV. Some banks also limit how far back you can export, so an old statement may exist only as a PDF. If the format you need is missing, ask the bank.
Even a bank file needs a look. Open it, read three rows, and check that dates and amounts follow the format you expect.
Way 2 is copy and paste. Select the table in the PDF viewer, copy it and paste it into a spreadsheet. On a clean one-page statement it can work in a few minutes. It fails in predictable ways. Every column can land in one cell of text. A description that wraps onto two lines becomes two rows. Amounts arrive as text and will not add up. Headers repeated on each page end up in the middle of your data. On a long statement you will spend more time fixing than any other way would take.
Paste into a plain text editor first. It shows you what the viewer really copies before you fight with columns.
Way 3: the spreadsheet program's own PDF import
Excel for Windows can read tables from a PDF: Data, Get Data, From File, From PDF. After you pick the file, a window lists the tables and pages it found. You load the ones you want or open them in Power Query to clean them first. Microsoft's 2020 announcement describes these steps, and the connector page lists Excel as a supported product (both read on 3 November 2026).
Not every copy of Excel has it. When Microsoft announced the feature in 2020 it was for Microsoft 365 subscribers on Windows, and a later reply in the same thread says it reached the 2021 perpetual version, with Mac and web not covered at that time. Look in your own Data menu: if there is no From PDF entry, you do not have it.
Limits to know. Microsoft says rows that span several lines may not be identified correctly, and then you clean the data yourself, for example by filling values down or grouping neighbouring rows. By default it joins similar tables on consecutive pages, which suits a statement of several pages, but check the joins for gaps and repeated headers. The page says nothing about scanned PDFs, so assume they are not read and try before you rely on it.
Ways 4 and 5: desktop converter or online converter
A desktop converter is a program you install and run on your own computer. You open the statement, see the transactions in a table, and save a CSV, a spreadsheet file or a file for accounting software that imports .qbo files. It sits between copy and paste and an online service. Before you install one, read its privacy statement to see what it sends, if anything. Then ask three things: does it read your bank's layout, does it handle scans, and does it check the balance for you or leave that to you?
An online converter asks you to send the PDF to someone else's server. A statement holds your name, your account number and every payment you made. If the statement belongs to a client, check what you agreed with them before you send it anywhere. The guide linked at the end goes through what to look for in an upload service.
Check your work: the balance test
A converter can drop a row, flip a sign or misread a digit without any warning. Spot-checking a few lines against the PDF leaves most of the statement unchecked. The balance test covers all of it and works with any method.
- Find the opening (previous) balance and the closing (new) balance printed on the statement.
- In the spreadsheet, add up the money in and the money out separately.
- Opening balance + money in - money out. The result must equal the closing balance to the cent.
- Count the transactions on the PDF and the rows in the sheet. The two numbers must match.
- Compare the first and last dates in the sheet with the first and last on the PDF.
- If the statement prints a running balance column, copy it too. The first row where your own running total disagrees with it is the row to look at.
Worked example. Every number below is invented, only to show the arithmetic. The statement has 8 lines and uses day/month dates:
Statement 01/10 to 31/10 (invented example)
Opening balance 2,450.00
02/10 Hardware store -86.40
03/10 Payment, invoice 1041 +1,200.00
06/10 Fuel -62.15
09/10 Insurance -148.00
13/10 Payment, invoice 1042 +640.50
15/10 Van lease -315.00
21/10 Phone -39.99
28/10 Supplier refund +24.90
Closing balance 3,663.86Money in: 1,200.00 + 640.50 + 24.90 = 1,865.40. Money out: 86.40 + 62.15 + 148.00 + 315.00 + 39.99 = 651.54. Then 2,450.00 + 1,865.40 - 651.54 = 3,663.86, which is the closing balance. The count is 8 rows, the first date is 02/10 and the last is 28/10. The balance, the count and both dates all check out.
Now see what a failure tells you. If the converter had dropped the van lease row, your sheet would end at 3,978.86, which is 315.00 too high. A gap equal to one amount means a row is missing: search the PDF for that amount. If the phone amount had been read as +39.99 instead of -39.99, your total would be 79.98 too high. That gap is twice the row (2 x 39.99), and a gap of exactly twice an amount usually means a flipped sign.
Limits. The test does not catch a wrong date, a garbled description, or two mistakes that cancel each other out. On a credit card statement the balance is what you owe, so a purchase raises it; follow the signs the statement itself uses.
Typical errors and how to spot them
| Problem | How to spot it | What to do |
|---|---|---|
| Day and month swapped | 02/10 turns into 10 February. The first date with a number above 12 in the first position shows the real order, and sorting by date scrambles | Set the import to day-month-year, or fix the dates before you sort |
| Trailing minus, as in 1,234.56- | The cell stays text and does not add up | Move the sign to the front |
| Parentheses, as in (1,234.56) | Meant as negative, read as text or as positive | Replace with a minus sign |
| Separate debit and credit columns | Both columns show positive numbers | Make one signed column: credit minus debit |
| Header repeated on every page | Text rows such as Date, Description, Amount inside the data | Delete them, then recount the rows |
| Wrapped description | A row with text but no date and no amount | Join it to the row above |
| Decimal comma, as in 1.234,56 | If your program expects a decimal point: text, or a number off by a large factor | Set the decimal and thousands separators on import, then compare one large amount with the PDF |
Run the balance test after you fix each kind of error, not only at the end. You see right away which fix mattered.
A routine you can reuse
- Select a word in the PDF. No text means no conversion until you have OCR or a digital copy.
- Look for a CSV, OFX, QIF or spreadsheet download at the bank first.
- If you only have the PDF, convert it on your own computer.
- Run the balance test and the count. Write the result in a cell at the top of the sheet.
- Keep the original PDF next to the spreadsheet. The spreadsheet is a working copy.
- Do not change what the PDF says. If a number looks wrong, ask the bank.
Rules about how long to keep records and how to present them differ from place to place. Ask your local tax office or your accountant before you throw anything away.
Questions
Can I convert a scanned bank statement PDF to a spreadsheet?
Only after OCR, which turns the picture of the page into text. OCR can misread digits, so the balance test matters even more. A text PDF from your online banking is a better start.
Is it safe to use a free online converter?
The PDF goes to someone else's server, and it holds your account number and every payment. Whether that is acceptable depends on the service's own terms. The upload safety guide linked below lists what to look for.
Why do all my columns end up in one cell?
A PDF is a drawing of text at fixed positions, not a table. Copy and paste often loses the cell borders. Try the spreadsheet program's PDF import, or a converter that detects columns.
How do I get a CSV file instead of a spreadsheet file?
Open the converted sheet and use Save As, then pick CSV. A CSV holds one sheet of plain text, with no formulas and no formatting. Check what your accounting software imports before you choose.
Does a matching balance prove the data is right?
No. It proves the amounts add up. A wrong date or description still passes, and so do two errors that cancel out. Read the rows that matter to you.
Which file does my accounting software need?
That depends on the software, so read its import page. CSV is the most common. Some accept OFX or QIF, and some accept .qbo files.
Keep reading
More guides
About Ledgerpour
Ledgerpour is our Windows app that turns PDF bank and credit card statements that contain text into CSV, XLSX, QBO or CAMT.053 files, and checks that the balances add up before you import. It does not read scanned pages. Review the converted data before you use it in your books. It is not in the Microsoft Store yet.
Sources
- Microsoft Learn: Power Query PDF connector
- Microsoft Tech Community: Announcing data import from PDF documents
- Invoice Data Extraction: Standard bank statement to Excel or CSV
Checked 2026-11-03.
Not affiliated with or endorsed by Microsoft or any bank. All product and company names are trademarks of their owners.