Bank statement PDF to CSV
Your PDF is read in this browser tab. It is never uploaded.
This one is LedgerDrop Pro
The table below and the balance check are free and complete — every page, every row. Check that LedgerDrop read your bank properly, and then decide.
Payment is handled by Paddle, the reseller (merchant of record). 30-day refund, one per customer, if it is not what you needed.
One-time $39. No subscription, no account, nothing uploaded.
- Opening balance
- Transactions
- Closing balance
- Difference
Columns and date format
If a column came out wrong, tell LedgerDrop what it is and the table is rebuilt. Nothing is uploaded and nothing is saved.
These settings are applied to every file you have dropped. Drop statements from one bank at a time if they are laid out differently.
Leave these empty and LedgerDrop finds the period itself. Enter the first and last month — such as 2025-12 and 2026-01 — when the statement prints its dates without a year and the year came out wrong. When you enter the period by hand, check the rows against the original statement.
The column headings on this statement were not recognised, so these are the columns found from the layout of the table. Set the ones you need — Date and Amount at least — and the table is built from them.
No table could be found on this page at all, so there is nothing to map.
CSV separator — comma, semicolon or tab
QuickBooks, Xero and freee files are always comma-separated; the separator applies to the LedgerDrop layout. A freee file has no byte order mark.
File format — CSV for QuickBooks, Xero and freee, QBO, OFX, QIFPro
Saved column mappingsPro
Save what you have told LedgerDrop about this bank's columns, under a name, and put it back next month in one click. Saved in this browser only. A saved mapping holds column headings, positions and roles — never a transaction, an amount, a balance or a file name.
The JSON export is how a layout moves to another machine — there is no account to sync it through, and there is not going to be one.
Reconciliation reportPro
Where the printed running balance stops agreeing with the rows, and which rows are worth looking at first.
| Date | Description | Amount | Balance | Check# |
|---|
LedgerDrop Pro — $39 once
Free versionWhat Pro does
- A CSV for a statement of any length
- Several PDFs at once — one CSV, or a ZIP of one each
- QuickBooks Online, Xero and freee column layouts
- QBO (Web Connect), OFX and QIF files as well as CSV
- Saved per-bank column mappings, with JSON export
- The reconciliation report
What it does not do
- Read scans or photos — there is no OCR
- Upload your statement — it stays in this tab
- Make QuickBooks accept a QBO it refuses
Payment is handled by Paddle, the reseller (merchant of record). 30-day refund, one per customer, if it is not what you needed.
One-time $39. No subscription, no account, nothing uploaded. Includes all future updates to LedgerDrop Pro while the service is offered.
Free, without buying: one statement at a time, the whole preview and the whole balance check on any statement, a CSV for files of up to 3 pages, and column mapping, date order and sign rules. No account, no email. Free and Pro side by side, with questions about the key, receipts and refunds.
Your key. Copy it somewhere safe — it is not in the receipt email, and it is the only thing that unlocks this on another browser.
Copied.
How it works
LedgerDrop reads the text layer of the PDF with pdf.js, groups the text into rows by their position on the page, works out which column is the date, the description, the amount and the balance, and writes a CSV. All of that happens inside this browser tab — there is no server to send anything to. See Privacy for the technical detail.
The balance check
When a statement prints both an opening and a closing balance, LedgerDrop adds up everything it extracted and compares. If the total does not land exactly on the closing balance, something does not reconcile — a row missed, or an amount, a sign or a balance read wrongly — and the badge says so instead of handing you a file that looks fine and is not. When it does land, the rows account for the whole movement between the two printed balances — a net total rather than a row-by-row audit, so two errors of the same size in opposite directions would cancel and still report as matching. Credit-card statements move the other way, so a card statement that adds up is reported as matching too.
Why the preview is free on a statement of any length
The only question worth $39 is whether LedgerDrop reads your bank correctly, and a three-page sample of a forty-page statement does not answer it. So every page is read and every row is shown, free, along with the balance check on the whole thing. What the paid version sells is the file, not the answer. There is deliberately no "download the first three pages" of a longer statement: a bank-statement CSV that is quietly short is the exact failure this tool exists to catch.
What this free version does not do
- Write a CSV for a file of more than 3 pages, or for more than one file at a time. Both are LedgerDrop Pro; both are previewed in full first.
- Scanned statements — a photo or a scan has no text to read, and LedgerDrop does not run OCR. That is true of the paid version too.
- QBO (QuickBooks Desktop / Web Connect), OFX and QIF export are included in LedgerDrop Pro. OCR is not.