Skip to content
stmtai

How-to

How to convert a PDF bank statement to Excel

Five ways to get a PDF bank statement into Excel, from copy and paste to Excel’s own PDF import, what each one gets wrong, and how to check the result.

7 min read · Last reviewed · by the stmtai team

If the statement is a normal text PDF and you have Excel for Windows on a Microsoft 365 subscription or Excel 2021, the quickest free route is Data > Get Data > From File > From PDF. If the statement is a scan or a photo, that menu will give you nothing useful and you need something that does OCR. Whichever route you take, the job is not finished until the opening balance plus the money in minus the money out equals the printed closing balance.

Everything below assumes you already have the PDF downloaded from your bank.

First, work out which kind of PDF you have

Open the file and try to select a line of text with the mouse. If individual words highlight, the PDF has a text layer and every method on this page will at least attempt it. If the whole page highlights as one block, or nothing highlights, it is an image. Scanned statements, photos from a phone, and some older bank archives are images. For those, only the two methods that include OCR (Acrobat, or a converter) will work, and even they will make the occasional mistake on a faint 3 versus 8.

Method 1: Excel's own PDF import

Excel has had a PDF connector in Power Query since 2020. It is the best free option for text PDFs.

  1. Open a blank workbook.
  2. Data > Get Data > From File > From PDF, and pick the statement.
  3. The Navigator shows one entry per table Excel found, and one entry per page. Tick the pages that contain transactions.
  4. Click Transform Data rather than Load. In the Power Query editor, use Home > Append Queries to join the pages into one table, promote the first row to headers, and set the Amount columns to Decimal Number and the Date column to Date.
  5. Close and Load.

