Parquet Viewer & Parquet Explorer

Parquet Viewer & Parquet Explorer for Large Parquet File, Schema & Nested Data, a VS Code extension by Zovo

Open .parquet, .parq and .pq files in VS Code as a fast, sortable grid. Free, no sign-in, works offline. No Python, no parquet-tools, no Java and no native modules: it is plain JavaScript, so it runs the same on Windows, macOS (Apple silicon too), Linux, Remote SSH, WSL and Codespaces.

Install in VS CodeOpen the Marketplace page

Free, MIT license. Needs VS Code 1.90.0 or newer. Extension ID zovo.zovo-parquet-viewer, version 0.2.2.

A 50,000-row Parquet file open in VS Code: column types in the headers, a filter under each header, and a nested struct shown as a tree in the detail pane

What you can do with the rows:

A cut-off Parquet file: the viewer says the end of the file is missing and how to fix it

Questions people ask

Is Parquet Viewer & Parquet Explorer free?

Yes. Parquet Viewer & Parquet Explorer is free and MIT licensed.

How do I install Parquet Viewer & Parquet Explorer?

Click "Install in VS Code" above, or search for zovo.zovo-parquet-viewer in the Extensions view.

How to use it

  1. Click a Parquet file in the Explorer. It opens in the grid. (Right-click a file and pick Open in Parquet Grid Viewer if another editor is the default.)
  2. Click a column header to sort (again for descending, a third time to clear).
  3. Type in the box under a header to filter that column:
You typeRows shown
airthe value contains "air" (any case)
=cashthe value is exactly "cash"
!nightthe value does not contain "night"
>100, <=0.5numeric compare in number columns, text compare in others
5..9, 2026-03-01..2026-03-31between, both ends included
null, !nullempty or not empty
`/^JFK\LGA/`a regular expression
  1. The search box at the top looks in every column, nested ones too.
  2. Click a cell and press Enter (or click Details) to see the whole value. Nested cells open as a tree.
  3. Select cells with the mouse, Shift+click or Shift+arrows, or click row numbers for whole rows. Copy puts them on the clipboard as CSV, JSON or Markdown. Ctrl+C (Cmd+C) copies tab-separated text for a spreadsheet.
  4. Export saves every row of the current view (filters and sort applied) as CSV or JSON Lines.
The Schema tab: summary cards, column types and nesting, key-value metadata and the row group table

Large files

Opening a file reads the footer only. Rows are read in blocks as they scroll into view, from the row group that holds them: 2,000 rows at a time when the file has a page index (then only the needed pages are read), bigger blocks when it has none. Up to about 1.5 million decoded cells stay in memory; older blocks are dropped.

Filter, sort, search and export read the needed columns of every row group in turn, in a background thread, with a progress bar and a Cancel button. Sorting keeps one column of the matching rows in memory, so it stops at 2,000,000 rows (setting parquetViewer.maxSortRows); filter first to sort part of a bigger file.

SettingDefaultWhat it does
parquetViewer.maxSortRows2,000,000most rows a sort works on
parquetViewer.maxMatches5,000,000filters and search stop after this many matches
parquetViewer.maxCopyRows100,000most rows copied at once (export has no limit)
parquetViewer.maxFooterMB256larger metadata shows a message
parquetViewer.maxChunkMB2,048a larger column chunk shows a message
parquetViewer.maxVirtualFileMB512files on remote or virtual file systems are read whole up to this size

Why this one

People reported these problems with Parquet viewers on the Marketplace. Each one is covered by a test in this repo or by the real VS Code check before release.

Reported problemHere
Large files keep loading or never open (1, 2, 3)only the footer is read on open, then the rows on screen, in a background thread; damaged files get a message, not a spinner
"invalid parquet type: DECIMAL" (1, 2, 3)DECIMAL in INT32, INT64, FIXED_LEN_BYTE_ARRAY and BYTE_ARRAY, exact to 38 digits
ZSTD, Gzip, Brotli or LZ4 files fail (1, 2, 3)all of them, checked to give the same rows
Needs parquet-tools, Python or a native module, fails on Windows or Apple silicon (1, 2, 3)plain JavaScript, nothing to install
Integers above 2^53 show the wrong value (1)INT64 and UINT64 are exact, in the grid, in copy and in export
Struct columns are not shown (1)LIST, MAP and STRUCT, any depth, with a tree view
.parq files do not open (1).parquet, .parq and .pq
Column names with % or file names with ' break (1, 2)tested with a file named it's 100% names.parquet
No total row count or filtered count (1)both, in the toolbar and the status bar
A review says the viewer asked for payment (reviews)free, with no paid tier and no license key

Privacy

The viewer makes no network requests. The webview's content security policy is default-src 'none', scripts run only with a per-page nonce, and there is no telemetry. The file is opened read-only and is never changed. The only links that leave VS Code are the Rate, Sponsor and More free viewers links, and only when you click them.

Limits

Credits

Parquet decoding by hyparquet and hyparquet-compressors (MIT). Test files include samples from apache/parquet-testing (Apache-2.0). See THIRD-PARTY-NOTICES.txt.

Guides

Install Parquet Viewer & Parquet Explorer

Click the button to open VS Code and install it, or press Ctrl+P (Cmd+P on macOS) in VS Code and run ext install zovo.zovo-parquet-viewer.

Free, MIT license. Needs VS Code 1.90.0 or newer. Extension ID zovo.zovo-parquet-viewer, version 0.2.2.

Source code and issues are on GitHub.

All our VS Code extensions

Support this work

If this extension saves you time, you can support the work on GitHub Sponsors. Monthly tiers start at $5, and one-time tiers start at $15. Sponsorship is optional, and the tool works the same without it.

Need your format supported?

Open a format request with a sample file, and I reply there whether it can be done. For USD 299 once, through this GitHub Sponsors tier, I add your file format or a missing feature to this extension, with tests, within 7 days.