Open a Parquet file

How to open a Parquet file (no Python needed)

rows.page opens Parquet files free with no signup or install, shows SQL results up to 1,000,000 rows and skips the 1.5 GB cap that applies to CSV and JSON. You can also read Parquet with DuckDB, with pandas plus pyarrow, or in a desktop viewer like Tad.

.parquet
Drop a file here
Stays in your browserUp to 1.5 GB

No file handy? Open NYC taxi trips, April 2019 (7.4M rows, 127 MB).

Why a Parquet file shows garbage in a text editor or Excel

Parquet is a binary columnar format, not plain text like CSV or JSON. A Parquet file begins and ends with the 4 bytes PAR1, so a text editor shows PAR1 followed by unreadable compressed bytes.

Desktop Excel has no Parquet connector either. Power Query's Parquet connector exists only in Power BI and Power Query Online, so double-clicking a .parquet file won't load it into a spreadsheet.

How to open a Parquet file in your browser

rows.page needs no install: DuckDB-WASM reads the file inside your browser, so your data stays on your machine unless you click Share.

  1. Open https://rows.page and drop your .parquet or .pq file onto the page, or choose it from your computer.
  2. Scroll the grid: there is no row limit, and rows load in pages of 100 as you scroll.
  3. Open the Columns panel for each column's type, distinct count, share of empty values, min and max for numbers and dates, and a histogram or the top 10 values.
  4. Filter with the search box (country:NL, price:>20, name:*), or type a DuckDB SQL statement that starts with SELECT, WITH or FROM against the data table to get up to 1,000,000 rows.
  5. Use the Export menu to save the current view or SQL result as CSV, JSON, JSONL, zstd-compressed Parquet, or a Markdown table of the first 1,000 rows.

CSV, TSV, JSON and JSONL files are capped at 1.5 GB per browser tab, but Parquet skips that check because DuckDB reads it in place. To view a public remote file without downloading it, put its URL after rows.page/, like https://rows.page/https://example.com/data.parquet; if the host blocks cross-origin requests, the rows.page proxy fetches up to 100 MB.

rows.page can't edit cells, join two files, compare two local files side by side or export to .xlsx. The Columns panel doesn't show mean, median or standard deviation, so run SELECT avg(price), median(price), stddev(price) FROM data or FROM (SUMMARIZE data) in the SQL box.

Which tool should I use to open a Parquet file?

Ways to open a Parquet file
OptionInstall neededCostCatch
rows.pageNone (browser)Free, no signupRead-only; SQL results and exports stop at 1,000,000 rows; no .xlsx export
DuckDB CLIduckdb binaryFree (MIT)Terminal output only
DuckDB UIduckdb 1.2.1 or newerFreeRuns a local server at localhost:4213 from the CLI
pandasPython plus pyarrow or fastparquetFreeLoads the whole file into memory; you write Python
TadDesktop appFree (MIT)No SQL editor; pivot and filter in the UI
ParquetViewerDesktop appFree (GPL-3.0)Windows only
Parquet Viewer (dvirtz)VS Code extensionFree (MIT)Truncates files over 50 MB

How to open a Parquet file with DuckDB

With DuckDB installed, you can query a Parquet file in place without loading it into a database first. In the DuckDB CLI, this shows the first 10 rows:

sql
SELECT * FROM 'file.parquet' LIMIT 10;

Since DuckDB 1.2.1 (March 2025), DuckDB also has a browser interface built by MotherDuck. This command opens it at localhost:4213:

bash
duckdb -ui

How to read a Parquet file in Python with pandas

pandas reads Parquet with pd.read_parquet(), but it doesn't include a Parquet engine. Install pyarrow or fastparquet first.

python
import pandas as pd

df = pd.read_parquet('file.parquet')
print(df.head())

Desktop apps and VS Code extensions for Parquet

If you want a desktop window instead of a browser tab or terminal, these 3 tools are free:

  • Tad: a desktop app (MIT) with DuckDB inside for viewing, pivoting and filtering tabular files.
  • ParquetViewer: a standalone viewer (GPL-3.0) that runs on Windows only.
  • Parquet Viewer by dvirtz: a VS Code extension (MIT) that previews a .parquet file from your editor sidebar but truncates files over 50 MB.

How to check a Parquet schema or convert it to CSV for Excel

To see column names and types before you write a pipeline, open the Columns panel on rows.page or run DESCRIBE in DuckDB:

sql
DESCRIBE SELECT * FROM 'file.parquet';

To get a Parquet file into desktop Excel, open it on rows.page, filter or hide the columns you don't need, and choose Export > CSV. You get a comma-delimited UTF-8 CSV without a BOM, and any cell that starts with =, +, -, @, a tab or a carriage return gets a leading apostrophe so Excel won't run it as a formula. Filtered views export every matching row, while SQL results stop at 1,000,000 rows.

rows.page limits and prices

WhatLimit or price
Open a file in your browserFiles up to 1.5 GB, $0, no account, nothing uploaded
Share a link without an account$0, files up to 100 MB, link deleted 7 days after creation
Free account$0, 10 datasets kept, last 3 versions
Pro$12/month, 100 datasets, files up to 500 MB, private links
Max$39/month, 1,000 datasets, files up to 2 GB, private links

Questions

Is my Parquet file uploaded to a server when I open it on rows.page?

No. DuckDB-WASM reads the file inside your browser tab, and nothing leaves your computer unless you click Share. Without an account, a shared file can be up to 100 MB and is deleted after 7 days.

Can I open a Parquet file from S3, GitHub or Hugging Face without downloading it?

Yes, if the URL is public: paste it after https://rows.page/. This works with raw.githubusercontent.com links (use the Raw link, not /blob/), Hugging Face /resolve/ links and S3 presigned URLs, and the rows.page proxy steps in if the host blocks cross-origin requests (up to 100 MB, 30 seconds and 5 redirects).

How does rows.page handle nested structs and lists inside Parquet columns?

Nested structs flatten into dot-path columns like user.address.city, up to 8 levels deep and 200 child fields per object, while lists stay as list columns that show the first 6 items and +N. Click any row to see it as JSON in a side drawer, and wrap dot-path names in double quotes in SQL, like "user.city".

Can I share a Parquet file from the command line?

Yes: curl -T file.parquet https://rows.page uploads the file and prints a link. Without an account you get 50 pushes and 1 GB per IP address per UTC day. One push takes up to 100 MB on any plan, and Pro ($12 per month) and Max ($39 per month) accept files up to 500 MB and 2 GB through multipart uploads.

Why did VS Code cut off the rows in my Parquet file?

VS Code lets extensions work only on files under 50 MB, so the dvirtz Parquet Viewer truncates bigger files. Open the file on rows.page, where Parquet skips the 1.5 GB browser check, or query it with the DuckDB CLI.