Skip to main content
DataToolsOnline

Parquet Profiler and Analyzer

Open a Parquet file to see exact per-column statistics and the file's own real storage structure — row groups, compression and encoding read straight from its footer.

Loading the Parquet Profiler…

What this tool does

This is the same column-by-column profiling as the CSV Profiler — exact row and column counts, null and unique counts, and type-specific statistics (numeric, string, boolean, date) — plus a second section that only a Parquet file can have: real facts read from the file's own footer about how it is physically stored on disk.

Parquet file structure

The format version, the writer that produced the file (if recorded), the number of row groups, and, per physical column: its on-disk type, which compression codec and encoding were used, and its compressed versus uncompressed size. These are read directly from the file's footer with DuckDB's Parquet metadata functions — not estimated, and not something a CSV file could ever report, since CSV has no footer, no per-column compression and no fixed schema of its own.

Nested columns: honest, not flattened

A list or struct (nested-object) column is reported with its null and unique counts, like any other column, but no invented numeric or string statistics — those would require flattening the value, which this tool never does silently. The file-structure table below shows why: Parquet physically stores a struct field or a list's elements as their own column on disk, so a single nested column in your data can appear as several rows there, one per physical leaf column, exactly as the file itself lays it out.

Same definitions as the CSV Profiler, with one real difference

Null and duplicate-row counts are defined exactly as in the CSV Profiler. One thing is genuinely different: Parquet can store a true empty string distinctly from a missing (NULL) value, something CSV cannot do (a blank CSV field always becomes NULL when read). This tool's “Empty string ('')” count for a Parquet file is a real count of stored empty strings, not always zero the way it structurally is for a CSV-sourced column.

Browser-local processing

Every statistic runs as a SQL query against your file inside DuckDB, running as WebAssembly in your browser. Your file is not uploaded. See the privacy page for what is and is not verified about that.

Large files

This tool warns you above roughly 100 MB, warns more strongly above roughly 500 MB, and declines to open a file above roughly 2 GB. Duplicate-row detection compares every column of every row and is skipped above roughly 500 MB, shown as “Not calculated”, never as zero duplicates.

Related reading