What it gets wrong, in rough order of how often I see it:

  • Descriptions that run onto a second line on the statement arrive as a separate row with blank date and amount. You have to merge them by hand or filter them out.
  • Page headers and footers ("Continued on next page", the account number, the bank's address) turn up as rows.
  • Amounts printed with a trailing minus, or in parentheses, or with a CR suffix, come in as text. Change Type will error on them until you strip the extra characters.
  • If the bank prints deposits and withdrawals in one column with the sign carried by position rather than a symbol, Excel cannot tell them apart.

Availability, checked September 2026: the connector is in Excel for Microsoft 365 on Windows and in the Excel 2021 perpetual release for Windows. Excel 2019 and 2016 have Power Query but not the PDF connector, and Excel for Mac does not have it at all. Excel for the web can only read PDFs stored in SharePoint.

Method 2: Copy and paste

Select the transaction lines in your PDF reader, copy, paste into Excel. Everything usually lands in column A as one string per line, so follow it with Data > Text to Columns using a space delimiter, then repair the description column that got split into eight pieces.

This is fine for a single page with twenty rows. For a year of statements it is a bad afternoon, and the error rate is worse than typing because the mistakes are silent: a description with an extra space shifts the amount one column to the right and you do not notice until the balance check fails. Typing versus converting covers when manual entry is genuinely the right call.

Google Sheets has no PDF import at all. The nearest workaround is to upload the PDF to Google Drive, open it with Google Docs (which runs OCR and gives you the text), then copy and paste from there. You lose the columns and end up doing the Text to Columns step in Sheets instead.

Method 3: Adobe Acrobat

Acrobat (the paid desktop application, not the free Reader) exports to .xlsx and includes OCR, so it handles scanned statements.

  1. Open the PDF in Acrobat.
  2. Choose Convert (or Export PDF in older versions), then Microsoft Excel, then XLSX.
  3. Save and open the result.

Acrobat is faithful to the page layout, which is both the point and the problem. You get one sheet per page, the bank's letterhead and footer as rows, merged cells wherever the statement had a two-line description, and amounts that are sometimes numbers and sometimes text. Expect fifteen minutes of cleanup per statement. Adobe also offers a free online PDF-to-Excel tool with a usage limit; the same caution about uploading bank statements to third parties applies there as anywhere else.

Method 4: Skip the PDF and download CSV from the bank

If the account is still open and the period is recent, the bank's own CSV export is often the cleanest source. It is already columns, the amounts are already numbers, and there is no OCR involved.

The limits are worth knowing before you rely on it. Most banks only let you download a rolling window of history from the transaction search. Wells Fargo's own help pages say up to 18 months for eligible accounts; Chase and Bank of America are commonly reported at around two years and one year respectively, though the window depends on the account type and the banks change it without notice. Closed accounts and anything older than the window exist only as PDF statements. The CSV also has no opening or closing balance in it, so you cannot prove it is complete, and some banks cap the number of rows per file without telling you. Bank CSV versus converting the PDF goes into the trade-offs in more detail.

Method 5: A purpose-built statement converter

A converter is software that has been shown a lot of bank statements and knows that the second line of a description belongs to the row above, that "1,234.56 CR" is a credit, and that the number at the bottom of the page is the closing balance. stmtai reads text PDFs, scanned images, and CSV, QIF and OFX exports, checks every file against the printed opening and closing balances, and if the rows do not add up, tells you which row is the first one that breaks the chain. The Excel it produces has real number cells, a suggested category on each row, and a Summary sheet with the balance check written out. It can also export CSV, QuickBooks .qbo and Xero CSV. The first five pages are free without an account, and the site shows a sample result so you can see the output before uploading anything.

The trade-off is the same as with any online tool: you are sending a bank statement to someone else's server. Read the retention policy, and check the balance yourself regardless of what the software says.

Which one to use

SituationUse
Text PDF, one or two statements, Excel for WindowsExcel's PDF import
Text PDF, Mac or older ExcelBank CSV if available, otherwise a converter
Scanned or photographed statementAcrobat if you already pay for it, otherwise a converter
A year or more of statementsA converter, then spot-check
A dozen rows from one pageCopy and paste
Need QuickBooks or Xero, not ExcelA converter that writes .qbo or Xero CSV directly

Checking the result, whatever method you used

Do this every time. It takes two minutes and it is the only way to know the extraction is complete.

  1. Add a running balance column: opening balance in the first row, then previous balance plus money in minus money out, copied down. The Excel template guide has the exact formulas.
  2. Compare the last row to the printed closing balance. If they match to the cent, you are done.
  3. If they do not match, the difference tells you what to look for. A difference equal to one transaction means a missing or duplicated row. A difference that is exactly double a transaction usually means a sign is wrong. A difference of a few cents is a misread digit.
  4. If the statement prints a balance after each transaction, type a few of them into a spare column and compare. The first row where your running balance and the printed balance disagree is where the problem is.

Also look for: dates that are left-aligned (text, not dates), amounts that are left-aligned (text, not numbers), a row count that does not match the number of transactions the statement says it contains, and page headers that have snuck in as rows. The bank reconciliation guide covers what to do once the numbers are in and agree.

Questions

Can Excel just open a PDF file directly?

No. File > Open does not accept PDFs. The only built-in route is the Power Query connector under Data > Get Data > From File > From PDF, and that is limited to Excel for Windows on Microsoft 365 or Excel 2021. On a Mac you need the bank’s CSV, Acrobat, or a converter.

Why are the amounts left-aligned and refusing to add up after I import?

They came in as text. Stray characters such as a trailing minus, a CR suffix, a currency symbol or a non-breaking space stop Excel from reading them as numbers. Select the column, use Find and Replace to remove the extra characters, then Data > Text to Columns > Finish to force a re-parse. SUM will start working once the cells are right-aligned.

My bank statement PDF is password protected. Will any of these methods work?

Not while the password is on. Excel’s connector and most converters will refuse or return nothing. Open the PDF in your reader with the password, then use Print to PDF or Save As to write an unprotected copy, and convert that. Delete the unprotected copy when you are finished if the original protection mattered to you.

Does Excel’s Get Data from PDF work on a scanned statement?

No. It reads the text layer inside the PDF, and a scan has none, so the Navigator will show empty tables or nothing at all. You need a tool with OCR: Acrobat, or a converter built for statements. Check the result more carefully than you would a text PDF, because OCR misreads digits from time to time.

The statement is 40 pages. Do I have to append every page by hand in Power Query?

There is a shortcut. In the Navigator, pick the entry for the whole file rather than an individual page, then in the query editor filter the Kind column to Page, expand the Data column, and Excel stacks every page into one table. You will still need to remove the repeated headers and footers afterwards, which is where a filter on the Date column being non-empty does most of the work.

Related guides

All guides · All banks and formats