Drop a Chase, Tide, Barclays or Monzo statement. Every running balance is checked against the next — if the numbers don’t add up, you get the broken row, not a file.
Drop a UK bank statement PDF here
or click to choose — several at once is fine
It stays in this tab. We never receive the file.
Most converters always produce something and quote an accuracy percentage. We do the opposite. A bank statement carries its own proof — every balance is the previous balance plus the transaction — so a correct read can be checked, not estimated. If a single row doesn’t chain, or the rows don’t sum to the totals the bank printed, the download buttons stay off and the row is highlighted. A wrong CSV that looks right costs you more than no CSV.
No. The PDF is opened and parsed by JavaScript running in this tab. There is no upload endpoint for it to go to. Close the tab and it is gone.
Each layout is hand-built and checked against real statements until it reconciles to the penny. We add a bank when we have a statement to verify against, not before.
Not here. Scans need OCR, which means uncertainty and, usually, a server. This tool only reads the text layer the bank itself wrote into the PDF.
Xero’s bank statement import columns: *Date (dd/mm/yyyy), *Amount (signed: money in positive, money out negative), Payee, Description and Reference. Import it under the matching bank account in Xero.
A Monzo statement PDF contains the current account followed by one section per Pot. Each is its own account with its own running balance, so each gets its own CSV; Pots are never mixed into the current-account file.