How the PDF to CSV converter works.
A step-by-step explanation of how StatementCSV extracts your bank transactions — entirely in your browser, with zero data sent to any server.
Try it now — it's freeStep-by-step process
Upload your PDF bank statement
Drag and drop your PDF into the upload area, or click "Browse files" to select it from your computer. You can upload up to 10 files at once — useful if you want to combine multiple months into a single CSV export.
The tool only accepts PDF files. Images (JPG, PNG) or scanned PDFs that are purely image-based will not yield results, as no machine-readable text is present.
PDF.js extracts the raw text
Once you click "Convert to CSV", Mozilla's open-source PDF.js library reads the document entirely inside your browser. It extracts every text element from every page, preserving the positional layout so transactions can be detected accurately. Nothing is sent to any server at any point.
Transaction heuristics detect rows
The parser scans each line for common date formats (MM/DD/YYYY, DD-MM-YYYY, Month D YYYY, etc.) and monetary amounts. Lines matching both patterns are classified as transaction rows. The parser then separates the description, debit, credit, and balance columns based on position and value patterns common across major bank formats.
Preview and download
A preview table shows you the first 10 extracted transactions so you can verify the output before downloading. When ready, click "Download CSV" to save a .csv file with all transactions. The file is formatted for maximum compatibility with Microsoft Excel, Google Sheets, QuickBooks, Xero, and any other tool that accepts standard CSV.
Extracted CSV fields.
The output CSV includes these standardized columns, regardless of how your bank formats its statement.
| Field | Column name in CSV | Notes |
|---|---|---|
| Date | Date | Normalized from various formats. Check your statement if dates appear unexpected. |
| Description | Description | Merchant name, transfer reference, or memo as printed on the statement. |
| Debit | Debit | Money leaving the account. Blank if not applicable for that row. |
| Credit | Credit | Money entering the account. Blank if not applicable for that row. |
| Balance | Balance | Running balance after transaction, when available on the statement. |
Supported banks & institutions.
The converter works with any text-based PDF bank statement. Below are banks we've tested. If your bank issues a readable PDF, it will work.
Where can I use the CSV output?
The exported CSV follows the RFC 4180 standard, making it compatible with all major tools.
Microsoft Excel
Open directly or import via Data → From Text/CSV
Google Sheets
File → Import → Upload your CSV
Apple Numbers
Open directly — fields detected automatically
QuickBooks
Import bank transactions using the CSV template
Xero
Bank statement import supports standard CSV
FreshBooks
Upload under Accounting → Bank Accounts → Import