Drop a bank statement PDF and get back an .xlsx with transactions split into columns — date, description, amount, balance. Works on text-native statements downloaded from online banking: Chase, Bank of America, Wells Fargo, Capital One, Citi, HSBC, Barclays, and most US and UK retail banks. Runs entirely in your browser — the statement never leaves your device, which matters when you are handling account numbers and transaction detail.
Our heuristic reads text coordinates from the PDF and clusters them into rows and columns. That only works if the PDF actually contains selectable text — which is true for almost every statement you download from online banking.
Most US and international retail banks export their PDFs from their statement rendering system directly, without printing-then-scanning. That means the PDF is text-native: every transaction has a selectable date, description, and amount. The coordinates are clean, columns are aligned, and our detection does its job in one pass.
The big exceptions: statements scanned from paper on a home or office scanner (common with small credit unions, community banks, and legacy accounts), screenshots saved as PDFs, and statements downloaded from some mobile apps that render the statement as an image. Those need OCR before any extraction can happen. An easy check — open the PDF in any viewer and try to select text with your cursor. If the text highlights, our tool will read it. If nothing highlights, the PDF is image-only.
Based on the PDFs we have seen from online downloads. We have not exhaustively tested every tier of every bank, and a given bank can change its rendering pipeline — treat this as a strong prior, not a guarantee.
Downloaded PDFs from chase.com are text-native. Checking and credit card statements both extract with clean Date / Description / Amount / Balance columns.
Online-banking PDFs are text-native. Checking statements split cleanly; credit card statements sometimes merge the "Reference Number" into the description column.
Text-native PDFs from wellsfargo.com. The combined statement layout with checking + savings can produce extra blank rows between sections — easy to delete in Excel.
All three use text-native PDFs. Citi credit card statements tend to have the cleanest column structure of the three.
Online-banking PDFs from HSBC and Barclays are text-native. UK statements often have a "Money In / Money Out / Balance" three-column layout, which extracts well.
Smaller US credit unions sometimes distribute scanned or image-based PDFs. These will not extract. Run OCR first, or re-download from the bank's portal if a text-native version is available.
A typical US checking statement exports to 3-5 columns per sheet, one sheet per PDF page. Numbers arrive as text — convert them to number format in Excel with a Find & Replace on the currency symbol.
| Column | What lands there |
|---|---|
| Date | Transaction or posting date, as printed on the statement (e.g. 04/12, 04/12/2026, Apr 12). Use Excel's DATEVALUE if you need real date values. |
| Description | Merchant name, transfer memo, check number, or posting code. This is the widest column and sometimes wraps onto two lines — a row with text in only this column usually means a continuation of the row above. |
| Amount | Debit, credit, or combined amount depending on your bank's layout. US statements often split into Withdrawals / Deposits; UK statements use Money Out / Money In. |
| Balance | Running balance after the transaction. Present on most checking statements, missing on credit card statements (which show a month-end balance only). |
| Optional columns | Reference number, check number, or transaction type code — whatever your specific bank includes as a separate column. |
Honest look at the paid and free options, with the trade-offs each one makes.
$19.99/month. Layout-aware table detection and OCR for scanned statements. Uploads to Adobe Document Cloud unless you export locally. Overkill for one statement per month.
Services like DocuClipper, BankStatementConverter, Moneythumb — $15-$50/mo. They specialize in this workflow and claim near-perfect accuracy for listed banks. All upload the statement to their servers.
Free but manual. Open the PDF in Chrome, copy the transaction table, paste into Sheets. Column alignment usually breaks — you spend more time fixing than extracting.
Most online banking portals let you download the same data as CSV or OFX directly. If your bank offers it, this is the cleanest source — no extraction needed. Check the "Download transactions" option inside account history.
Browser-based. Best for text-native statements downloaded from online banking. Heuristic detection — not perfect on every layout. Free, no account, no upload. Good fit for one-off exports and when you don't want to send statement data to a third-party service.
Excel 365 has a Get Data from PDF feature. It works on text-native PDFs, handles tables well, and runs locally. Requires a Microsoft 365 subscription ($6.99/mo+). Fine if you already pay for 365.
Drop the PDF in. Extraction takes a few seconds per page.
Convert statement to XLSX
Runs locally — your statement stays on your device.
Usually yes, when you download the PDF from online banking. Chase, Bank of America, Wells Fargo, Capital One, Citi, HSBC, and Barclays all generate text-native PDFs — the transaction text is selectable and pdfjs reads the coordinates. Our row/column clustering splits each line into date, description, amount, and balance. Older paper statements scanned at home are image-only and will not extract — that needs OCR, which this browser-only tool does not include.
No. The PDF loads into your browser's memory and is processed locally with pdfjs. Zero network requests during extraction — verify in the Network tab of DevTools. Nothing is saved, stored, or logged on our side. Close the tab and everything is gone.
Depends on your statement layout. A typical US checking-account statement produces Date | Description | Amount | Balance. Some banks split debit and credit into separate columns (Withdrawals | Deposits). The tool detects column boundaries from the actual x-coordinates of text, so a 3-column statement gives 3 columns and a 5-column statement gives 5 columns. Each PDF page becomes one Excel sheet.
Numeric values should be identical — we're extracting text, not re-computing. Mismatches usually mean: a transaction spans two lines and got merged or split unexpectedly, a starting/ending balance row got placed into a transaction row, or a multi-column layout confused the column detection. Spot-check totals — typically 2-3 rows on a 30-row statement need a touch-up in Excel.
Those won't work here. A scanned statement is a PDF of an image, not selectable text — extraction relies on the underlying text layer. Run it through OCR first (Acrobat Pro, or a dedicated OCR tool) so the PDF gains a text layer, then come back. Online banking downloads are almost always text-native, so the easiest fix is to re-download from your bank's website rather than scan paper.