Convert Parquet to JSON Online
Convert Parquet files to JSON format directly in your browser. No upload required — your data never leaves your device.
About converting Parquet to JSON
Parquet to JSON turns a columnar analytics file into records that application code can read directly. It is how a model output or warehouse extract becomes seed data for MongoDB or Elasticsearch, a fixture for API tests, or the body of a webhook. It is also a quick way to see what is really inside a Parquet file whose schema has nested columns that a grid view hides.
The output is one JSON array with an object per row, indented by two spaces. Nested data survives here better than in any flat format. A Parquet struct becomes a nested object and a list becomes an array, so records written by Spark or BigQuery with repeated fields keep their shape.
Three things catch people out. DECIMAL values with a fractional part are written as strings, which keeps money amounts exact but means code expecting numbers has to parse them. Integers above 2^53 are strings too, because a JavaScript number cannot hold them. And the file grows a lot: every object repeats every key and nothing is compressed, so a 20 MB Parquet file can turn into several hundred megabytes of JSON.
Not sure which format you need? Read the Parquet vs JSON comparison.
Worked example
A small sample file, converted with the default settings.
Input (Parquet)
Parquet file (binary, columnar) — shown as a table with its schema
| order_id | customer | ordered_at | amount | shipped |
|---|---|---|---|---|
| 1001 | Acme Ltd | 2026-03-02 09:15:00 | 249.50 | true |
| 1002 | Brightside Co | 2026-03-02 14:40:00 | 1200.00 | false |
| 1003 | Acme Ltd | 2026-03-05 08:05:30 | 89.99 | true |
| 1004 | Northwind | 2026-03-07 17:22:00 | NULL | false |
Schema: order_id BIGINT, customer VARCHAR, ordered_at TIMESTAMP WITH TIME ZONE, amount DECIMAL(10,2), shipped BOOLEAN
Output (JSON)
[
{
"order_id": 1001,
"customer": "Acme Ltd",
"ordered_at": "2026-03-02 09:15:00",
"amount": "249.50",
"shipped": true
},
{
"order_id": 1002,
"customer": "Brightside Co",
"ordered_at": "2026-03-02 14:40:00",
"amount": "1200.00",
"shipped": false
},
{
"order_id": 1003,
"customer": "Acme Ltd",
"ordered_at": "2026-03-05 08:05:30",
"amount": "89.99",
"shipped": true
},
{
"order_id": 1004,
"customer": "Northwind",
"ordered_at": "2026-03-07 17:22:00",
"amount": null,
"shipped": false
}
]What changes when you convert Parquet to JSON
- Each row becomes an object keyed by column name, in schema order, inside a single top-level array.
- A DECIMAL(10,2) column such as amount becomes strings like "249.50", keeping the trailing zero. DOUBLE, BOOLEAN and ordinary BIGINT values stay JSON numbers and booleans.
- Timestamps become strings in the form "2026-03-02 09:15:00". That is close to ISO 8601 but uses a space instead of T, and timezone-aware values are shown in UTC with no Z.
- Structs become nested objects and lists become arrays. MAP columns become objects keyed by the map keys. When the keys are not text, each map becomes an array of {"key": ..., "value": ...} objects instead.
- BLOB columns, including WKB geometry in GeoParquet files, become arrays of byte values. NULL becomes null, as for the amount on order 1004.
Your file is processed locally in your browser and is never uploaded. The free limit is 50 MB per file; larger files work if your device has the memory for them.
Frequently Asked Questions
Why is my DECIMAL column quoted in the JSON output?
Most JSON parsers read numbers as 64-bit floats, which cannot hold values like 0.1 exactly. Writing DECIMAL as a string keeps every digit. Parse it with a decimal library, or cast the column to DOUBLE in the SQL Query tool if float precision is fine.
Can I get timestamps with a T and a Z, like 2026-03-02T09:15:00Z?
Not from the converter directly. The values are already in UTC, so only the layout needs to change. With jq: jq 'map(.ordered_at |= (sub(" "; "T") + "Z"))' out.json. A find and replace in a text editor works too.
Should I pick JSON or NDJSON for a large Parquet file?
NDJSON, if the consumer supports it. A JSON array has to be parsed as one document, while NDJSON can be streamed line by line by jq, BigQuery load jobs or an Elasticsearch bulk import. Use JSON when a single array is what the receiving API expects.
What is JSON format?
JSON (JavaScript Object Notation) is a lightweight, human-readable format that supports nested structures, making it ideal for APIs and document-oriented data.
Related Tools
Convert JSON to Parquet Online
Convert JSON files to Parquet format directly in your browser. No upload required — your data never leaves your device.
JSON Viewer Online
View and inspect JSON files directly in your browser. Browse rows, check column names and data types — no upload required, your data stays on your device.
Parquet Viewer Online
View and inspect Parquet files directly in your browser. Browse rows, check column names and data types — no upload required, your data stays on your device.
Validate Parquet Files Online
Validate Parquet file structure in your browser. Check null counts, distinct values, and data types for every column — no upload required.
Deduplicate Parquet Files Online
Remove duplicate rows from Parquet files instantly in your browser. No upload, no server — 100% private.
Filter JSON Files Online
Filter rows in JSON files by column value, directly in your browser. Your data stays on your device.
Convert Parquet to CSV Online
Convert Parquet files to CSV format directly in your browser. No upload required — your data never leaves your device.
Convert Parquet to Excel Online
Convert Parquet files to Excel format directly in your browser. No upload required — your data never leaves your device.