Convert bank statement PDFs to Excel — checked to the cent
CSVLedger converts text-based PDF bank and credit card statements to Excel, CSV, QuickBooks (QBO) and Xero CSV inside your browser, so the statement is never uploaded. Every result is reconciled: opening balance + credits − debits must equal the printed closing balance to the cent. It is free during the beta for 10 pages per day per browser, with no account.
Updated October 29, 2026
Drop a PDF bank or credit card statement. CSVLedger extracts every transaction in your browser, checks the totals against the balances printed on the statement, and exports Excel, CSV, QBO or Xero CSV.
Why accountants check the totals
A converted statement is only useful if it is complete. A single missed row or a debit read as a credit means the books will not reconcile later, and the error is expensive to find. Most converters give you a spreadsheet and leave the checking to you. CSVLedger does the arithmetic first and shows the result as a badge:
- Reconciled — the extracted transactions add up exactly to the closing balance on the statement.
- Does not reconcile — the difference is shown, and rows whose running balance does not match are marked in red so you can go straight to the problem.
- Not verified — the statement prints no opening or closing balance, so there is nothing to check against.
Read the full method on how we check accuracy.
Export formats
Excel (.xlsx)
Real dates and numbers (not text), a Debit/Credit/Amount/Balance layout and a second sheet with the reconciliation.
PDF to Excel →CSV
Plain UTF-8 CSV with your choice of date format, plus a 3-column file in the layout QuickBooks Online accepts.
PDF to CSV →QBO (Web Connect)
An OFX 1.02 file for QuickBooks "Upload from file", for bank and credit card accounts.
PDF to QBO →Xero CSV
Single signed Amount column with Payee, Description and Reference, matching Xero's statement import fields.
PDF to Xero →Private by design
Bank statements contain account numbers, salaries and client names. Instead of asking you to trust a server, CSVLedger avoids having one in the path: the PDF is read by your own browser and the export files are generated there too. Details are on the security page.
What it does not do (yet)
- Scanned or photographed statements (no text layer) — OCR is planned.
- Accounts, saved history or team sharing.
- Direct sync into QuickBooks or Xero — you download a file and import it (see the QuickBooks and Xero guides).
Bank-specific download formats
Before converting, check whether your bank already offers the file you need and how far back: US bank statement format guide (Chase, Bank of America, Wells Fargo, Citi, Capital One, U.S. Bank, PNC, Truist, TD Bank (US), American Express, Discover, Chime, Ally Bank, SoFi).
Frequently asked questions
Is my bank statement uploaded to a server?
No. The PDF is opened and converted by JavaScript running in your browser tab (using Mozilla's open-source pdf.js library). The file is not sent to CSVLedger or anyone else. You can confirm this in your browser's developer tools: the Network tab shows no request containing your file.
How do I know the conversion is correct?
Every conversion is checked against the statement itself: the opening balance plus credits minus debits must equal the closing balance printed on the statement, to the cent. If the statement prints a running balance, each row is checked too, and rows that do not match are highlighted in red. If the check fails you see it before you download anything.
Which banks are supported?
There is no fixed bank list. The parser reads the table structure of the statement (dates, descriptions, amount and balance columns) rather than using one template per bank. We have not tested every bank's layout, which is why each result is reconciled: if a layout is read wrongly, the totals will not match and you will see a red warning.
Does it work with scanned statements?
Not yet. CSVLedger currently reads PDFs that contain real text (the kind you download from online banking). Scanned paper statements and photos are images with no text layer; OCR support for them is planned but not available. The converter detects a scanned file and tells you instead of producing a wrong result.
Is it free?
During the beta you can convert up to 10 pages per day in each browser without an account. Paid plans with higher limits are planned but not on sale yet; see the pricing page.