Drop the PDF your bank gave you. This tab reads it, checks every row against the running balance and hands you a spreadsheet. The statement never leaves this computer.
A real page from a business checking statement, and the sheet you get back.
No column headings were found, so the columns were identified from the running balance alone. Check a few rows before you rely on it.
| Date | Description | Debit | Credit | Balance |
|---|
They are already read and checked in this tab. A pass unlocks every row of every file you convert over the next 7 days, in this browser — and on any other once you sign in.
The workbook carries a second sheet, Warnings: every row whose balance does not follow from the row above, with the balance your statement shows next to the one the arithmetic expects. It says so plainly when there is nothing to check.
It opens in this tab, like a file in a desktop app. Nothing is sent.
Text PDFs are parsed directly; scans go through OCR — also here, in WebAssembly.
Each balance is recomputed from the one before. Rows that do not follow are flagged, not hidden.
Save .xlsx or .csv in the column layout your accounting software imports.
Open DevTools with F12, switch to Network, then drop your PDF. The page's own files load once; after that the list stays empty.
| Name | Status | Type | Size |
|---|---|---|---|
| bank-statement-to-excel | 200 | document | 14.2 kB |
| site.css | 200 | stylesheet | 9.8 kB |
| statement.js | 200 | script | 61.3 kB |
| pdf-engine.wasm | 200 | wasm | 1.9 MB |
| ▼ statement_2026-03.pdf dropped · 14:02:11 | |||
| 5 requests · 2.0 MB at page load · then 0 requests carry your statement | |||
requests after the file was dropped — read, reconciled and exported without a single network call.
Something else? Write to support@ocrsnip.com.
Yes. The page downloads its own code once — including a PDF reader and an OCR engine compiled to WebAssembly — and then works on the file inside this tab. You can confirm it in DevTools on the Network tab, or by going offline after the page has loaded: everything still works.
Any bank whose statement lists transactions in a table with a running balance, which is most of them. There are no per-bank templates to fall out of date: the reader finds dates, amounts and balances by layout, and the reconciliation tells you if it got something wrong.
Yes. Scans and phone photos saved as PDF go through OCR, also in the browser. It is slower and less certain than a text PDF, so amounts that do not fit the running balance are highlighted for you to check against the paper. A scan is read in English unless you say otherwise: the picker sits in the drop zone and covers eleven languages, including a pair such as English + German for a statement that mixes both. Change it after reading a scan and the same file is read again straight away — no need to find it a second time.
Yes. Drop the locked PDF and the page asks for the password, the way your PDF reader would. It is used in this tab to open the file and then forgotten: it is not sent anywhere, not saved in the browser, and never written into the spreadsheet. A year of statements locked with the same password is asked once, not twelve times — and if you would rather not type it, skipping the file leaves everything else intact.
It is highlighted, with the figures as they were read. Compare it with the PDF: most often a transaction was split across a page break or a fee was printed in the margin. Everything not highlighted was verified by arithmetic, so you only check the few rows that need it — usually against the invoice or receipt behind the payment. If that document does not exist yet, iznkit will make the invoice or receipt as a PDF, free and without an account.
A payslip is read on its own page, but not checked the same way: a statement carries a running balance, so every row can be proved against the one above it, and a payslip carries no such chain. The figures come back as cells; the arithmetic is payroll's to answer for.
Reading, checking and viewing every row is free. Downloading the first 25 rows of each statement is free. A $4.99 pass unlocks every row of every file for 7 days — one payment, no subscription, no account.
QuickBooks Online and Wave import a single signed Amount column, so choose QuickBooks · Wave. Xero expects its own statement layout, so choose Xero. Full detail keeps the statement's five columns for your own spreadsheets. Dates are written yyyy-mm-dd in every preset, which no import wizard can read backwards.
The reader is the same on every page. What differs is the document: five of the statements people drop here most often, and what each one does to the balance check.