Parquet Schema Viewer

Upload a Parquet file to inspect its schema, columns and row count.

Open tool

Overview

The Parquet schema viewer reads the metadata footer of a Parquet file and prints the schema, column types, compression codecs, and row count. No data is loaded — only the structural information at the end of the file, so even very large files can be inspected quickly.

It's a quick check when you're handed an unfamiliar Parquet file from a data lake, an analytics export, or a partner pipeline. Data engineers, analytics teams, and ML practitioners use a parquet schema viewer to confirm a file matches an expected contract before pulling it into Spark, Pandas, or DuckDB.

How it works

Parquet is a columnar storage format with a self-describing footer. The last 8 bytes are [footer length (4 bytes) | "PAR1" (4 bytes)]; the footer itself is a Thrift-serialised FileMetaData structure containing the schema tree, row group descriptors, and column statistics.

The viewer reads only the footer (no row groups), walks the schema tree, and prints each leaf column with its primitive type, logical type (e.g. STRING, TIMESTAMP_MILLIS, DECIMAL), repetition (required, optional, repeated), and compression codec. Row counts are summed across row groups so you see the total.

Examples

File: events.parquet  (12,500 rows, 1 row group)

Schema:
  event_id     REQUIRED INT64
  user_id      OPTIONAL BYTE_ARRAY (STRING)
  timestamp    REQUIRED INT64 (TIMESTAMP_MICROS)
  payload      OPTIONAL group
    .type      REQUIRED BYTE_ARRAY (STRING)
    .value     OPTIONAL DOUBLE

Compression: SNAPPY  (all columns)

FAQ

How big a file can it handle?

Only the footer is read — typically a few kilobytes regardless of file size. Multi-gigabyte files are inspected in milliseconds, since the rest of the file is never opened.

Does it show row group statistics?

Column min/max/null counts can be enabled if you want to see them. They're stored per row group, so a file with several row groups shows the union of statistics.

Can I export the schema as Avro or Protobuf?

Parquet's logical types map to both, but the exact translation depends on the writer's conventions. The viewer prints the schema as Parquet's own type system; manual translation to Avro/Protobuf is more reliable than auto-generation.

Try Parquet Schema Viewer

An unhandled error has occurred. Reload ×