PDF to JSON converter — structured export

PDF to JSON converter that returns the data itself — not positional text fragments. Drop a PDF, pick a template or describe the schema, and get JSON with numbers as numbers, dates as ISO strings, and arrays for line items.

Drop a PDF or image here, or browse
PDF or image · up to 20 MB
Processed in-flight — never stored on our servers.

What should we pull from this pdf?

Or pick specific fields

Or describe it yourself

Why this matters

Most PDF-to-JSON converters return a tree of text positions and font info — useless to anyone who actually wants the data. ExtractFox returns the data itself: fields the way you'd model them in your own application, ready to insert into a database or pipe to an LLM. ETL pipelines that call pdfplumber get back a mess of text spans with x/y coordinates — someone still has to write heuristics to find invoice totals buried on page 3. LLM workflows feeding document chunks as flat strings lose the structure that makes RAG useful: you can't query line_items[3].amount when every PDF becomes one unstructured blob.

How it works

  1. Step 1
    Upload your PDF

    Native, scanned, image-based, multi-page — all work.

  2. Step 2
    Pick a template or describe the schema

    Use a prebuilt schema (invoice, statement, contract) or describe the fields in plain English. ExtractFox infers the JSON shape and returns it stably.

  3. Step 3
    Download or POST to your API

    Download as .json, or hit the REST API to wire extraction into your backend.

Common use cases

Document data into a database — invoices, contracts, statements as rows
Pipeline input — feed structured doc data to a downstream LLM
API integration — extract once, push to many systems
Knowledge graph construction — entities and relations from documents
Audit trails — store the structured extraction alongside the original PDF
Webhook ingestion — POST a PDF, get typed JSON back for your event-driven pipeline
LLM grounding — feed structured doc fields instead of raw text chunks to downstream agents

Sample output

Example: invoice extracted as JSON

vendorAcme Supplies Ltd.
invoice_numberINV-00284
issue_date2026-04-12
due_date2026-05-12
currencyUSD
subtotal232
tax46.4
total278.4
line_items
descriptionquantityunit_priceamount
A4 paper, 80gsm, 500 sheets124.554
Toner cartridge, black289178

Frequently asked questions

How do I extract structured JSON from a PDF?+

Upload the PDF here, choose a template or describe the schema you want, and download the JSON. Numbers come through as numbers, dates as ISO strings, lists as arrays.

Is the JSON schema stable across runs?+

Yes. Within a given template (or a given description), field names and types are stable, so you can write code against the output and trust it across documents.

Can I provide my own schema?+

On the paid plan, you can POST a JSON Schema (or Zod schema in TypeScript) along with the PDF, and the response will conform to it.

How is this different from pdf.js or pdfplumber JSON output?+

Those libraries return positional text and layout metadata — useful if you're building a viewer, useless if you want the data. ExtractFox returns the data itself, in the shape you'd model it in your application.

Can I get one JSON object per PDF, or one row per record?+

Both. By default you get one object per PDF, with arrays inside for repeating records. For batch processing many PDFs (one row per file), wrap multiple calls and concatenate the results.

Can I nest arrays inside the JSON — e.g., line items under an invoice header?+

Yes. Repeating records come back as arrays nested under the document-level fields — line_items[], transactions[], clauses[]. Numbers are numbers, dates are ISO strings.

Does the JSON handle Unicode and special characters in field values?+

Yes. Output is valid UTF-8 JSON with proper escaping for quotes, newlines, and non-ASCII characters. Vendor names in Cyrillic or CJK import cleanly into Postgres and MongoDB.

How do I convert PDF to JSON?+

Upload the PDF here, choose a prebuilt schema (invoice, bank statement, contract) or describe the fields you want, then download .json. One object per document with nested arrays for repeating rows.

Is there a PDF to JSON API?+

Yes — POST to /api/extract on a paid plan with mode=custom or a prebuilt schemaId. See /developers for auth; this page is the free browser converter.

How does this compare to PDF to JSON in Python (pdfplumber)?+

pdfplumber returns text spans and coordinates — you still write heuristics to find fields. This converter returns application-ready JSON: vendor, line_items[], totals — the shape you'd model in your own code, not a layout tree to parse.

Is this a free PDF to JSON converter?+

Yes — convert PDF to JSON free in the browser with no signup for your first extraction. Download the .json file or upgrade for API access and higher monthly volume.

Compare to alternatives

Related extractors

From the blog