Open an Apache Parquet file to inspect its schema, column types and statistics, browse the rows with filters and sorting, and export what you need to CSV or JSON. The file is decoded by JavaScript on your device, so even large or confidential datasets never leave your computer.
Last updated:
Schema definition
Row groups
Key-value metadata
Advertisement
Advertisement
How to use the Parquet File Viewer
Open the file: drop a .parquet file on the box or click to choose it. A small sample file is shown until you do.
Browse the data on the Data tab; use the arrows to page through and the Rows menu to show more per page.
Filter and sort: pick a column and a condition, type a value, and click a header to sort.
Inspect the structure on the Schema tab (types, nulls, min and max) and the Metadata tab (row groups, compression, writer).
Export the rows you see after filtering with Export CSV or Export JSON. Use Load more rows for big files.
How a Parquet file is organized
A Parquet file starts and ends with the four bytes PAR1. Rows are split into row groups (often 64 MB to 1 GB each, or about a million rows). Inside a row group every column is stored as a separate column chunk, made of compressed pages. The footer at the end holds the schema, the position of every column chunk and statistics such as min, max and null count, which lets query engines skip data they do not need. This viewer reads the footer first, then only the pages for the rows on screen.
Parquet types and how they are displayed
Physical type
Common logical types
Shown as
BOOLEAN
–
true / false
INT32
INT8, INT16, UINT32, DATE, TIME(MILLIS), DECIMAL
Number, 2026-03-15, 14:05:09.250 or exact decimal text
INT64
TIMESTAMP(MILLIS / MICROS / NANOS), TIME, DECIMAL, UINT64
2026-03-15 14:05:09.123456 UTC; integers beyond ±253 as exact text
INT96
Legacy Spark / Hive / Impala timestamp
Timestamp with nanoseconds
FLOAT, DOUBLE
–
Number
BYTE_ARRAY
STRING, ENUM, JSON, DECIMAL
Text; binary data as hexadecimal
FIXED_LEN_BYTE_ARRAY
UUID, DECIMAL, FLOAT16, INTERVAL
UUID text, decimal, number
Groups
LIST, MAP, structs
JSON arrays and objects
Compression codecs
Codec
Typical use
SNAPPY
Default in PyArrow, Spark and DuckDB: very fast, moderate compression.
ZSTD
Default in Polars and increasingly common: better compression at similar speed.
GZIP
Older pipelines and Hive; good compression, slower to write.
LZ4 / LZ4_RAW
Fastest decompression; LZ4_RAW is the current, well-defined variant.
UNCOMPRESSED
Rare; sometimes used for data that is already compressed.
Tips
Check the schema before loading data into a warehouse: column types, nullability and nested structures cause most import errors.
Use the min / max statistics on the Schema tab to spot outliers, wrong time zones or unexpected nulls without scanning the data.
Many small row groups (shown on the Metadata tab) slow down queries; writers usually aim for row groups of 128 MB or more.
The pandas key in the key-value metadata records the original DataFrame index and dtypes, which is useful when a round trip through Parquet changes a column's type.
Frequently asked questions
What is a Parquet file?
Apache Parquet is an open-source columnar file format for analytics. Values of each column are stored together and compressed, which makes files much smaller than CSV and lets tools read only the columns they need. Spark, pandas, DuckDB, Polars, BigQuery, Snowflake and AWS Athena all read and write it.
How do I open a Parquet file without Python?
Drop it onto this page. The viewer reads the file's footer, shows the schema and decodes the rows in your browser, with no Python, Java or database installed. You can then filter the rows and export them as CSV for Excel or Google Sheets.
Is my data uploaded?
No. The file is read in pieces directly from your disk by your browser and decoded by JavaScript on this page. Only for ZSTD-compressed files is a small open-source decompression library (fzstd) downloaded from a CDN; your data is never sent anywhere.
Can it open very large Parquet files?
Yes. Parquet keeps its schema and row group index in a footer at the end of the file, so the viewer reads that first and then decodes only the rows it shows, starting with the first 10,000. Load more rows adds 50,000 at a time, up to one million rows, depending on your device's memory. Filters, sorting and exports apply to the rows loaded so far.
Why does a column show numbers instead of dates?
Dates and timestamps are stored as numbers with a type annotation. The viewer converts DATE, TIMESTAMP (milliseconds, microseconds or nanoseconds), TIME and the legacy INT96 timestamps used by older Spark and Hive. If a writer stored dates as plain integers without an annotation, the file itself does not say they are dates, so the raw number is shown.
Which Parquet features are not supported?
Encrypted files (Parquet Modular Encryption), LZO and very old BROTLI-compressed files in browsers without Brotli support, and datasets split into external column chunk files cannot be opened. Partitioned datasets are folders of many Parquet files; open one file at a time.
How are timestamps shown?
Timestamps are shown as text in the form 2026-01-03 14:05:09.123456. A UTC suffix is added when the file marks the column as adjusted to UTC; values without it are local wall-clock times exactly as stored, without time zone conversion.
Are all the tools on FreeToolCabin tested for quality and accuracy?
Yes! Every tool on our site undergoes automated Q/A testing in real browser environments to ensure high precision, correct output, and zero errors. If you happen to spot a bug or have a suggestion, please contact us at [email protected] and our team will review it right away.