Skip to content

Apache Parquet to CSV converter

Parquet to CSV trades typed column storage for a plain delimited file that spreadsheet and import tools can open.

  • 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

  • Column order Kept

    The CSV header preserved the Parquet field order id,created_at,active,amount,note,optional in the verified run.

  • Integer values Kept

    Small integer values such as 101 and 102 were written as CSV numerals without quotes or decimal suffixes.

  • Timestamps Changed

    Timestamp-like values came out as ISO strings with millisecond precision, including 2026-09-10T18:30:00.000Z.

  • Booleans Changed

    Boolean columns became the text tokens true and false, which most CSV readers can re-infer but CSV itself cannot type.

  • Nulls Changed

    Parquet nulls became empty CSV fields, as seen after alpha, quoted in the optional column.

  • Comma-containing text Kept

    The note value alpha, quoted was wrapped in CSV quotes so it stayed one field.

  • Parquet metadata Lost

    Column schema metadata, physical encodings, row groups, and compression details are not represented in the CSV file.

Sample conversions

Typed two-row Parquet

Input
771-byte Parquet made from CSV with id, timestamp, boolean, nullable amount, note, and optional columns.
Output
157-byte CSV started id,created_at,active,amount,note,optional and wrote 101,2026-09-10T18:30:00.000Z,true,1234.5,"alpha, quoted",.

Nullable second row

Input
Second Parquet row had active false, amount null, note Bob's sample, and optional nullable.
Output
CSV wrote 102,2026-09-11T00:00:00.000Z,false,,Bob's sample,nullable, leaving amount blank.

A real Apache Parquet → CSV run

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

Input · sample.parquet · 816 B

Parquet file (PAR1 magic present)

footerHints
0

Output · sample.csv · 281 B

4 data rows × 5 columns; header: company,stage,arr,owner,close_date

Rows
4
Columns
5
Header
company,stage,arr,owner,close_date

First lines of the output

csv
company,stage,arr,owner,close_date
Northwind Traders,Proposal,48000,R. Ayers,2026-10-14T00:00:00.000Z
Contoso Ltd,Negotiation,120000,P. Ng,2026-09-30T00:00:00.000Z
Fabrikam,Qualified,22500,R. Ayers,2026-11-02T00:00:00.000Z
Tailspin Toys,Won,64000,M. Okafor,2026-09-03T00:00:00.000Z

Options and when to change them

delimiter
Use comma for standard CSV or choose tab and semicolon output when another importer requires it.
newline
Use LF for Unix tools and CRLF when a Windows-only legacy importer expects it.

Do it yourself

DuckDB

bash
duckdb -c "COPY (SELECT * FROM 'in.parquet') TO 'out.csv' (HEADER, DELIMITER ',');"

DuckDB may format timestamps differently depending on types and settings, so compare date text before importing.

Apache Parquet to CSV 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=csv.

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=csv" \
  -F 'options={"encoding":"utf-8"}' \
  --output output.csv

Options this engine accepts for Apache Parquet → CSV

KeyApplies toTypeDefault
encodingReading Apache Parquetutf-8 · latin1utf-8
delimiterWriting CSVstring,
newlineWriting CSV ·
API reference

When this is the wrong conversion

  • Use /convert/parquet-to-json when downstream code needs booleans, numbers, and nulls represented explicitly.
  • Keep Parquet when compression, schema, and columnar scans are more important than opening the data in a spreadsheet.

Apache Parquet to CSV questions

Does Parquet to CSV keep data types?

No. CSV is text with delimiters. Numbers, booleans, timestamps, and nulls are serialized into CSV fields and may be re-inferred later.

How are Parquet nulls written to CSV?

Null values become empty fields. In the test output, a null amount produced two adjacent commas before the note field.

Can CSV preserve Parquet row groups?

No. Row groups and encoding metadata belong to the Parquet container. The CSV output contains only headers and rows.