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.
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.
- Open
https://rows.pageand drop your.parquetor.pqfile onto the page, or choose it from your computer. - Scroll the grid: there is no row limit, and rows load in pages of 100 as you scroll.
- 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.
- Filter with the search box (
country:NL,price:>20,name:*), or type a DuckDB SQL statement that starts withSELECT,WITHorFROMagainst thedatatable to get up to 1,000,000 rows. - 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?
| Option | Install needed | Cost | Catch |
|---|---|---|---|
| rows.page | None (browser) | Free, no signup | Read-only; SQL results and exports stop at 1,000,000 rows; no .xlsx export |
| DuckDB CLI | duckdb binary | Free (MIT) | Terminal output only |
| DuckDB UI | duckdb 1.2.1 or newer | Free | Runs a local server at localhost:4213 from the CLI |
| pandas | Python plus pyarrow or fastparquet | Free | Loads the whole file into memory; you write Python |
| Tad | Desktop app | Free (MIT) | No SQL editor; pivot and filter in the UI |
| ParquetViewer | Desktop app | Free (GPL-3.0) | Windows only |
| Parquet Viewer (dvirtz) | VS Code extension | Free (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:
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:
duckdb -uiHow 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.
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
.parquetfile 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:
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
| What | Limit or price |
|---|---|
| Open a file in your browser | Files 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.