PDF to UTF-8 CSV

Convert a PDF bank statement to CSV.

Extract bank statement transactions into a clean CSV with predictable columns for spreadsheet and accounting imports. Review every row first.

Convert to CSV
Statement workspace

Convert your statement

PDF, PNG or JPG · up to 10 MB · no bank login required

  • Dates and descriptions
  • Debits, credits and balances
  • Excel, CSV and JSON export
Drop your bank statement here

or choose a file from your device

CLEAN IMPORT ROWS

One transaction per line, ready to map.

CSV is a practical choice when your next stop is accounting software, a spreadsheet import or a script. The converter reads a PDF bank statement or clear scan, lets you inspect extracted transactions, and downloads a UTF-8 comma-separated file with a header and one transaction per row.

Columns appear in a fixed order: Date, Description, Reference, Debit, Credit, Amount and Balance. Money-out and money-in values have their own columns; Amount is signed. Optional debit, credit and balance values missing from the source remain empty. The file contains transaction rows only, so keep the original statement for bank name, account and period context.

  • Quoted text protects commas inside descriptions
  • UTF-8 with a BOM supports common spreadsheet imports
  • Review and edit every exported field before download
TRANSACTIONS.CSV · PLAIN-TEXT PREVIEW
"Date","Description","Reference","Debit","Credit","Amount","Balance"
"2026-08-03","Office supply","POS-8094","126.42","","-126.42","6713.78"
"2026-08-05","Client transfer","ACH-14408","","2400","2400","9113.78"

Fictional example. A real export includes the rows you reviewed, including any edits you made.

CSV IMPORT CHECKLIST

Match the columns before importing.

Different accounting tools interpret dates and amounts differently. A short import check prevents avoidable cleanup later.

  1. 1. Review the source rowsCorrect dates, descriptions, references, debits, credits, signed amounts and balances in the browser table.
  2. 2. Map the target fieldsTell your receiving tool which column is the date and which is the signed Amount, or map Debit and Credit separately if it expects two fields.
  3. 3. Preview a small importCheck date order, decimal separator, sign direction and duplicates before importing an entire statement. Keep the PDF for reconciliation.
BEFORE THE IMPORT

Keep CSV simple—and verify what reads it.

The file is intentionally a small, predictable table. The importing system decides how to interpret each column.

Choose one money convention

Some tools expect a signed Amount column; others want separate Debit and Credit columns. Our CSV includes both, so map only the fields your target asks for. In the signed column, money out is negative and money in is positive. Verify a refund and a fee before importing the full file.

Check dates and identifiers

Date is a text field based on the extracted statement row. An import app may expect a different day-month order or a specific date template. Reference is also text, which helps preserve codes containing letters or leading zeroes. If your importer changes them automatically, set its field types before you confirm the upload.

Keep the statement alongside the rows

CSV does not carry worksheet tabs or statement-level fields such as bank name, currency and account ending. Keep the original PDF for that context, or download Excel .xlsx or JSON from the same reviewed result. You can compare the column definitions in the export guide before building an import mapping.

Why a preview matters

CSV has no type definitions: the receiving program decides whether a field is a date, a number or plain text. It may also interpret the same signed amount differently from your spreadsheet. Import a few representative rows first, including a fee, a credit, a reversal and a line with a blank balance. Confirm that the totals and signs match the source before applying the import to an entire period.

Descriptions are quoted so a comma inside a merchant name does not create an extra column. Cells that begin like spreadsheet formulas are escaped for safer opening in a spreadsheet; you should still treat downloaded data as untrusted input in your own workflow. If your accounting app requires a bank-specific template or additional account metadata, adjust its import mapping rather than assuming this general-purpose CSV will match every system automatically. For a workbook that keeps extracted statement details beside the transactions, use Excel .xlsx.

CSV QUESTIONS

A simple file still needs a careful import.

CSV has no built-in bank or account metadata and does not guarantee compatibility with every accounting system.

Which encoding and delimiter does the CSV use?+

The file uses UTF-8 with a byte-order mark, commas between fields and double quotes around text and numeric values. Quotes inside a field are escaped by doubling them.

Can I import it directly into my accounting app?+

Many apps accept CSV, but their required fields, dates and sign conventions differ. This is a general seven-column file. For a checked, dedicated import layout, use our QuickBooks CSV converter or Xero bank statement CSV converter.

Why are some Balance cells empty?+

Some statements omit a running balance for individual transactions. The converter leaves unavailable values blank rather than filling them with invented figures.

How do I keep account details with the data?+

Keep the source PDF alongside the CSV. If you want the extracted statement period, bank name and account ending in one download, choose Excel .xlsx or JSON after reviewing the same result.

Have a statement ready?

Convert it now