Parquet Schema Reader
Upload a .parquet file to see exactly how its schema is defined: every column's name, physical storage type, logical/converted type annotation, and repetition (required, optional, or repeated). Results are shown as a clean table and as copyable raw JSON, so you can drop the schema straight into documentation, a data contract, or another tool's config.
Reviewed by Vincenzo Manto, Founder & Lead Developer · Last updated September 27, 2026
How it works
- 1
Upload a .parquet file from your device.
- 2
The file's footer metadata is parsed locally to extract the schema tree.
- 3
Each column is listed with its physical type, logical type, and repetition.
- 4
Copy the equivalent raw JSON schema for use elsewhere.
Why check a Parquet schema directly?
Before loading a parquet file into a pipeline, warehouse, or notebook, it's often useful to know exactly what columns and types it contains, especially when the file came from someone else or from an unfamiliar export job. This tool gives you that answer in seconds, without needing to spin up pyarrow or DuckDB just to call `.schema`.
A copyable JSON schema for your own tools
Alongside the readable table, the raw schema array is shown as formatted JSON you can copy directly. That's handy for pasting into a data contract, a validation script, or an explicit schema definition for hyparquet-writer or another parquet-writing library.
Frequently asked questions
What's the difference between physical type and logical type?
The physical type is how the bytes are actually stored (e.g. BYTE_ARRAY, INT64, INT32), while the logical type is an annotation describing what the bytes represent, such as UTF8 text, a DECIMAL with precision and scale, or a TIMESTAMP with a time unit.
What does 'repeated' mean for a column?
REPEATED marks a field that can appear multiple times per row, which parquet uses under the hood to encode list and array columns.
Can I see the schema without reading all the row data?
Yes, this tool only reads the file's footer metadata, which contains the full schema, so it's fast even on very large parquet files.
Does this work for nested/struct schemas?
Yes. Nested groups and their child fields are all listed in the flattened schema table, mirroring how parquet stores nested structures internally.
Is the file uploaded anywhere?
No. Parsing happens in your browser using the hyparquet library, so the file never leaves your device.