Local conversionNo statement uploadEditable reviewCorrect rows before exportScanned-page fallbackLocal OCR on the first 8 pages
Built around a visible result
A predictable developer payload
StatementForge does not hide extraction behind a black box. The transaction table, warnings, totals, and destination format stay visible so you can decide whether the result is usable.
Top-level source, generation time, statement label, currency, and totals
Transaction objects with withdrawal, deposit, signed amount, and optional balance
The raw parsed line remains available for debugging and validation
Pretty-printed UTF-8 JSON generated from the review table
A review-first workflow
From source document to a file you can inspect.
01
Choose
Select a statement PDF or use the safe sample.
02
Extract
Read its text layer or run limited local OCR.
03
Review
Check and correct the transaction table.
04
Export
Generate JSON from the reviewed rows.
Honest operating limits
Financial files still deserve a human check.
Works best with downloadable text-based PDF statements. Local image-to-text can read the first 8 scanned pages and needs manual review.
Always review exported rows before importing them into accounting software.
StatementForge is not a bank integration. It converts statement files that you provide.
Where this workflow fits
Use the converter for a defined job.
Finance dashboards
Load bank statement rows into an internal reporting tool.
Custom reconciliation
Build your own matching rules on top of reviewed JSON records.
Data handoff
Share structured transactions without a spreadsheet-specific format.
Practical questions
JSON export questions
What does the JSON export include?
It includes reviewed transaction rows with statement metadata and money fields.
Is JSON available for free?
Export availability depends on the current plan limits shown in the app.
Can JSON be imported into accounting software?
Most accounting tools prefer CSV, QBO, OFX, or QIF. JSON is usually for custom workflows.
Is the PDF uploaded to create JSON?
No. Statement contents are parsed locally in the browser.