Free PARQUET test files and sample generator
Columnar binary storage format for analytics and big-data pipelines. Efficient compression and query performance.
What is a .parquet file?
PARQUET: Apache Parquet. Parquet is a columnar binary format built for analytics: it stores values column by column so a query can read only what it needs. It is the storage layer of most data lakes and the standard output of Spark and pandas pipelines.
Why generate a test PARQUET file?
- Test a data-lake ingestion path or schema-inference step with a real columnar file.
- Check that a reader handles the footer metadata and column types correctly.
- Measure read performance and memory use on a large file.
What you can put inside a .parquet file
You get 2 content options for PARQUET, so the file holds something meaningful rather than random padding: Numeric table, Text table. For PARQUET these are alternatives, so choose the one that matches what you need to test.
How a .parquet file is identified
Every .parquet file begins with 50 41 52 31, "PAR1", and it appears at BOTH ends of the file. That is what a validator inspecting content rather than the file name looks for.
How the size lands on the exact byte
Readers reach the data through offsets in the footer, so padding between the data page and the footer is invisible to them.
Negative testing with broken PARQUET files
- Invalid. Identifiable, but wrong inside, so it fails during parsing.
- Corrupted. The leading bytes are destroyed, so the
50 41 52 31identifying a .parquet is gone. Same length as the valid file. - Incomplete. Truncated part-way, so it is genuinely shorter.
- Empty. Chosen under Content rather than File Condition: valid structure, no data.
Which failure to reach for, and what to assert for each, is covered in how to make a corrupted file for testing. For upload limits and type checks see testing file upload validation.
Sample PARQUET content
[Columnar binary], schema: id:int, name:string, amount:double
This shows the shape of the file. Your download is generated fresh at the size you choose, so the values will differ.
How to open and verify the file
Read with `pandas.read_parquet(path)`, DuckDB (`SELECT * FROM 'file.parquet'`), or `parquet-tools schema`.
Media type application/vnd.apache.parquet · extension .parquet · category Data
Generate a .parquet file → · questions about sizes, privacy or cost are answered on the site FAQ.
Frequently asked questions about PARQUET files
What identifies a .parquet file?
A .parquet file begins with the bytes 50 41 52 31, "PAR1", and it appears at BOTH ends of the file. Those bytes are what a content-sniffing validator looks for, and what the Corrupted condition destroys.
How can a .parquet file be an exact number of bytes?
Readers reach the data through offsets in the footer, so padding between the data page and the footer is invisible to them.
What can go inside the PARQUET file?
There are 2 content options for .parquet: Numeric table, Text table. For PARQUET these are alternatives, so pick the one matching what you need to test.
Can I download several broken PARQUET files at once?
Yes, select more than one File Condition and you get one ZIP containing a .parquet per condition, each named after its condition.
Can the PARQUET file use UTF-16 or a byte-order mark?
No, and deliberately. A .parquet file is a container rather than plain text, so rewriting its bytes as UTF-16 would not produce a UTF-16 document. It would produce a broken file. Use a text format such as CSV, JSON or XML for encoding tests.
How do I open or verify the PARQUET file?
Read with pandas.read_parquet(path), DuckDB (SELECT * FROM 'file.parquet'), or parquet-tools schema.