How to convert Parquet to CSV
Load a local .parquet file, choose the columns and output settings, review the first 25 rows, then use Download CSV. The result is CSV text; the optional JSON report preserves selected Parquet type metadata.
How to use the converter
- Load a file: Drop a
.parquetfile into the drop area or select browse files. After loading, the tool shows the file size, row count, row-group count, and top-level column count. - Choose columns and order: Use the checkboxes to include columns and the up/down arrows to reorder them. Selecting no columns prevents export.
- Configure the output: Set nested-value handling and the CSV settings described below.
- Review and export: Check the preview, then use Download CSV. After a successful export, Download type report (sidecar) becomes available.
Choose columns and handle nested values
The column list contains top-level fields and shows the available type information for fields the tool reads. For a nested field such as a group, struct, list, or map, use its policy control. Nested columns default to JSON-stringify whole value.
- JSON-stringify whole value puts the nested value into one CSV cell as JSON text.
- Flatten selected paths (dotted, comma-separated) lets you enter paths such as
address.city, address.zip; each selected path becomes an output column. - Omit (report count of omitted values) leaves the nested value out of the CSV and increments its omission count in the report for processed rows.
Only top-level fields are listed. Nested fields are handled through these policies and, when flattening, the dotted paths you enter.
Configure CSV output
Choose a delimiter: comma, tab, semicolon, pipe, or a custom character. The custom delimiter and Quote character inputs accept one character. You can also choose Quote all fields, encoding, newline style, and whether to Include header row.
Set the Null representation, Date/time format, Decimal formatting, and Binary column handling. Binary values can be written as hex or Base64, omitted with a report count, or handled with Error (stop export).
Preview and export
The preview reflects the current column, order, and formatting choices and is limited to the first 25 rows. During export, rows are decoded and progress is handled row group by row group. The generated CSV chunks are retained while the complete download is assembled.
Limitations and troubleshooting
- An invalid or corrupt file can fail while the tool reads its footer or metadata.
- Unsupported Parquet features or encodings can stop the export.
- Select at least one column before downloading the generated CSV.
- If binary data uses Error (stop export), the export stops when that value is encountered.
- The local implementation does not define a maximum safe file size, browser-version support matrix, or complete Parquet feature and encoding matrix.
CSV output is text, and the tool does not document identical decoding behavior for every Parquet logical type across all files. The file is read locally in the browser and is not uploaded or modified by this tool.
Optional JSON sidecar report
After a successful CSV export, select Download type report (sidecar) if you need the additional JSON file. It records source metadata, settings, selected and exported columns, nested omission counts, and binary omission counts. It does not provide a general record of every omitted or lossy value.
Frequently Asked Questions
Does this tool convert Parquet to JSON first and then to CSV?
No. It reads the Parquet footer, schema, and row groups directly and writes CSV rows from the decoded values without routing the data through an intermediate JSON or generic text representation.
What happens to nested (struct/list/map) columns?
Nested columns default to JSON-stringify whole value. You can choose JSON-stringify whole value, Flatten selected paths (dotted, comma-separated), or Omit (report count of omitted values). Flattening uses the dotted paths you enter, and omitted values are counted in the sidecar report.
Why does CSV need a sidecar type report?
CSV cells are text and do not carry Parquet types. The optional report records source metadata, settings, selected and exported columns, nested omission counts, and binary omission counts.
How are large Parquet files handled?
Rows are decoded and progress is handled row group by row group. The complete export is assembled from generated CSV chunks before download, so the tool does not promise memory use bounded by row-group size.
Does this tool upload my file anywhere?
No. The file is read locally in your browser, is not uploaded to a server, and is not modified by the tool. The CSV and optional report are generated for download in the browser.