Skip to content
Account

Convert a bank statement PDF to JSON

1 credit per pageDeleted after 2 hAlso as Excel · CSV

Free account · 20 free credits. Sign up to run it.

Opening…

Drop your PDF here

or choose it from your device

PDF · up to 1 file per job

or paste it here (Ctrl+V)

Before and after

A PDF is a description of where ink goes. JSON is a description of what the rows are.

The PDF
Page 1 of a two-page current-account statement: a ruled table of dates, narrations, amounts and balances.(opens the sample PDF in a new tab)

Inside, it is only text placed on the page: “BT /F1 9 Tf 72 640 Td (01-01-2026) Tj ET…”

JSON
{"columns": ["DATE", "NARRATION", "AMOUNT", "BALANCE"],
 "rows": [["01-01-2026", "NEFT SALARY CR",
           "120,000.00", "465,120.00"], ...]}

What this tool does

This tool reads the transaction table out of a bank statement PDF and returns it as JSON rather than as a spreadsheet. The structure of the document is found from the text and positions already inside the file, tables that continue across page breaks are joined, and the result is written as an array of tables, each with its columns and its rows. Unlike the spreadsheet output, the JSON also carries what the pipeline knew but a cell in Excel cannot express: which rows were headers, which cells the reader was least confident about, and whether the grid was worked out on our own machines or sent to a model. That is the part that matters if you are going to process the file automatically, because it lets you route the uncertain rows to a human instead of trusting all of them equally.

The values in this file were read from your document by AI, and they can be wrong — check them against the original before you rely on them. Your document itself is not altered.

What happens to your file

Deleted from our servers after 2 hours. We do not train AI on your files, and the terms of our AI providers do not allow them to; they may keep request logs for up to 55 days, longer for a request they flag for abuse.

Uploads and outputs are deleted after 2 hours, whether or not you download them. Provider request logs are kept for at most 55 days. Details on the privacy page.

Questions

What happens to the statement I upload?

It is deleted from our servers after two hours, whether or not you download the result, and it is not used to train anything. While a job runs, parts of the file may be sent to the AI providers we use; they do not train on it and keep request logs for at most 55 days, longer only for a request they flag for abuse.

Is there an API, or is this the web page only?

Today this is the web page. The engine behind it is a job queue with a REST interface, so an API is a matter of opening it rather than building it, but it is not open yet and we are not going to publish an endpoint we have not committed to keeping stable.

Does the JSON tell me which values are doubtful?

Yes, and that is the main reason to prefer it over the spreadsheet. Cells the reader was least confident about are marked, so an automated consumer can hold those rows back for review rather than treating every row as equally trustworthy.

How accurate is it?

We have not published a number yet, and we are not going to quote one we have not measured. Use the per-cell confidence rather than an overall figure — it is the number that actually exists.

Will the amounts come back as numbers or as strings?

As strings, exactly as they were printed, separators and all. Parsing "1,450.00" into a number means deciding what the comma means, and that differs by locale on the same-looking statement. You know your bank's convention; we do not, so we hand you the original text.

Convert a bank statement to a spreadsheet

Tables & text out of a document

Guides and free sample files