Convert CSV to Parquet — columnar, compressed, local
Turn a CSV into an Apache Parquet file inside your browser, written by a real analytical engine. No upload, no server, no signup.
Source
or drag one here · it stays on your device
Result
Add a CSV and the table appears here, with the type each column will be written as, before anything downloads.
Download
Have a look at the result before downloading it.
How this works
- Add your CSV. Drop the file onto the page.
- Check the column types. Each column shows the type it will be written as; switch any of them to text.
- Download. Save the .parquet file.
What it cannot do
- A column gets a type only when every value survives it unchanged, so a column of mostly numbers with one odd value is written as text; the page shows which.
- Writing needs the engine’s Parquet support, which this site serves itself; where it cannot load, the page says so instead of guessing.
- The file is compressed with ZSTD, which current Parquet readers handle; a very old reader may not.
Questions
- Why Parquet?
- Parquet is columnar and compressed: the same table is a fraction of the size and loads dramatically faster in analytics tools like DuckDB, Spark, and pandas.
- Who writes the file?
- The DuckDB engine this site runs in your browser — not a hand-rolled writer. A binary format written approximately is a file that opens wrong somewhere.
- What happens to my column types?
- A column is written as a whole number, a decimal, a date or a true-or-false only when every value in it turns back into exactly the text in your file. Everything else stays text, so a code like 00412 keeps its zeros. The page shows the type of every column before writing, and any column can be switched back to text.
- How much smaller will the file be?
- Typically several times smaller than the CSV, because Parquet compresses each column separately; the exact ratio depends on how repetitive the data is.
- Which programs can open the result?
- Anything that reads current Parquet: pandas, Polars, Spark and DuckDB among them. The file is compressed with ZSTD, which those read; a very old reader may not.
- Is my file uploaded anywhere?
- No. The conversion runs inside this page: when you convert CSV to Parquet here, the browser is told to block outbound connections, so nothing can be sent to another server. Keep the Network tab of your developer tools open while you convert CSV to Parquet: every request in it goes to this site, and none carries your file.
Your file is processed in this page and never uploaded — the privacy page shows how to confirm that yourself.