Convert a Bank Statement PDF to JSON
The JSON download holds the statement summary and every extracted transaction in one file, so scripts and spreadsheets-as-code can read it directly. Amounts are strings with exact decimals, so no floating-point rounding is introduced.
Drop your statement PDF here, or browse
PDF up to 50 MB and 200 pages · Free for statements up to 5 pagesWhat is in the JSON file
- schema_version, so your code can detect changes to the layout.
- statement: opening and closing balance, total credits, total debits and the reconciliation status computed from the whole statement.
- transactions: date (ISO yyyy-mm-dd, or null if it could not be read exactly), date_as_printed, description, reference, debit, credit, balance and currency.
- Money values as decimal strings such as "2450.00", or null where the statement had none.
Example (synthetic data)
{
"schema_version": 1,
"account_type": "bank",
"statement": {
"opening_balance": "4200.00",
"closing_balance": "6565.80",
"total_credits": "2450.00",
"total_debits": "84.20",
"reconciliation_status": "matched"
},
"transactions": [
{
"date": "2026-10-02",
"date_as_printed": "10/02/2026",
"description": "CLIENT PAYMENT ACH",
"reference": null,
"debit": null,
"credit": "2450.00",
"balance": "6650.00",
"currency": null
}
]
}When you get this file
- Any statement from which at least one transaction was extracted.
When it is not offered
- A statement with no extractable transactions is not converted at all, so there is nothing to export.
- The date field is null when a printed date cannot be turned into an exact calendar date; date_as_printed still holds the text from the statement.
How to use it
- Convert your statement and check the free preview.
- Unlock the download and choose JSON.
- Read the file with any JSON parser and parse the money strings with a decimal type.
JSON export: common questions
No. One payment or free claim unlocks every format that exists for your conversion: Excel, CSV and any of the formats below that could be built for your statement. You can see which are available on the download screen.
Many JSON parsers read numbers as floating-point values, which cannot represent every decimal amount exactly. Strings keep the exact value; convert them with a decimal type in your own code.
It includes the statement summary and the reconciliation status next to the transactions. The Excel and CSV files keep the statement’s own columns, while the JSON uses a fixed set of fields.
Sources
- PDFtoRow JSON export: code and automated tests (pdftorow.com, checked 2026-10-29) — The layout is defined by PDFtoRow’s own export code. Tests check that every transaction is present, that totals match the validated statement, and that the file reads back correctly.