Converter

Convert Parquet to JSON

JSON is the format of APIs, fixtures, and debugging sessions — and Parquet’s nested structs, lists, and maps translate to it naturally, far better than they flatten into CSV.

viewparquet converts Parquet to JSON locally in your browser with DuckDB-WASM. No upload is required; a private Cloud copy is created only when you explicitly request one. Open the file, optionally shape the output with SQL, and export newline-delimited JSON (one object per row) that streams into jq, log tools, and data loaders without further processing.

Convert your file

How to convert

  1. Open the Parquet file

    Drag your .parquet file into viewparquet, or open it from S3 or a URL.

  2. Optionally query the slice you need

    Nested columns can be exported as-is, or projected with dot notation (col.field) and UNNEST to reshape lists before export.

  3. Export to JSON

    Click Export and choose JSON. viewparquet writes JSON Lines — one JSON object per row — generated locally and downloaded straight from your browser.

Common questions

How do I convert a Parquet file to JSON without writing code?

Open the .parquet file in viewparquet and click Export → JSON. The standard conversion runs locally in your browser with DuckDB-WASM, with no Python, install, or Cloud copy required.

What happens to nested columns when converting Parquet to JSON?

They convert cleanly. Parquet structs become JSON objects, lists become arrays, and maps become objects — the nesting is preserved as-is. This is the main reason to prefer JSON over CSV for files with nested schemas.

Does the export produce a JSON array or JSON Lines?

viewparquet exports JSON Lines (NDJSON): one JSON object per line, one line per row. JSON Lines streams well and is what most data tools, log pipelines, and jq workflows expect. Wrapping into a single array is a one-liner afterwards if a tool requires it.

Is my data uploaded anywhere during the conversion?

Reading a device file and writing JSON both happen inside your browser tab via DuckDB-WASM. A Cloud upload happens only if you separately choose Add Cloud copy; optional AI follows its own visible sharing controls.

How do I do the same conversion from the command line?

With the DuckDB CLI: COPY (SELECT * FROM read_parquet('data.parquet')) TO 'data.json' (FORMAT JSON). Use the browser for quick one-offs and the CLI for repeatable scripts.

Related

Try it on your own file

Drop a Parquet, GeoParquet, CSV, or JSON file into viewparquet: browse rows, run DuckDB SQL, and export results locally in your browser. A file is uploaded only if you explicitly add a private Cloud copy.