Convert CSV to Parquet — Free, Private, In-Browser
Your files never leave your browserConverting CSV to Parquet is one of the highest-leverage things you can do to a dataset. You go from untyped text to a columnar, compressed, strongly-typed file that downstream engines — DuckDB, Spark, Athena, BigQuery external tables — can scan a fraction of. Expect the Parquet to be several times smaller than the CSV, and far faster to query.
The interesting part is type inference. DuckDB’s read_csv_auto sniffs each column and picks a type, which is usually right and occasionally not. The classic traps: ZIP codes and IDs with leading zeros inferred as integers (and the zeros dropped), ambiguous dates, booleans hiding as Y/N, and columns that are mostly numbers with a stray "N/A" forcing the whole column to text. Eyeball the inferred schema in the panel before you trust it.
Headers are detected automatically, the delimiter is auto-sniffed, and quoted fields are handled. Once written, the Parquet carries its schema with it, so every tool downstream agrees on types instead of re-guessing. It all happens in your browser — the CSV never leaves your machine.
Drop a file or click to browse
Drop a CSV file — processed locally, never uploaded
Frequently asked questions
- Is my file uploaded anywhere?
- No. The CSV→Parquet conversion runs entirely in your browser via DuckDB-WASM. Your file never leaves your device.
- How large a file can I convert?
- It's bounded by your browser's available memory rather than any server limit — files in the hundreds of MB are routine. DuckDB runs single-threaded here, so very large files just take a little longer.
- Do I need an account?
- No — it's free and requires no sign-up.
- Can I control the inferred types?
- Not yet from this tool — types come from DuckDB's auto-detection. If a column is mis-typed (e.g. leading-zero IDs), that's on the roadmap; for now, check the schema panel after loading.
- Why is the Parquet so much smaller?
- Parquet stores data by column and compresses each one, so repetitive values and numeric columns shrink dramatically compared to row-oriented text.