Convert a PDF Bank Statement to CSV

Upload a statement from any bank and download a clean CSV file — one row per transaction, ready for Excel, Google Sheets or your accounting software.

How do I convert a PDF bank statement to CSV?

Upload the PDF statement to the converter on this page and download the CSV it produces. Each transaction becomes one row with date, description, amount and running balance in separate columns. It works with statements from any bank, including scanned PDFs, and the first 50 pages every month are free with no credit card.

PDF to CSV in four steps

  1. 1

    Download the statement PDF

    Save the statement from your bank's online banking or app. Text-based PDFs give the fastest result; scanned or photographed statements work too.

  2. 2

    Upload it here

    Drop the PDF into the upload box below. No account is needed for the demo, and the file is deleted automatically within 14 days at the latest.

  3. 3

    Check the result

    Every row is checked against the running balance printed on the statement, and opening balance plus transactions is compared with the closing balance. Rows that don't add up are flagged.

  4. 4

    Download CSV

    Pick CSV (or Excel / JSON) and import the file into the tool you use — spreadsheet, accounting software or your own script.

Try it now — convert your statement to CSV

Drop PDF here or click to upload

Max 20 MB · Text-based or scanned PDF

What the CSV file looks like

The file starts with a single header row followed by one row per transaction. There are no page headers, footers, summary boxes or blank lines in between — the kind of clutter that breaks imports when you copy text out of a PDF by hand. The exact columns depend on what your statement prints; a typical file looks like this:

datevalueDatedescriptionprocessNoamountbalance
2026-09-012026-09-01SALARY SEPTEMBERTRN0004123200.004950.00
2026-09-032026-09-03CARD PAYMENT GROCERY STORETRN000419-86.404863.60
2026-09-052026-09-06TRANSFER TO SAVINGSTRN000433-500.004363.60

Sample data. valueDate and processNo only appear when the statement contains them.

  • Amounts are signed: money in is positive, money out is negative — one column instead of separate debit and credit columns.
  • Numbers are plain values with a dot as the decimal separator and no currency symbol or thousands separator.
  • Fields are comma-separated and quoted, so descriptions that contain commas stay in one column.
  • The file is UTF-8 with a byte-order mark, so Excel shows accented and non-Latin characters correctly.

Importing the CSV into accounting software

Most accounting and bookkeeping tools — QuickBooks Online, Xero, Zoho Books, Sage, Wave, FreshBooks and many regional products — have a bank statement or bank transaction import that accepts CSV. The flow is nearly always the same:

  1. Open the bank account in your accounting tool and choose the option to import or upload a statement file.
  2. Select the CSV and tell the importer that the first row is a header.
  3. Map the columns: date → Date, description → Description/Payee, amount → Amount. If the tool wants separate money-in and money-out columns, see the formula below.
  4. Choose the date format that matches the file, preview the rows and confirm.
  5. Only import date ranges that are not already in the ledger (for example via a live bank feed), otherwise you will create duplicates.

If your software insists on separate debit and credit columns, add two columns in Excel before saving: Credit =IF(E2>0,E2,"") and Debit =IF(E2<0,-E2,"") (assuming the amount is in column E). Our QuickBooks and Tally guides walk through those two tools step by step.

Delimiter, date and number format notes

  • Everything in column A? In regions that use a comma as the decimal separator (much of Europe, Turkey, Latin America), Excel may expect semicolons when you double-click a CSV. Open it with Data → From Text/CSV instead and choose comma as the delimiter — or download the .xlsx version, which needs no delimiter at all.
  • Dates are written year-first (YYYY-MM-DD), which is unambiguous. If your importer only accepts MM/DD/YYYY or DD/MM/YYYY, pick the matching option in the import screen, or reformat the date column in Excel and save as CSV again.
  • Re-saving in Excel can change things: it may rewrite dates in your local format and drop leading zeros from reference numbers. Import the original file when possible.
  • Amounts never carry currency symbols, so a multi-currency statement keeps its amounts as printed — note the account currency when you import.

CSV, Excel or JSON — which should you pick?

  • CSV — the universal import format for accounting software, databases and scripts.
  • Excel (.xlsx) — best when a person will review, filter or build pivot tables; no delimiter or encoding issues.
  • JSON — for developers; the same structured data is available directly from the REST API for automated pipelines.

Frequently asked questions

Can I convert a PDF bank statement to CSV for free?

Yes. The first 50 pages every month are free and no credit card is required. You can try the demo on this page without an account. Paid plans start at $25/month for 500 pages if you need more.

Why not just download a CSV from my bank?

Many banks only offer CSV exports for a limited recent period, and older statements are often available only as PDFs. Accountants and clients also tend to share PDF statements. Converting the PDF gives you CSV for any period you have a statement for.

Does it work with scanned statements?

Yes. Statements without a text layer are processed with OCR. It takes a little longer than a digital PDF, and the same running-balance check flags any row that doesn't add up.

My CSV opens with everything in one column. What's wrong?

Your Excel is probably set to a semicolon list separator. Use Data → From Text/CSV and choose comma as the delimiter, or download the Excel (.xlsx) file instead.

How do I know the CSV is accurate?

Every extracted row is checked against the running balance on the statement, and the opening balance plus all transactions is compared with the closing balance. Rows where the chain breaks are flagged so you can compare them with the PDF.

Can I convert many statements at once?

After signing up you can upload statements from the dashboard, and developers can automate bulk conversion with the REST API, which returns the same data as JSON.

Is my statement stored?

Only briefly: the PDF is deleted automatically within 14 days at the latest, and it is never used to train AI models.

Related tools and guides

50 pages free every month

Create a free account — no credit card. Need more? See the plans.