Home › PDF to Excel
Bank statement PDF to Excel
To convert a bank statement PDF to Excel, drop the PDF into CSVLedger and download an .xlsx with one row per transaction (Date, Description, Debit, Credit, Amount, Balance) plus a reconciliation sheet. Dates are real Excel dates and amounts are numbers, and the totals are checked against the statement's closing balance before you download. The PDF is processed in your browser and never uploaded.
Updated October 29, 2026
Get a clean .xlsx with one row per transaction, real Excel dates, numeric amounts and a reconciliation sheet — without uploading the statement anywhere.
What the spreadsheet looks like
| Column | Contents |
|---|---|
| Date | Transaction (posting) date as an Excel date. When the statement omits the year (for example "Sep 03"), the year is taken from the statement period, including periods that cross New Year. |
| Description | The full description, with continuation lines joined. |
| Debit / Credit | Money out and money in as positive numbers in separate columns. |
| Amount | One signed column (money out negative) for formulas and imports. |
| Balance | The running balance printed on the statement, when there is one. |
| Check | "balance ok" when the row's running balance matches; "CHECK" when it does not. |
The second sheet records the opening balance, total credits, total debits, the computed and printed closing balances, the difference, and the status.
Layouts it reads
Statements put amounts in different places. The parser looks at the column headers and positions on each page and handles the common patterns:
- Separate Withdrawals and Deposits columns with a running balance.
- A single signed Amount column (with minus signs, brackets, or CR/DR markers).
- Section-based statements ("Deposits and additions", "Checks paid", "Electronic withdrawals") where the sign comes from the section.
- Day-first (DD/MM/YYYY) and month-first dates, decided by looking at all the dates in the file.
Before you rely on it
If the badge says Reconciled, the rows add up to the bank's own closing figure. If it does not, correct the highlighted rows directly in the table (click a cell to edit) and the check re-runs. You can also compare the row count with the statement.
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
Will the amounts be numbers or text in Excel?
Numbers. Amounts are written as numeric cells with two decimal places and dates as real Excel dates, so you can sum, sort and filter without converting anything.
Can I convert several statements at once?
Yes. Drop multiple PDFs and each one is converted and reconciled separately, with its own download buttons. Each file still counts towards the 10 free pages per day during the beta.
What if the statement has no running balance column?
The total check still works if the statement prints an opening and closing balance. The per-row check is only possible when a balance column exists.
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.
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.