Scans, photos & image-only PDFs
Bank statement OCR that gets the columns right.
Drop a scanned or photographed statement and get back dates, descriptions, debits, credits and the running balance in their own columns. No templates to pick and no per-bank setup.
Free plan: 30 pages a month · Excel, CSV or JSON out
06/04 POS PURCHASE GROCERY MKT #2841 86.21 7,126.45 06/05 ONLINE TRANSFER TO SAV 8842 500.00 6,626.45 06/06 MERCHANT REFUND CR 21188 34.99 6,661.44
Try it now
Run OCR on your own statement.
Transactions appear as the pages are read, straight from the extraction itself.
or
PDF · up to 25 MB · scanned statements OK
What you get back
Reading the characters is the easy part.
Generic OCR can tell you a page contains “1,234.56”. It cannot tell you whether that is a debit, a credit or the running balance — and on a bank statement that distinction is the whole job.
Columns stay columns
Character-level OCR reads left to right and smears a transaction row into one long line. This reads the table structure, so each amount lands in the column it belongs to.
Photos and scans both
Phone photos, flatbed scans and image-only PDFs with no text layer all work. Skewed and low-contrast pages are handled.
Checked against the balance
Every extraction is reconciled against the statement’s own running balance, so a misread digit shows up as arithmetic that stops adding up.
Where plain OCR breaks
Three failures that look like clean output.
None of these throws an error. They produce a spreadsheet that opens fine and is wrong.
Multi-column layouts
Separate debit and credit columns get merged into one, so money out and money in become indistinguishable after export.
Wrapped descriptions
A payee name that runs onto a second line is read as a separate transaction with no amount, inflating the row count.
Page breaks mid-table
Column headers repeat on every page. Template OCR treats each repeat as data, or drops the first row after each break.
We publish the detail behind this: 10 statement formats that break OCR and OCR vs AI, compared.
Definitions
What bank statement OCR actually means.
Two different jobs get called the same thing, and the difference is the whole reason a converted statement is either usable or quietly wrong.
OCR: turning pixels into characters
Optical character recognition reads the shapes on a scanned page and returns text. On a bank statement that gives you a stream of dates, payee names and amounts — correct characters, no structure. Nothing in that stream says which number is a debit, which is a credit, or which line belongs to which transaction.
Extraction: turning characters into rows
The second job is deciding that this date, this description and this amount are one transaction, that this figure is money out and that one is money in, and that the repeated block at the top of page three is a header rather than a payment. That is where plain OCR stops and where statements go wrong.
Why the distinction matters to you
A tool that only does the first job produces a spreadsheet that opens cleanly and does not reconcile. There is no error message — the file looks finished. The only reliable check is arithmetic: do the rows add up to the closing balance the statement itself prints?
Processing
How a scanned statement becomes a spreadsheet.
Four stages. The fourth is the one most converters skip.
Every page is read
Including pages with no text layer. Statements up to 25 MB are accepted, and long multi-month statements are processed in batches rather than truncated at an arbitrary page count.
Transactions are located
The transaction table is found on each page and separated from the account summary, the marketing insert and the repeated column headers. Sections that banks split up — payments, purchases, fees, interest — are merged back into one chronological list.
Fields are typed
Dates are normalised to one format, amounts are parsed as numbers rather than text, and the debit/credit direction is assigned from the column the figure sat in rather than from a minus sign that may not be there.
The balance is checked
Opening balance, plus money in, minus money out, must equal the closing balance the statement prints. Rows are reconciled against the running balance line by line, so a misread digit surfaces as arithmetic that stops adding up instead of as a number you export without noticing.
Scanning statements into Excel yourself first? You do not need to — upload the scan or the photo directly. If you have already run a scan, keep it at 300 dpi or better and avoid re-saving it as a compressed JPEG, which softens the digits.
FAQ
Bank statement OCR, answered
Does this work on a scanned statement with no text layer?
Yes. If the PDF is a pure image — a scan or a phone photo — the page is read visually. You do not need to run a separate OCR step first.
How accurate is it on poor-quality scans?
Accuracy drops with image quality, as it does for any OCR. The difference is that every extraction is reconciled against the statement's own running balance, so a misread digit shows up as arithmetic that no longer adds up rather than as a number you export without noticing. Where the balance makes the correction unambiguous, it is corrected.
Do I have to pick my bank's template?
No. There are no per-bank templates to select or maintain, which is why statements from smaller banks and credit unions work as well as the major ones.
Does this work on credit card statements too?
Yes. Credit card and charge card statements use the opposite sign convention to a bank account — a purchase increases what you owe and a payment reduces it — and that is handled, so charges land as debits and payments as credits rather than being flipped.
What image quality do I need?
A 300 dpi scan or a reasonably steady phone photo is enough. Skew and low contrast are handled. The two things that genuinely hurt are heavy JPEG compression, which blurs the difference between digits, and a page cropped so tightly that a column is cut off — nothing can recover data that is not in the image.
Can it open a password-protected PDF?
No. There is no decryption; a locked file is detected and refused rather than silently failing. Open it with your password, save a copy without one, and upload that.
What formats can I export to?
Excel (.xlsx), CSV and JSON. The Excel output is laid out for reconciliation, with debits and credits in separate columns and a totals row.
Can it read password-protected statements?
Not yet. There is no PDF decryption on our side, so a password-protected file is detected and refused rather than half-processed. Open it in any PDF reader, save a copy without the password, and convert that.
How much does it cost to try?
Signing up is free and gives you 30 pages a month. Converting needs an account.
Digital statements too
The same converter reads statements that were never scanned.
A digital PDF skips the visual pass and goes straight to extraction. You do not choose a mode — the file decides which path it takes.
Free to try · Excel, CSV or JSON out