Skip to main content
StatementCSV

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 free

Step-by-step process

  1. 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.

  2. 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.

  3. 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.

  4. 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.

FieldColumn name in CSVNotes
DateDateNormalized from various formats. Check your statement if dates appear unexpected.
DescriptionDescriptionMerchant name, transfer reference, or memo as printed on the statement.
DebitDebitMoney leaving the account. Blank if not applicable for that row.
CreditCreditMoney entering the account. Blank if not applicable for that row.
BalanceBalanceRunning 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.

ChaseBank of AmericaWells FargoCitibankCapital OneHSBCUS BankPNC BankTD BankTruistRegions BankBarclaysSantanderBBVADeutsche BankLloydsNatWestMonzoRevolutStarling BankFirst DirectCommonwealth BankANZWestpacNABICICI BankHDFC BankSBIAxis BankDBSOCBCUOBMaybankCIMBStandard CharteredNedbankFNBABSACapitecMTN Mobile MoneyKeyBankAlly BankMarcus by Goldman SachsChimeSoFiBMORBCTD Canada TrustScotiabankCIBC+ many more

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

Ready to try it?

Free, no sign-up, results in seconds.

Convert PDF to CSV