Turn any document into structured data

PDF to JSON

Read a PDF page by page and get clean JSON in the shape you define — text-based exports and scanned PDFs alike.

What goes in

Single or multi-page PDFs, whether generated by software or scanned from paper.

  • Every page read, with page numbers kept against each value.
  • Tables become arrays of line items, not one block of text.
  • Each field links back to where it was found, so you can check it.

What comes out

{
  "source": {
    "file_name": "supplier-statement-sep.pdf",
    "pages": 3,
    "type": "pdf"
  },
  "document_type": "statement",
  "account": {
    "supplier": "Vermeer Materialen BV",
    "account_number": "NL-44192"
  },
  "period": {
    "from": "2026-08-01",
    "to": "2026-08-31"
  },
  "currency": "EUR",
  "entries": [
    {
      "page": 1,
      "date": "2026-08-04",
      "reference": "INV-90211",
      "amount": 1840.5
    },
    {
      "page": 2,
      "date": "2026-08-18",
      "reference": "CRN-00412",
      "amount": -212
    }
  ],
  "closing_balance": 1628.5
}

How it works

  1. 01

    Upload a file or take a photo. PDFs, photos and scans all work, up to 100 MB on paid plans.

  2. 02

    Formalini reads it and fills your template, or proposes a structure from the document itself.

  3. 03

    Check the values against the page, then export the JSON or send it onwards by API or webhook.

Common questions

Does it work on scanned PDFs with no text layer?

Yes. Scanned pages are read as images, so a PDF made from a photocopier works the same way.

How large can the file be?

Up to 100 MB on paid plans. The free no-sign-up demo takes the first three pages of a file up to 10 MB.

Related pages