Convert Parquet to CSV

Parquet is excellent for machines and useless for a quick look. If you have been handed a .parquet file and need it in something you can open, this converter decompresses it, flattens it, and writes a plain CSV — locally, with no Python environment to set up.

  • Runs in your browser
  • No signup
  • No upload
  • Free

ParquetCSV

Runs on your device
Options

Reading Parquet

Writing CSV

Converting Parquet just to look inside it?Open Parquet files directly with ParquetReader — opens Parquet files directly.
What happens

How this converter handles Parquet to CSV

  1. Reads the schema from the file footer and decompresses the row groups, including Snappy, Gzip, Zstd, Brotli and LZ4.
  2. Flattens nested columns into dotted names, so a struct field becomes a user.email column instead of being dropped.
  3. Converts Parquet types back to text: timestamps to ISO-8601, booleans to true and false, nulls to empty fields.
  4. Writes a standard comma-separated file, with an optional BOM so Excel opens accented characters correctly.
Format differences

Parquet vs CSV

Typed, compressed, columnar storage built for analytical scans. Plain text rows that open anywhere, with no types and no schema.

ParquetCSV
Type informationFull — ints, floats, booleans, timestamps, decimalsNone — every value is text
StructureColumnar, with nested type supportFlat rows and columns
CompressionBuilt in (Snappy, Gzip, Zstd)None
Typical file sizeTypically 5–15% of the CSVBaseline (100%)
SchemaStored in the file footerHeader row at best
Human-readableNo — binaryYes, in any text editor
Tool supportSpark, DuckDB, pandas, BigQuery, AthenaUniversal
Worth knowing

What to watch out for

You are losing the schema on purpose

The CSV that comes out has no types. Whatever reads it next will have to guess again. If the destination understands Parquet, sending the Parquet file is strictly better.

Large integers can lose precision downstream

Parquet INT64 values beyond about 9 quadrillion are written to the CSV exactly, but a spreadsheet or JavaScript-based reader may round them on the way back in. Snowflake IDs and similar keys are the usual victims.

The file gets much bigger

Expect the CSV to be roughly 7 to 20 times the size of the Parquet file. That is the compression and columnar layout being undone, and it is worth checking you have the disk space before converting a large file.

When you need this

Common reasons to convert Parquet to CSV

Sending data to someone without a data stack

Finance, ops and legal teams open CSVs. Handing them a Parquet file usually means handing them a support request as well.

Importing into a tool that has no Parquet support

Plenty of CRMs, ad platforms and legacy databases only accept delimited text. CSV remains the reliable lowest common denominator.

A fast sanity check on a pipeline output

Converting a small Parquet output to CSV is a quick way to eyeball whether the columns and row counts look right.

FAQ

Parquet to CSV questions

Do I need Python or pandas to open a Parquet file?
Not for this. The Parquet reader is compiled to WebAssembly and runs inside the page, so the browser does what pandas, PyArrow or DuckDB would normally do locally. Nothing is installed and nothing is uploaded. If you open Parquet files often, ParquetReader skips the conversion entirely and reads them in place.
Which compression codecs are supported?
Snappy, Gzip, Zstd, Brotli, LZ4 and uncompressed files all read correctly. Encrypted Parquet files do not, since they require a key exchange this tool deliberately has no way to perform.
What happens to nested columns and structs?
They are flattened into dotted column names — an address struct becomes address.city and address.postcode. Repeated fields and arrays are written as JSON text in a single cell, because exploding them would change the row count.
Will my CSV open correctly in Excel?
Turn on "Add BOM for Excel" in the output options. Without it, Excel assumes the system encoding and mangles anything non-ASCII. If your data contains commas, Excel handles the quoting correctly either way.
How big can the Parquet file be?
The practical ceiling is your available RAM, not a server upload limit. Files in the low hundreds of megabytes convert comfortably on a normal laptop. Very large files are best split first, since the browser has to hold the parsed data in memory.