Skip to content

PDF to JSON converter

PDF to JSON uses AI Deep Read to describe the page as structured JSON with language, title, paragraphs, tables, and page number.

  • Converted with AI Deep Read · input deleted within 24 h
  • Free: 5 conversions a day · 5 MB each
  • Higher limits →

From real runs

What you get — and what changes

  • Language Kept

    The one-page vendor memo returned language en in the JSON output.

  • Title Kept

    Vendor credit memo was captured as the title field rather than mixed into the first paragraph.

  • Paragraphs Kept

    The explanatory sentence about IDs, dates, currency, and accounting negatives appeared in the paragraphs array.

  • Table Changed

    The invoice table was preserved as one Markdown pipe-table string inside the tables array, not as JSON row objects.

  • Accounting negative Kept

    The amount (19.95) remained in parentheses in JSON table Markdown instead of being normalized to -19.95.

  • Accents Kept

    Café Norte was represented with JSON escaping for the accented character and decodes back to the original name.

  • Page number Kept

    The JSON included page_number: 1 for the tested single-page PDF.

Sample conversions

Vendor memo JSON

Input
One-page PDF with title, one paragraph, and a Markdown-origin invoice table.
Output
JSON returned language, title, paragraphs, a tables array containing the pipe table, and page_number 1.

Parentheses amount

Input
PDF table row INV-1002, Bo Foods, 1, (19.95), credit.
Output
The JSON table string kept (19.95), unlike the XLSX route where the same value became numeric -19.95.

A real PDF → JSON run

We converted our PDF sample (91 KB) with AI Deep Read under AI Deep Read on 2026-09-11. It took 5.9 s and produced a 757 B JSON file, 99% smaller than the input. The engine raised 1 warning, listed below.

Input · sample.pdf · 91 KB

PDF 1.4, 1 page, no text layer, 1 image object

Version
1.4
Pages
1
Images
1
Text layer
no

Output · sample.json · 757 B

Object with 6 top-level keys: language, title, prepared_for, date, sections, signature

Keys
language, title, prepared_for, date, sections, signature
  • AI Deep Read read 1 page; 1 credit per page

First lines of the output

json
{
  "language": "en",
  "title": "Feedback Atlas — Q3 activity trail",
  "prepared_for": "Board of Directors",
  "date": "12 Sep 2026",
  "sections": [
    {
      "heading": "Headline numbers",
      "table_markdown": "| Metric | Q2 | Q3 |\n|---|---:|---:|\n| ARR | $4.1M | $4.9M |\n| Net revenue retention | 108% | 113% |\n| Support CSAT | 93% | 94% |\n| Refunds | (12,400) | (9,850) |"
    },
    {
      "heading": "What went well",
      "items": [
        "Enterprise pipeline doubled after the SOC 2 report shipped.",
        "Support CSAT held at 94% while ticket volume rose 31%.",
        "Two renewals slipped into October. Owner: VP Sales."
      ]
    }
…

Is your file a scan?

A scanned PDF will not have selectable table text and usually has one image-heavy object per page. AI Deep Read spends vision credits by page, reads the page image, and then asks our table engine to materialize detected pipe tables. Review totals, merged labels, and accounting negatives against the original.

Options and when to change them

vision
Required for this pair; pass true so the PDF is processed by AI Deep Read.

Do it yourself

pdftotext plus jq wrapping

bash
pdftotext -layout memo.pdf memo.txt
jq -Rs '{text: .}' memo.txt > memo.json

This creates JSON-wrapped text only; it does not identify tables, scans, or page-level fields like Deep Read.

PDF to JSON by API or MCP

The HTTP API and the MCP server run the exact engine this page uses (AI Deep Read); the response carries the same warnings the web converter shows. Check support first with GET /api/v1/pairs?from=pdf&to=json.

curl
curl -X POST https://filetypeconverters.com/api/v1/convert \
  -H "Authorization: Bearer $FTC_API_KEY" \
  -F "file=@input.pdf" -F "from=pdf" -F "to=json" \
  -F "deepRead=true" \
  --output output.json
API reference

When this is the wrong conversion

  • Use /convert/pdf-to-xlsx when spreadsheet users need numeric cells instead of Markdown table strings.
  • Use /convert/pdf-to-csv only when you have verified that the CSV materializer preserves the columns you need.

PDF to JSON questions

Are PDF tables returned as JSON arrays?

Not in the tested output. Deep Read placed the table as Markdown text inside the tables array, so downstream code must parse the pipe table if rows are needed.

Why did (19.95) stay in parentheses?

The JSON route preserves the model's table Markdown more directly than XLSX materialization. That keeps the accounting notation visible but not normalized.

Does PDF to JSON include page numbers?

The one-page test returned page_number 1. Multi-page behavior should be checked before relying on page keys for reconciliation.