PDF bank statement converter
A PDF bank statement converter that never uploads the PDF.
Statements hold account numbers, balances and a record of everything you buy. This one reads them on your computer and shows you whether the numbers add up before you export.
- Your PDF is never uploaded
- Totals checked against the statement
- Edit any row before you export
- Free for 20 pages a day
Statement converter
Drop statement PDFs here
Bank or credit-card statements saved as PDFs from your bank's website. Several files at once are fine. The files are read inside this page and go nowhere else.
Add more statementsNo upload. This page's security policy forbids network connections, so your file cannot leave it. See how to check that yourself.
Free: CSV and Excel, 20 pages a day. Pro ($19, once): unlimited pages, merge several statements, QBO, OFX and QIF.
Upload converters versus Plainsum
| Typical online converter | Plainsum | |
|---|---|---|
| Where the PDF goes | Uploaded to a server | Stays in your browser tab |
| Can you verify that? | Only by trusting the policy | Page blocks all network access; Network tab stays empty |
| Does it check the result? | Usually no | Opening + transactions vs closing balance, shown on screen |
| Fix mistakes before export | Download and repair in Excel | Editable table with per-row confidence |
| Accounting formats | CSV or Excel | CSV, Excel, plus QBO, OFX, QIF in Pro |
| Price | Free with limits, or subscription | Free to 20 pages a day; $19 once for Pro |
How it works
Drop one or more PDFs
Text PDFs from your bank's website. Everything is parsed locally with the open-source pdf.js library, bundled with this page.
Review
Confidence marks show which rows to look at. Change a column mapping, the date order or the statement type if the first read was off.
Export
CSV and Excel are free. Pro adds QBO, OFX, QIF and multi-file merge.
Supported statement layouts
- One signed amount column, with or without a running balance
- Separate debit and credit columns (withdrawals and deposits, money out and money in, paid out and paid in)
- Credit card tables with a transaction date and posting date, and sections with subtotals
- Negatives as -12.34, (12.34), 12.34- or 12.34 DR; credits as 12.34 CR
- Dates as 01/31/2025, 31/01/2025, 31.01.2025, 2025-01-31, 31-Jan-2025 or Jan 31, and rows that show only the day and month
- Numbers as 1,234.56, 1.234,56, 1 234,56 and 1'234.56, with $ € £ symbols
- Tables that continue over many pages, with or without a repeated header row
- Descriptions that wrap over two or three lines
Not supported yet
- Scanned or photographed statements. They contain no text, and this version has no OCR. You will see a clear message rather than an empty file.
- Password-protected PDFs. Save an unlocked copy first.
- Statements that put two accounts in one table, or lay transactions out in side-by-side blocks.
If a statement from your bank does not convert well, the "Fix columns, dates or signs" panel lets you choose what each column means. The parser is built on column positions, not on bank templates, so it often recovers.
Questions
What is the difference between this and an online PDF converter?
Online converters upload your file to their servers, which means a document with your account number, balance and every purchase sits on someone else's machine. Plainsum runs in your browser and its security policy blocks network connections, so the file cannot leave the page.
What layouts can it read?
Single signed amount, separate debit and credit columns, amount plus running balance, negatives in parentheses or with a trailing minus, CR and DR suffixes, US and day-first dates, dates with month names, and 1,234.56 or 1.234,56 numbers. Multi-page tables with repeated or missing headers and wrapped descriptions are handled.
What can it not read?
Scanned or photographed statements (no text layer, no OCR in this version), password-protected PDFs until you remove the password, statements where several accounts share one table, and two-column page designs where transactions run in side-by-side blocks. The page tells you when it cannot find a transaction table.
Can it handle statements in other languages?
Column headings in English, German, French and Spanish are recognised, along with common month names. Layouts are judged by position, not by language, so many others work if the table has a date and an amount.
How accurate is it?
The accuracy check is the honest answer for your statement: if the rows add up to the printed closing balance, they are almost certainly right. In development it is run against synthetic statements in eight different layouts with known answers. That shows the approach works on those layouts, not that every bank is covered, so use the check on every statement.
Is there an API or batch mode?
No. It is a browser tool. Pro lets you load many files and merge them into one export.