Ready
Extracted transactions
No file selected
Select a local PDF or run a sample to preview CSV extraction.
Detection
Text layer -
Rows 0
Class -
Confidence 0
Result notes
Local parser is idle.

Built around a no-upload promise

This browser tool focuses on selectable-text PDF bank statements. It reads local PDF text, maps rows to CSV, and tells the user clearly when OCR would be needed.

How do I convert a PDF bank statement to CSV?

Choose a local text-based PDF, review the extracted rows and balance warnings, then download the CSV.

Is my bank statement uploaded?

No. The selected PDF is read in this browser session; this page has no server upload, account, or storage flow.

Does it work with scanned PDFs?

No. Scanned and image PDFs need OCR, which is intentionally outside this no-upload mode.

Local text extraction

The parser looks for selectable PDF text, dates, amounts, debit or credit columns, and running balances without sending the document to a server.

Reviewable CSV output

Rows are shown before download, with balance checks and warnings so the user can inspect the result before using it elsewhere.

Clear OCR boundary

Scanned or image PDFs need OCR. OCR is intentionally outside this privacy-first mode because it can require heavier processing or upload.

The current tool does not upload, store, OCR, connect to a bank, or ask for an account. Future OCR mode should be separated clearly because it has a different privacy tradeoff.
Why not support every PDF?

Bank statements vary heavily. This test is deliberately narrow so accuracy, privacy, and failure messages can be judged before broadening support.

What usually works best?

PDFs downloaded directly from online banking often contain selectable text. Phone photos, screenshots, and scanned statements usually need OCR.

What happens to private data?

The selected PDF stays in your browser session. CSV output is created locally from extracted text and downloaded by you.