Types become text
CSV does not carry Parquet logical types. The next program must infer or be told how to interpret timestamps, booleans, decimal precision, and integer identifiers; spreadsheet software may make its own guesses.
Converter
Parquet is great for storage and analytics, but sooner or later someone needs the data in CSV — for Excel, a legacy tool, or a colleague who just wants a spreadsheet-friendly file.
viewparquet converts Parquet to CSV in your browser. DuckDB-WASM reads a local file and generates the CSV on your device, without uploading the dataset to viewparquet. You can run SQL first to choose columns, filter rows, or aggregate the data, then export the result you need.
Updated August 21, 2026 · Reproducible checks, limitations, and primary references are included below.
Convert Parquet to CSVDrag your .parquet file into viewparquet, or open it from S3 or a URL.
Skip this for a full-file export. Or write a query — SELECT the columns you need, add a WHERE clause, or LIMIT the rows — and export the result instead of the whole file.
Click Export and choose CSV. The file is written locally by DuckDB and downloads straight from your browser.
CSV is an exchange format, not a typed analytical file. Decide how nulls, nested values, timestamps, decimals, and identifiers should survive before you create the export.
CSV does not carry Parquet logical types. The next program must infer or be told how to interpret timestamps, booleans, decimal precision, and integer identifiers; spreadsheet software may make its own guesses.
Lists and structs do not map cleanly to a flat row. Keep them in Parquet or JSON Lines, select individual fields into columns, or serialize them deliberately and document the representation.
A blank CSV field can mean a missing value or an empty string depending on the reader. Test a small output in the exact downstream tool and compare counts and key fields with the source.
On the bundled flights sample, this query creates a bounded result with an explicit column order and range. Export the query result rather than the source table.
SELECT delay, distance, round(time, 2) AS time_hour
FROM data
WHERE delay BETWEEN -30 AND 120
ORDER BY distance DESC
LIMIT 10000;What to expect: The export contains at most 10,000 rows and exactly three named columns. The filter is an example, not a recommended data-cleaning rule: inspect the excluded delays before deciding whether they are errors or valid observations.
These sources support the format and tool behavior described on this page. Product-specific boundaries are checked against the shipped viewer using the claim-verification method.
Use a browser-based converter. Open a local .parquet file in viewparquet and click Export → CSV — no Python, pandas, or install needed, and the file contents are not uploaded to viewparquet.
No. For a local file, viewparquet runs DuckDB compiled to WebAssembly inside your browser tab, so reading the Parquet file and writing the CSV happen on your device rather than on a viewparquet server.
Yes. Run a SQL query first — for example SELECT id, name, amount FROM data WHERE amount > 0 — and export the query result. This produces a smaller, cleaner CSV than converting the whole file.
CSV is plain text with no type information, so timestamps, decimals, and other values must be re-parsed by the reader. Prefer Parquet when the downstream tool can preserve its typed schema; use JSON Lines only when its explicit number, timestamp, and nesting tradeoffs are acceptable.
With the DuckDB CLI it is one statement: COPY (SELECT * FROM read_parquet('data.parquet')) TO 'data.csv' (FORMAT CSV, HEADER). A browser viewer can be convenient for one-off conversions; the CLI is better for scripts.
There is no fixed published cap. The practical limit depends on browser memory, the Parquet layout, column types, and export size; filtering or aggregating with SQL before export can substantially reduce the work.
Drop a Parquet, GeoParquet, CSV, or JSON file into viewparquet: browse rows, run DuckDB SQL, and export results in-browser without uploading the dataset to viewparquet. Optional AI sends messages and applicable context directly to the provider you choose; review Settings → AI before use.