Skip to content

Apache Parquet to JSON converter

Parquet to JSON keeps the data record-oriented while replacing columnar binary storage with a readable array of objects.

  • Converted with Table engine · nothing stored
  • Free: 5 conversions a day · 5 MB each
  • Higher limits →

From real runs

What you get — and what changes

  • Record shape Changed

    The Parquet table became a top-level JSON array with one object per row and property names from the column schema.

  • Numbers Kept

    Integer and floating-point values read back as JSON numbers, including id 101 and amount 1234.5.

  • Booleans Kept

    Boolean cells stayed JSON booleans, visible as "active": true and "active": false in the output.

  • Nullability Kept

    Nullable Parquet fields became JSON null values rather than empty strings or omitted properties.

  • Timestamps Changed

    Timestamp values were serialized as ISO strings because JSON has no native timestamp scalar.

  • Column metadata Lost

    Parquet physical types, compression, encodings, and row group boundaries are removed from the JSON output.

  • Formatting Changed

    The API returned pretty-printed JSON with two-space indentation and a trailing newline for review.

Sample conversions

Typed Parquet records

Input
771-byte Parquet file generated from two rows with id, created_at, active, amount, note, optional.
Output
331-byte JSON included "id": 101, "active": true, "amount": 1234.5, and "optional": null in the first object.

String and nullable fields

Input
Second row had a null amount, note Bob's sample, and optional set to nullable.
Output
JSON wrote "amount": null, "note": "Bob's sample", and "optional": "nullable" in the same record.

A real Apache Parquet → JSON run

We converted our Apache Parquet sample (816 B) with Table engine on 2026-09-11. It took 1 ms and produced a 614 B JSON file, 25% smaller than the input. The engine raised no warnings.

Input · sample.parquet · 816 B

Parquet file (PAR1 magic present)

footerHints
0

Output · sample.json · 614 B

Array of 4 objects; keys: company, stage, arr, owner, close_date

Records
4
Keys
company, stage, arr, owner, close_date

First lines of the output

json
[
  {
    "company": "Northwind Traders",
    "stage": "Proposal",
    "arr": 48000,
    "owner": "R. Ayers",
    "close_date": "2026-10-14T00:00:00.000Z"
  },
  {
    "company": "Contoso Ltd",
    "stage": "Negotiation",
    "arr": 120000,
    "owner": "P. Ng",
    "close_date": "2026-09-30T00:00:00.000Z"
  },
  {
    "company": "Fabrikam",
    "stage": "Qualified",
…

Do it yourself

Python pandas

bash
python - <<'PY'
import pandas as pd
pd.read_parquet("in.parquet").to_json("out.json", orient="records", indent=2, date_format="iso")
PY

pandas may emit epoch timestamps unless date_format is set, and very large files will load into memory.

Apache Parquet to JSON by API or MCP

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

curl
curl -X POST https://filetypeconverters.com/api/v1/convert \
  -H "Authorization: Bearer $FTC_API_KEY" \
  -F "file=@input.parquet" -F "from=parquet" -F "to=json" \
  -F 'options={"encoding":"utf-8"}' \
  --output output.json

Options this engine accepts for Apache Parquet → JSON

KeyApplies toTypeDefault
encodingReading Apache Parquetutf-8 · latin1utf-8
delimiterWriting JSONstring,
newlineWriting JSON ·
sheetNameWriting JSONstring
dialectWriting JSONpostgres · mysql · sqlitepostgres
tableNameWriting JSONstringdata
createTableWriting JSONbooleantrue
API reference

When this is the wrong conversion

  • Use /convert/parquet-to-csv when the next step is Excel, a CSV-only importer, or a manual spreadsheet review.
  • Keep Parquet for warehouse ingestion, partitioned datasets, and workloads that depend on column pruning.

Apache Parquet to JSON questions

Does Parquet to JSON keep nulls?

Yes. The verified output wrote nullable fields as JSON null. It did not replace them with blanks or drop those keys.

Why are timestamps quoted in JSON?

JSON has strings, numbers, booleans, arrays, objects, and null, but no timestamp type. The converter emits timestamp values as ISO strings.

Is the JSON output newline-delimited?

No. This pair writes one JSON array. Use a JSONL target when each row must be a separate line for streaming tools.