Parquet viewer — see the schema, preview rows, and run SQL in your browser
Parquet is a columnar, strongly-typed, compressed binary format — ideal for analytics engines, useless in a text editor. Open a .parquet in less or VS Code and all you get is a PAR1 magic number and a wall of bytes; the schema and values are packed into column chunks and a footer, not laid out as readable text. This viewer reads the file directly: drop a .parquet and you immediately see the inferred schema — every column name with its DuckDB type (INTEGER, VARCHAR, TIMESTAMP, DECIMAL, and nested STRUCT/LIST) — alongside a preview of the actual rows. No install, no parquet-tools, no Python or Java, no pip install pyarrow.
What sets this apart from the crowded field of online Parquet viewers: it runs 100% in your browser via DuckDB-WASM, whereas most rivals upload your file to a server first. And it's a real query engine, not a read-only grid — write actual SQL (SELECT, WHERE, GROUP BY, aggregates) against the file and get results back, then export those results to CSV, JSON, or another format. If you need the physical layout instead — row groups, compression codec, encodings, per-column min/max stats and null counts — that lives in the Parquet Inspector (/inspect). To rewrite the file into another format rather than just read it, use the Converter (/convert).
The honest limits: because the app doesn't enable SharedArrayBuffer, DuckDB runs single-threaded here, so a multi-gigabyte file reads and scans more slowly than it would on a native multi-core box — it works, it just takes longer. The grid preview is also capped at a bounded number of rows to keep the UI responsive; that cap applies only to what's rendered, not to your queries — SQL and exports run over the entire file, not just the visible rows. The privacy claim is verifiable rather than a promise: open devtools, watch the Network tab while you load a file, and you'll see zero requests carrying its contents. Nothing is uploaded.
Drop a file or click to browse
Drop a Parquet file — read locally in your browser, never uploaded
Frequently asked questions
- Is my Parquet file uploaded anywhere?
- No. The file is read and queried entirely in your browser via DuckDB-WASM — no account, no server round-trip. You can confirm it yourself: open devtools, go to the Network tab, and drop a file; you'll see zero requests carrying its contents. Only your file stays on your machine.
- How large a Parquet file can it open?
- There's no hard server-side size cap, because nothing is uploaded — the ceiling is your browser's available memory and patience. Reading the schema and previewing rows is effectively instant even on large files, since Parquet's footer and columnar layout let DuckDB avoid a full scan. Full-table SQL or exports over a multi-gigabyte file will take longer here because DuckDB runs single-threaded.
- Can I actually query the file, or is it just a preview grid?
- You can run real SQL. This is DuckDB under the hood, so SELECT, WHERE, GROUP BY, aggregates, and expressions all work against the .parquet, and you can export the result to CSV/JSON. The row grid shows a bounded preview so the page stays responsive, but your queries and exports evaluate over every row in the file, not just the ones on screen.
Related tools
- Parquet InspectorRead a Parquet file's schema, row groups, compression & column stats.
- ConverterConvert between Parquet, CSV, JSON, Excel & more — no SQL needed.
- Warehouse DDLGenerate Snowflake/BigQuery/Redshift CREATE TABLE & load commands.
- dbt generatorGenerate a dbt sources.yml, staging model & schema.yml from a schema.