Bank statement converter
Convert a bank statement PDF into a transaction CSV with a safety net: rows are extracted locally, unreadable pages are repaired by the model, and the running-balance chain is re-checked locally so dropped rows show up as flagged breaks.
About this tool
Banks hand you a PDF; accounting wants a table. Moving hundreds of transactions by hand is slow and error-prone, and a dropped row is invisible until the books do not balance. This converter extracts statement rows locally, page by page, and only sends pages the local pass cannot read to the model behind your own key for repair.
Then comes the safety net: the running-balance chain is re-checked for every row — each balance must equal the previous balance plus money in minus money out. Any break is flagged with its page number, so a missing or misread row surfaces immediately instead of hiding in the CSV. Layouts vary by bank, which is exactly why every flagged break is meant for a human check before you rely on the file.
How to use Bank statement converter
- Upload the statement PDF — rows are extracted locally, page by page.
- Add your provider API key in the key panel.
- Pages the local pass cannot read are repaired by the model; then the balance chain is re-checked locally.
- Download the statement CSV and review every flagged break by hand before you rely on it.
Keep the original files and inspect the exported result before publishing or sharing it.
Frequently asked questions
How do you catch dropped rows?
Arithmetic: each row’s balance must equal the previous balance plus money in minus money out. Any row where that identity breaks is flagged with its page number — a missing or misread row cannot hide.
Why does quality vary by bank?
Statement layouts differ a lot between banks, and text extraction quality varies with them. That is why the tool repairs weak pages with the model and still flags every balance break for a human check instead of claiming perfection.
Is my statement uploaded anywhere?
The PDF is parsed in your browser. Only the text of pages the local pass could not read is sent to the AI provider behind your own key.
What does the CSV contain?
One row per transaction: date, description, money in, money out, balance and the source page.
Related tools
- AI chat — Chat with OpenAI, Claude or Gemini using your own API key. Your key stays in your browser; requests go straight to the provider.
- AI summarizer — Summarize long text with your own OpenAI, Claude or Gemini API key. Brief, detailed or bullet-point summaries, all in your browser.
- AI translator — Translate text between 30 languages with your own OpenAI, Claude or Gemini API key. Private by design: key and text stay with you and the provider.
- AI writing assistant — Improve, expand, shorten or re-tone your writing with your own API key. Six editing modes, direct browser-to-provider calls.
- AI code explainer — Paste code and get a plain-English explanation using your own OpenAI, Claude or Gemini API key. Language auto-detect included.
- AI PDF chat — Upload a PDF and ask questions about it. The PDF is parsed in your browser; only the extracted text and your question go to your chosen AI provider.
- AI image analyzer — Upload an image and let AI describe it, extract text (OCR), or identify objects. Uses vision models from OpenAI, Claude or Gemini with your own key.
- AI voice generator — Turn text into natural-sounding speech with OpenAI TTS. Six voices, speed control, play in the browser and download MP3.
- AI data analyst — Upload a CSV and ask questions in plain English. The file is parsed locally; the AI sees only a schema summary and sample rows.
- AI spend analyzer — Turn your AI provider usage export into an independent cost receipt: per-model and per-day breakdowns, spike alerts and a monthly projection. Runs 100% in your browser — your billing data is never uploaded.