Guide

Parquet Viewer: Complete Feature Guide & Reference

By FinancialDataTools.com Team  ·  March 2026  ·  12 min read  ·  Last updated March 14, 2026

🗜️ Open the Parquet Viewer to explore every feature described in this guide.

Open Parquet Viewer →

Contents

  1. What Is the Parquet Viewer?
  2. How DuckDB-Wasm Reads Parquet
  3. Supported Parquet Versions and Codecs
  4. Supported Data Types
  5. The Toolbar
  6. Stats Bar
  7. Sorting Columns
  8. Row Filtering
  9. Global Search
  10. Cell Detail Panel
  11. Schema Inspector
  12. Pagination
  13. Export Options
  14. Privacy & Security
  15. Use Cases for Financial Data

What Is the Parquet Viewer?

The FinancialDataTools.com Parquet Viewer is a free, browser-based tool for opening and exploring Apache Parquet files. It uses DuckDB-Wasm — the official WebAssembly build of the DuckDB analytical database — to read Parquet files natively and efficiently, entirely inside your browser. No file is ever transmitted to any server.

Parquet is a columnar storage format widely used in data engineering, machine learning, and financial data pipelines. Before the Parquet Viewer, inspecting a Parquet file required Python, Spark, or a data warehouse connection. Now you can open any Parquet file in seconds, directly in your browser.

Try the Parquet Viewer — runs entirely in your browser and never uploads your files.

Open the Parquet Viewer →

How DuckDB-Wasm Reads Parquet

When you open a Parquet file in the viewer, the following steps happen entirely inside your browser:

  1. DuckDB-Wasm is initialized in a Web Worker (keeping the UI responsive during loading)
  2. Your file is registered in DuckDB-Wasm's in-memory virtual file system using registerFileBuffer
  3. Column metadata is read using DuckDB's DESCRIBE SELECT * FROM read_parquet('file.parquet') LIMIT 0 — this reads only the Parquet file footer metadata, not the row data, so it's fast even for large files
  4. The total row count is retrieved with a SELECT COUNT(*) query
  5. Row data is fetched with SELECT * FROM read_parquet('file.parquet') LIMIT 5000

DuckDB's Parquet reader handles all the columnar decoding, compression decompression, and type conversion automatically. The viewer then converts DuckDB's Apache Arrow result format to JavaScript arrays for display.

The viewer selects the optimal DuckDB-Wasm bundle automatically: the eh (exception handling) bundle for browsers that support it, or the mvp bundle as a fallback.

Supported Parquet Versions and Codecs

DuckDB's Parquet reader supports all standard Parquet versions and compression codecs:

Parquet VersionSupport
Parquet 1.0Fully supported
Parquet 2.xFully supported, including all 2.x encodings
Compression CodecSupport
Uncompressed
Snappy✓ (most common default)
Gzip
LZ4
Zstandard (Zstd)
Brotli
LZOLimited (rarely used in practice)

Supported Data Types

DuckDB maps all standard Parquet physical and logical types to its own type system. The viewer infers a display type from the DuckDB type and shows a color-coded badge on each column header:

BadgeDuckDB TypesDisplay Behavior
INTTINYINT, SMALLINT, INTEGER, BIGINT, HUGEINT, UBIGINT, UINTEGERRight-aligned in blue; bigint values converted to JavaScript numbers
FLOATFLOAT, DOUBLE, REAL, DECIMAL, NUMERICRight-aligned in amber
BOOLBOOLEANDisplayed as true/false in purple
DATEDATE, TIME, TIMESTAMP, INTERVALISO 8601 formatted; timestamps shown as YYYY-MM-DD HH:MM:SS
BLOBBLOB, BINARY, BYTEAShown in pink; binary values not displayed as text
TEXTVARCHAR, TEXT, and all other typesDefault string display; green badge

Nested Parquet types (LIST, MAP, STRUCT) are automatically serialized to their JSON string representation for display in the grid. Click any cell containing a nested value to see the full pretty-printed JSON in the Cell Detail Panel.

The Toolbar

ButtonFunction
Open FileOpens a system file picker to select your .parquet file
SchemaOpens the column schema modal showing column names and DuckDB types
ExportOpens the export dialog
File name displayShows the currently loaded file name
Search boxGlobal text search across all visible columns

You can also drag and drop a Parquet file anywhere on the viewer to open it without using the Open button. Multi-step loading feedback is shown during initialization: Initialising DuckDB-Wasm…Reading Parquet metadata…Loading rows…

Stats Bar

Sorting Columns

Click any column header to sort ascending, click again for descending, and a third click returns to the original row order. Sorting is applied client-side to the currently loaded page of rows. For globally-sorted results across an entire large file, use the DuckDB Viewer which supports ORDER BY queries via its SQL panel.

Row Filtering

Click the filter icon in any column header to open the column filter panel. Two modes are available:

Column filters operate on the currently loaded page of rows. For a file with millions of rows, only the first 5,000 rows (or the current page) are in memory for filtering. Use the DuckDB Viewer with a WHERE clause for server-side filtering of very large Parquet files.

The toolbar search input performs a real-time text search across all visible columns. Rows where no column contains the search term are hidden. Global search operates on the currently loaded page and stacks with active column filters.

Cell Detail Panel

Clicking any cell opens the Cell Detail Panel on the right side of the viewer. This panel shows the row number, column name, DuckDB type (with full type string like DECIMAL(18,6)), character length, and the full cell value. Nested values (LIST, MAP, STRUCT) are automatically pretty-printed as JSON for easy inspection. A Copy value button copies the raw value to the clipboard.

Schema Inspector

Click the Schema button to open the schema modal. For each column it shows:

The Copy Schema button copies the complete column list as plain text. This is particularly useful when setting up a target database table or documenting a Parquet schema for a data contract.

Pagination

Parquet files with more than 50,000 rows are automatically paginated to 5,000 rows per page. DuckDB-Wasm fetches each page using SELECT * FROM read_parquet('file') LIMIT 5000 OFFSET N, loading only the rows being displayed into browser memory. This makes the viewer memory-efficient even for files with millions of rows.

The page bar shows the current page, total pages, and absolute row range. When search or column filters are active, the filtered row count is used for pagination and page navigation.

Export Options

Click Export in the toolbar to open the export dialog. Four formats and two scopes are available:

FormatBest ForNotes
CSVSpreadsheets, Python/pandas, data pipelinesUTF-8; NULL as empty string; nested types as JSON strings
JSONAPIs, downstream processingArray of objects; column names as keys; null preserved
Excel (.xlsx)Sharing with stakeholdersFrozen header row; auto-sized columns; attribution sheet
TSVTab-separated import targetsUseful when values contain commas

Two export scopes:

Privacy & Security

The Parquet Viewer processes your file entirely inside your browser via DuckDB-Wasm. Your file is registered in an in-memory virtual file system and never transmitted to any server. DuckDB-Wasm reads and decompresses the Parquet format locally within the WebAssembly runtime.

Network requests from the viewer are limited to loading the DuckDB-Wasm runtime from jsDelivr CDN and ExcelJS for Excel export. No row data, schema information, or file contents leave your browser.

This makes the viewer appropriate for sensitive financial Parquet files including:

Closing the browser tab clears all data from memory immediately. No data is written to localStorage or any persistent browser storage.

Use Cases for Financial Data

Parquet has become the dominant columnar storage format for financial data engineering. Common scenarios where the viewer adds immediate value:

Related Articles

Advertisement