Skip to main content
DataToolsOnline

SQL on Parquet

Load a Parquet file and query it with real SQL, powered by DuckDB running as WebAssembly in your browser — including its nested STRUCT and LIST columns.

Loading the SQL editor…

What this tool does

Your Parquet file is read locally and exposed as a table named data, with its real schema — including nested STRUCT and LIST columns — read straight from the file, not guessed. Write any SQL statement DuckDB supports: dot into a nested field (address.city), unnest a list, aggregate, join, filter by row-group-friendly predicates. This is the full DuckDB SQL dialect, the same one native DuckDB uses.

Results and export

The preview shows up to 1,000 rows so a large result never has to sit fully in the browser tab. Exporting re-runs your exact statement and streams the complete result straight out of DuckDB as a CSV file, using the same safe export path as every other CSV export on this site: a value that a spreadsheet would read as a formula is neutralized. Only a statement that returns rows (aSELECT-style query) can be exported.

An expensive query is still your query

A query that scans a lot of data, or joins a table against itself, can take a while or use a lot of memory — the same as it would in any local SQL tool. Use Cancel if a query is taking longer than expected; it stops the query without closing the file.

Browser-local processing

Your file is registered with the local database engine and never uploaded. The engine only loads its own WebAssembly, worker and extension files from this site; see the privacy page for what is and is not verified about that.

Don't need to write SQL?

The Parquet Viewer offers search, sort and file structure with no SQL required, and the Parquet Profiler computes column statistics automatically.

Large files

This tool warns you above roughly 100 MB, warns more strongly above roughly 500 MB, and declines to open a file above roughly 2 GB rather than risk crashing the tab.

Related reading