dataeng.tools

Convert Parquet to Excel — Free, Private, In-Browser

Parquet is a columnar, strongly-typed, compressed file built for engines. Excel is the opposite end of the spectrum: a flat grid of cells that someone opens by double-clicking. Converting Parquet to Excel is almost never for another pipeline — it's for a person. You're handing a stakeholder, a finance partner, or a non-technical colleague a workbook they can sort, filter, pivot, and chart without touching SQL or installing anything. That framing matters, because Excel's grid is far less expressive than Parquet's schema, and several things get reshaped on the way into cells. Knowing what changes up front saves you a confused Slack message later when a column doesn't look the way they expected.

The reshaping is worth understanding. Excel stores every number as an IEEE-754 double, so an int64 above 2^53 can't be held exactly — rather than let those values round silently, this converter writes out-of-range BIGINTs as text so the digits survive, which means they land as text cells instead of numeric ones. Timestamps become Excel's serial-number dates and render with the reader's locale formatting. STRUCT and LIST columns have no cell equivalent, so they're flattened to JSON text, same as the CSV path. And a worksheet is hard-capped at 1,048,576 rows by 16,384 columns — feed it a bigger table and the overflow simply won't fit, which makes Excel the wrong target for a full extract.

Practical notes: everything writes to a single sheet named Sheet1 in one .xlsx workbook, and because .xlsx is really zipped XML it stays reasonably compact — closer to the source Parquet than a raw CSV would be — but the whole workbook is assembled in memory, so very wide or very long tables are slower to produce than a streaming CSV. If the data is only going machine-to-machine, CSV or Parquet is the better call; reach for Excel when a human is the consumer. Parquet is read with DuckDB-WASM and the workbook is written with SheetJS, both entirely in your browser — the file is never uploaded.

Drop a file or click to browse

Drop a Parquet file — processed locally, never uploaded

Frequently asked questions

What happens to integer columns with values larger than 2^53?
Excel numbers are 64-bit IEEE doubles, so integers beyond 2^53 can't be represented exactly. Instead of letting them round silently, the converter writes out-of-range int64/BIGINT values as text cells — every digit is preserved, but the cell is text, not a number. Keep that in mind if a downstream formula needs to do arithmetic on those IDs.
My table has more than a million rows — will it all fit?
No. A single Excel worksheet is capped at 1,048,576 rows and 16,384 columns; anything past that limit can't land in the sheet. This is Excel's format ceiling, not a tool limit. If your extract is that large, export to Parquet or CSV instead, or filter the table down in the Explorer first.
What happens to nested STRUCT or LIST columns?
They're serialized to JSON text inside the cell, since Excel has no nested-cell type — the same behavior as the Parquet-to-CSV path. If you need the structure preserved as real objects and arrays, convert to JSON or JSONL instead.
Is my file uploaded anywhere?
No. The Parquet→Excel 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.

Do more with your Parquet file

Related conversions