Turn scanned bank statements into Excel
Photos and scanned PDFs are read by OCR inside your browser. The running balance then tells you which rows were read correctly and which need a second look.
A scan is only pixels
A scanned statement has no text to copy. Reading it takes optical character recognition (OCR), and OCR makes small mistakes: a decimal point disappears so 82.49 becomes 8249, a thousands separator drops, a 5 turns into a 6. In a table of money, those mistakes are expensive, which is why most OCR tools leave you to check every line yourself.
OCR plus arithmetic
Tallyscope runs the OCR engine (Tesseract, compiled to WebAssembly) in your browser tab, then checks the result against the statement's own arithmetic. If each row's amount and the printed running balance agree, the row is proven. Where they disagree, the page is re-read with other OCR settings, only for the pages involved, and the best-reconciling result wins.
When a number's digits are exactly the digits the running balance requires, only a lost decimal point or separator, Tallyscope restores it and tags the row as repaired. A repair is made only when the arithmetic proves it; anything else is offered to you, never applied silently. Rows that cannot be proven stay flagged and the statement shows Needs review rather than a guess.
Crooked, rotated and phone photos
Pages scanned upside-down or sideways, or marked as rotated in the PDF, are turned upright automatically. Skew is corrected before reading. You can upload JPG, PNG, WebP, BMP, GIF and TIFF images as well as scanned PDFs, so a phone photo of a printed statement is a valid input. Several pages and several files are read in parallel, using a small pool of OCR workers sized to your device, and a page that stalls the engine for 90 seconds is abandoned and read again with another setting.
Languages
The English model is bundled with the site. If you tick another OCR language in Settings, its model file is downloaded once from a public CDN (jsDelivr); that is the only extra download, and it contains no statement data. Column headers are understood in about 15 languages, and Arabic text is restored to logical order.
What to expect
- Good scans (straight, sharp, 200 dpi or better) usually reconcile fully.
- Poor scans: heavy blur, glare or very low resolution can leave rows wrong. Those rows are flagged. We do not publish an accuracy percentage because it depends entirely on your scan.
- Dates cannot be proven by arithmetic, so a misread day is not always detectable. Check dates on any statement you will rely on.
- Speed: OCR in a browser is slower than a server. A multi-page scan takes a while; the page shows progress.
Then export
When the statements look right, export to Excel (Day pass or Pro) or CSV (free, first 25 rows). The workbook has Transactions, Statements and Summary sheets. See PDF to Excel for the sheet layout, and bank statement OCR for more on the engine and its limits.
The scan never leaves your device: here is how that works. Open Tallyscope and add a scan.
Frequently asked questions
Can I use a photo from my phone?
Yes. JPG, PNG, WebP, BMP, GIF and TIFF images are accepted, and rotated or skewed pages are corrected automatically.
Is my scan uploaded for OCR?
No. The OCR engine runs in your browser tab. Only a non-English language model, if you choose one, is downloaded.
How accurate is the OCR?
It depends on the scan, so we publish no percentage. What we do guarantee is that unproven rows are flagged and the status does not claim more than the arithmetic shows.
Does it fix OCR errors?
Only when the digits equal what the running balance requires; those rows are tagged repaired. Other suggested fixes need your click.