Bank statement to JSON
Upload a statement and download JSON with one object per transaction. It is the same extraction the other outputs use, in the shape a program wants rather than a spreadsheet.
Upload a file
What the JSON contains
- One object per transaction, in statement order
- Date, description, and amount as separate fields
- A balance field when the statement prints a running balance
- Plain UTF-8, no spreadsheet required to read it
How to convert
Upload the statement
PDF or CSV, as downloaded from the bank.
Keep JSON selected
JSON is already the selected output on this page.
Download the records
Consume them in code, or convert again to CSV for a spreadsheet.
Why this is more accurate than OCR
OCR reads a statement by position on the page. When a description wraps onto a second line, or the debit and credit columns sit close together, a positional parser attaches the wrong text to the wrong number.
Read by position
02/03 DIRECT DEBIT 4471
ACME INSURANCE LTD 120.00
04/03 CARD PAYMENT
NORTHGATE MARKET -38.40The wrapped line becomes a second transaction, and the amount lands on the wrong row.
Read as content
02/03 DIRECT DEBIT 4471 ACME INSURANCE LTD 120.00
04/03 CARD PAYMENT NORTHGATE MARKET -38.40One row per transaction, the description kept whole, the amount in the amount column.
Frequently asked questions
What does the JSON look like?
An array of objects, one per transaction, with the date, description, and amount of that line as their own fields, in the order the statement prints them.
Is there a JSON API?
Not yet — today the JSON comes out of the converter as a download.
Can I get CSV instead?
Yes. CSV and Excel are produced by the same extraction; only the output file differs.
Is my statement kept?
No. The file is used only to produce the result and is deleted right after.
Do I need an account?
No. It works without signing up.