It shows you what it found, because it might be wrong
A PDF does not contain a table. It contains glyphs at coordinates, and the table is something you infer from where they sit. This tool does that inference โ group text into rows by its vertical position, cut columns where there is a vertical gap, and take a row as a transaction when it holds a date and at least one amount โ and then it shows you the result before you download anything.
That is the whole difference between this and a converter that simply emits a file. Above, every column has a dropdown saying what the tool thinks it is, and every row is marked โ if it became a transaction, + if it was folded into the description above it, or dimmed if it was ignored. If the guess is wrong, change it: the preview and the download update immediately, without re-reading your file.
What it refuses, and why that is the point
A scanned statement โ a photograph or a fax of a page โ has no text in it at all. This tool says so and stops. It does not fall back to OCR, because OCR on a column of money means guessing whether that is a 3 or an 8, and a guessed amount in a file you will reconcile against is worse than no file. An encrypted PDF says so too, and tells you to save an unprotected copy first. Neither case produces an empty CSV with a header row, which is the failure that makes people think the conversion worked.
If you can get OFX instead, get OFX instead
A PDF is a picture of your data laid out for printing; OFX and QFX are your data. Extraction from a PDF is inference and can be wrong at the edges; reading an OFX file cannot. Most banks offer both, and the export menu is usually one click from where you found the PDF. If yours does, use the OFX and QFX converter and skip the guessing entirely. This page exists for the banks that do not.
Common questions
- Is my statement uploaded?
- No, and it cannot be. The page is a static file, the PDF is parsed in your tab by a copy of pdf.js served from this same site, and the CSV is assembled in memory and handed to your downloads folder. Disconnect from the internet and convert one: it still works.
- Why did some rows come out blank or missing?
- Usually because a column is mapped wrongly โ the tool tells you how many rows had a date but no readable amount, which is the signature of that mistake. Check the money column in the mapping table. If a row's date sits in a column of its own, mark that one as the date.
- Why is
03/04/2026sometimes the wrong day? - Because it is genuinely ambiguous, and a statement whose every date falls in the first twelve days of a month contains no evidence either way. When there is evidence โ any date with a day above 12 โ the tool uses it and ignores the dropdown. When there is not, it says so above the table rather than picking silently.
- Is anything logged?
- Your statement is not, and cannot be. The page counts itself: when it loads, and when a file is converted, it sends the number of pages, rows, columns and transactions and nothing else. No filename, no payee, no amount, no cookie. The code that sends it accepts numbers only, which is what makes that a rule rather than a promise.