A .parquet file is a self-describing columnar dataset: values from the same field are stored together so an analytics engine can read only the columns and row groups a query needs. It is designed for compact long-term storage, unlike Arrow IPC, which is optimized for immediate in-memory access.
Private for supported formats — processed in your browser
Convert supported files
Runs on your device
+
Drop PARQUET files here
Batch files can each use a different output. Nothing uploads for local conversions.
Working inputs include camera RAW, browser-local audio/video, PDF, CBZ/CBR comics, office documents, ebooks, markup, 3D models, structured text, images, and archives.
Twitter engineers Julien Le Dem and Remy Papp created Parquet in 2013 from the record-shredding ideas in Google's Dremel paper, then donated it to Apache. Hadoop, Spark and Hive made it the default data-lake format, and engines such as DuckDB, BigQuery, Snowflake, Pandas and Polars now treat it as a common interchange layer rather than a Hadoop-specific file.
How PARQUET works
Columns are split into row groups and pages, allowing a reader to skip both irrelevant columns and ranges of rows.
The footer carries the complete schema, per-column encodings, compression codecs, offsets and optional min/max statistics.
PLAIN, dictionary, run-length and delta encodings reduce repeated values before optional Snappy, Gzip, Brotli, Zstandard or LZ4 compression is applied.
The file begins and ends with PAR1; the trailing footer length lets readers seek directly to metadata before touching column data.
Nested lists and structures are represented with definition and repetition levels, preserving nulls and hierarchy without flattening them into text.
When to use PARQUET
Storing analytics tables in a data lake or object store
Handing a typed dataset between Spark, DuckDB, Pandas, Polars and warehouses
Archiving a large CSV in a smaller form that preserves numeric and timestamp types
Extracting a bounded table to JSON, CSV or XLSX for review
Strengths and limitations
Strengths
Usually far smaller than CSV or Arrow IPC while preserving exact types
Column pruning and row-group statistics make analytical scans fast
Broad interoperability across databases, notebooks and cloud warehouses
Limitations
Not human-readable and awkward to modify in place
Many codec and logical-type combinations make lightweight readers necessarily selective
Small files pay disproportionate overhead for the footer and page metadata
Compatibility
PyArrow, parquet-cpp, DuckDB, Spark, Hive, Pandas, Polars, BigQuery and every major warehouse read .parquet. Novus Convert decodes bounded files locally with hyparquet and writes JSON, CSV or XLSX; its bundled fixture was produced by Apache parquet-cpp and independently reopened by pyarrow, so the browser path is not merely reading bytes produced by itself.
The schema, logical types and column names are read. Key-value metadata is reported where relevant, but CSV cannot carry it and spreadsheets preserve only the displayed table rather than Parquet's physical encodings and statistics.