Inspect Parquet and export selected data

Parquet1/2 plaintext metadata, row groups and selected top-level columns.

  • Runs in your browser
  • No upload
  • Check before download

Files and schemas stay in this tab and a local worker. Nothing is uploaded or stored automatically. Clear/close loses your inputs; keep originals and save wanted results.

Parquet1/2 plaintext metadata, row groups and selected top-level columns. PLAIN, dictionary/RLE, DELTA_BINARY_PACKED (exact INT32/64), DELTA_LENGTH_BYTE_ARRAY, DELTA_BYTE_ARRAY and BYTE_STREAM_SPLIT; uncompressed, Snappy, GZIP and ZSTD. Nested lists/maps/structs retain nulls; maps keep entries, including duplicates. DECIMAL remains exact text, timestamps remain signed ticks with unit/UTC flag; INT96 assumes the legacy Julian-day/nanosecond convention. Encrypted/external columns and other codecs are explicitly rejected. A selected column chunk is decoded within the physical-value/page budget, even for a small preview. CSV quotes non-null fields, keeps blobs as hex and nested cells as tagged JSON; null is a separate collision-checked token. Spreadsheet software may still reinterpret numeric text; apostrophe protection changes formula-like text and is not a universal spreadsheet guarantee. INT96 outside the declared nano-of-day convention remains exact raw hex with an int96Raw diagnostic; nominal timestamps from external notes are never substituted. Legacy LIST tuple groups retain their named fields; canonical wrappers keep empty-list and null-element distinctions. Null-token collisions are checked both before and after formula protection; a transformed marker collision rejects the export.

File up to 16 MiB; Protobuf up to 1 MiB; each schema up to 256 KiB and 1 MiB combined. Depth 64, 20,000 metadata or wire nodes and 100,000 physical or retained values; decoded budget 32 MiB; generated output 8 MiB plus the original. Preview 200 rows; export 10,000 rows. The worker stops after 5 seconds. SQLite's 64 MiB of linear memory is not the whole browser heap.

Local binary file

0 B

Operation

Method and limits

Supported profile

Parquet1/2 plaintext metadata, row groups and selected top-level columns. PLAIN, dictionary/RLE, DELTA_BINARY_PACKED (exact INT32/64), DELTA_LENGTH_BYTE_ARRAY, DELTA_BYTE_ARRAY and BYTE_STREAM_SPLIT; uncompressed, Snappy, GZIP and ZSTD. Nested lists/maps/structs retain nulls; maps keep entries, including duplicates. DECIMAL remains exact text, timestamps remain signed ticks with unit/UTC flag; INT96 assumes the legacy Julian-day/nanosecond convention. Encrypted/external columns and other codecs are explicitly rejected. A selected column chunk is decoded within the physical-value/page budget, even for a small preview. CSV quotes non-null fields, keeps blobs as hex and nested cells as tagged JSON; null is a separate collision-checked token. Spreadsheet software may still reinterpret numeric text; apostrophe protection changes formula-like text and is not a universal spreadsheet guarantee. INT96 outside the declared nano-of-day convention remains exact raw hex with an int96Raw diagnostic; nominal timestamps from external notes are never substituted. Legacy LIST tuple groups retain their named fields; canonical wrappers keep empty-list and null-element distinctions. Null-token collisions are checked both before and after formula protection; a transformed marker collision rejects the export.

Resource limits

File up to 16 MiB; Protobuf up to 1 MiB; each schema up to 256 KiB and 1 MiB combined. Depth 64, 20,000 metadata or wire nodes and 100,000 physical or retained values; decoded budget 32 MiB; generated output 8 MiB plus the original. Preview 200 rows; export 10,000 rows. The worker stops after 5 seconds. SQLite's 64 MiB of linear memory is not the whole browser heap.

Files and schemas stay in this tab and a local worker. Nothing is uploaded or stored automatically. Clear/close loses your inputs; keep originals and save wanted results.

How to inspect safely

  1. Local binary file

    Load a local Parquet file and look at its metadata first. Then choose all row groups or just one, the top-level columns, a starting row and a row count, and pick preview or CSV export.

  2. Schema and metadata

    Load the built-in sample: column value has DECIMAL precision 4, scale 2 and 24 rows. Start at 0 and request 2 rows. The values come out as the exact decimal strings 1.00 and 2.00, not as binary64 approximations.

  3. Verify and save exports

    Compare the row window you selected with totalRows; the preview is not the whole dataset. Check the logical types, compression and diagnostics before you save selection.csv and report.json. Nested values keep their tagged structure.

Method and limits

How does the Parquet CSV keep decimals, nested values and null intact?

Choose a delimiter, LF/CRLF, an optional UTF-8 BOM and a null token that doesn't collide with your data. Non-null cells are quoted. Decimal and integer text stays exact, bytes are written as hex, and nested cells use tagged JSON. Spreadsheet programs can still reinterpret numbers, so import precision-sensitive columns as text. Formula-prefix mode changes text that looks like a formula.

Why can’t this file or selection be read?

Encrypted files, external column chunks and unsupported codecs or encodings are rejected. Supported compression is uncompressed, Snappy, GZIP or ZSTD. Even a small row preview may need to decode a whole selected chunk, which can exceed the resource limit.

What does this inspector deliberately not do?

Local files up to 16 MiB, at most 10000 requested rows and 200 preview rows shown. This is limited inspection and export. It is not SQL analytics or editing, and it doesn't promise to support every Parquet variant. The original bytes stay unchanged.