Skip to main content
PPDF123

Turn a Bank Statement PDF into CSV

Bank Statement PDF to CSV reads the transaction table of a statement PDF into rows and columns, lets you check and correct them, and saves them as a CSV file. Empty debit or credit cells keep their column, and every figure should be verified against the statement.

Drag and drop files here, or click to choose

Accepts PDF · up to 500.0 MB per file · up to 20 files at once

You can also paste a file with Ctrl/Cmd+V, or from the clipboard menu.

Document languages
Pick up to 4. Fewer languages read faster and more accurately.

A statement table usually has a date, a description and money columns such as debit, credit and balance. The tool reads that table from the PDF's text positions and keeps each amount under its own heading: a row that has a debit but no credit leaves the credit cell empty rather than shifting the balance into it. The result opens in a grid first, so you can fix a row before saving the CSV.

Statements vary by bank and by year, so check the result against the original rather than trusting it. Compare the opening and closing balance and a few transactions. A description that wraps onto a second line can become its own row; the merge button in the grid folds it back into the row above. Amounts in parentheses, with a trailing minus or marked CR or DR are kept exactly as printed, because they are text in the PDF.

A statement that runs over several pages comes out as one table, and the header row that repeats on each page is dropped. If the layout changes from page to page the parts stay separate and arrive in the CSV ZIP as one file each, which you can append in a spreadsheet. If the statement is a scan or a phone photo saved as PDF, leave OCR on and pick the language; scanned figures need a careful check. Files are processed on the server and deleted afterwards, and no account is needed.

Features

  • Date, description, debit, credit and balance kept in separate columns
  • Empty debit or credit cells stay in place
  • Grid to correct rows and merge wrapped descriptions before saving
  • CSV with quoted values; a statement that runs over several pages is one table
  • OCR option for scanned statements

When to use this tool

  • Importing a month of transactions into a budgeting spreadsheet
  • Preparing statement data for bookkeeping or an accountant
  • Searching and filtering transactions that are locked inside a PDF

How do I convert a bank statement PDF to CSV?

  1. Upload the statement PDF and enter the pages with transactions if you want to skip cover pages
  2. Keep OCR on if the statement is a scan, and pick its language
  3. Click Process and compare the grid with the statement
  4. Fix any row, then download the CSV

Limits and edge cases

  • Layouts differ between banks; always check balances and a sample of rows
  • A wrapped description becomes its own row; merge it into the row above in the grid
  • Scans and photos are less exact than a text PDF: verify every amount

Test results and conditions

  • Test files: synthetic one-page PDFs generated for this project's test suite, not real customer documents. A statement table with 12 data rows and date, description, debit, credit and balance columns was extracted with all 65 cells correct, including the empty debit and credit cells.
  • A scan of that statement (200 dpi, light blur and noise, 0.4 degree skew) was read with 98.5 percent of cells correct. Real bank layouts and scans vary, so compare balances before using the data.
  • A 3-page statement made for the test suite: 90 transactions, a header repeated on every page, and descriptions that wrap onto up to three lines. It came back as one table across pages 1-3, the header kept once, and all 90 transactions had their date, debit, credit and balance in the right columns. The wrapped description lines arrived as extra rows, which the merge button folds back.

Privacy for this tool

Files are uploaded over HTTPS, processed in memory or a short-lived temporary directory on our servers, and deleted when your result is ready. We do not keep copies for later browsing, training, or advertising profiles. See the Privacy Policy for retention details and AdSense cookie disclosures.

Frequently asked questions

Will it work with my bank's statement?
It works on statements whose transactions line up in columns in the PDF text. Layouts differ, so run it, open the preview and compare it with the original before using the data.
Why is a description split over two rows?
A wrapped line is read as its own row. Use the merge button on that row to fold it into the one above.
Are negative amounts converted to numbers?
A leading minus is kept as printed. Amounts in parentheses or with CR or DR remain text, so convert them in your spreadsheet if you need arithmetic.
Is it safe to upload a statement?
The file is processed on the server and deleted afterwards, and no account is required. Read the file privacy page if your policy needs more detail, or self-host the service.

Last updated:

Call this from code

Every tool on this site is a plain REST endpoint - no account or API key needed for anonymous use. Built for AI agents and developers as much as for browsers.

curl -X POST "https://pdf123.xyz/api/v1/convert/pdf/tables" \
  -F "[email protected]" \
  -F "pageNumbers=all" \
  -F "ocr=auto" \
  -F "languages=eng" \
  -o output.pdf

Also available as an MCP tool for agent clients that speak Model Context Protocol (JSON-RPC 2.0 over POST /mcp). Full API reference

Use it from an AI agent

Skill

Claude Code, Codex, Cursor and other AI agents can run Extract Tables from PDF for you with this skill: /skills/pdf123-pdf-to-tables.md

All agent skills

Files are used only for this processing job and deleted automatically afterward.