How it works
The short version: your statement is read by JavaScript running in this page, on your own machine, and never travels anywhere.
A PDF does not contain a table
This is the part that surprises people. A PDF stores instructions like "draw the text 84.12 at coordinate x=412, y=380". The neat table you see is an illusion produced by putting glyphs in tidy positions — there are no rows, no columns, and no cells anywhere in the file.
Rebuilding the table means reading every fragment of text with its exact position, grouping fragments that share a baseline into rows, and then finding the vertical corridors of blank space that no text crosses. Those corridors are the column boundaries. When a statement draws its own grid lines, those lines are used instead, because a line the bank drew beats any inference from whitespace.
Why the balance column matters
A conversion can look perfect and still be wrong. An amount lands one column over, a description that wrapped onto a second line becomes a phantom transaction, a page break swallows a row. In a file of three hundred rows, none of that is visible by eye.
But a statement carries its own proof: each balance must equal the previous balance plus that row's movement. Walking down the balance column and checking that arithmetic turns "here is a file" into "here is a file that reconciles". When every row adds up, the converter says so. When a row doesn't, it is highlighted rather than quietly handed to you.
Scanned statements are refused on purpose
If your PDF is a scan or a photograph, there is no text to read — only an image of text. Extracting it would need character recognition, and recognition reliably confuses zero with the letter O, one with l, five with S, and loses decimal points.
In a bank statement a single wrong digit is worse than no answer, because it looks like an answer. So a scan is reported as unsupported instead of being guessed at. Download the statement PDF from your bank rather than scanning a printed copy and it will convert.
How to confirm nothing is uploaded
Don't take our word for it — the claim is checkable in about ten seconds. Load this site, then turn off your wi-fi or pull the network cable, and convert a statement. It works, because everything needed is already in the page.
If you prefer to watch it directly, open your browser's developer tools, go to the Network tab, and convert a file. You will see no request carrying your document, because there is no server on the other end to receive one.
What we keep
Nothing about your statements, because they never arrive here. The site itself records ordinary web server logs — page requested, time, browser — with the last part of each IP address removed before anything is written down. There are no cookies, no analytics scripts, and no account to create.