parquet lens for vs code
Open VSXVisual Studio Marketplacefree viewer, Pro key bought once
This is the VS Code edition of Parquet Lens. It opens Parquet, Avro, TFRecord, Arrow IPC and Feather v2 files as a table, and it reads the metadata before anything else. In our engine timing, the footer read on a 96 MB Parquet file of 5,000,000 rows took 8 ms; the rows decode as you scroll to them. A search reads the whole file without holding up the grid. Viewing is free for every format. Pro is a one-time key for whole-file filter queries, export to CSV or JSONL, exact stats and grid themes, and it runs as a 14-day trial on each machine before a key is needed.
- opens
- .parquet, .pq, .parq, .avro, .tfrecord, .tfrecords, .tfrec, .tfrecord.gz, .arrow, .arrows, .ipc, .feather and .ftr, and nothing else; a .csv or .json file is never touched
- runs on
- VS Code 1.90 and every later release, with no upper bound; the Open VSX build serves VSCodium and the other editors that use that gallery
- stores
- Open VSX and the Visual Studio Marketplace
- newest version
- 0.6.3, published 2026-09-11 on both stores
- pro
- one key from Polar for both extensions, bought once; a 14-day trial on each machine first

free
- Metadata-first open: schema, row count and row groups appear before any data decodes, whatever the file size
- Exact types: int64 and decimals at full precision, timestamps with their unit and timezone, nested lists, structs and maps as JSON
- Whole-file search: match navigation, a case toggle and matches only, which pages through the hit rows alone
- Go to row: Ctrl+G, the row number, Enter
- Schema view: logical and physical types, nullability, codecs, encodings, and the footer's per-column null counts and min/max
- Row detail: pretty-printed values with one-click copy; copy the visible rows as CSV
- Parquet, Arrow and Feather: the snappy, gzip, zstd, lz4 and lz4_raw codecs; lz4- and zstd-compressed Feather batches; Arrow IPC file and stream with dictionary-encoded columns and legacy v4 framing
- Avro containers: the row count from the block headers, so the last row of a big file is one jump away; null, deflate, snappy and zstandard codecs; nested records, arrays and maps as readable cells, logical types decoded to their values
- TFRecord: tf.Example and tf.SequenceExample records, gzip or zlib compressed too, both checksums of every record verified at open; each feature key a column, image bytes shown with their type and size
- Private by construction: no account, no telemetry; the free viewer makes no network calls
pro
- Filter queries:
country == "US" && amount > 100, tested against every row with the column's own type; the grid becomes the matching rows, search runs inside them, and export can take them - Export: all rows, the filter matches or the search matches, to CSV or JSONL, with a cancellable progress bar, never over the source file
- Exact stats: the schema view's full scan reads every row instead of the footer statistics
- Themes: twelve looks for the grid, each tuned for light and dark editors; trying one is free for the window, keeping it is Pro
price, as the store shows it
$49 personal, $99 business, one-time, includes 12 months of updates. 14 day refund. a personal key activates on up to 3 machines, a business key on 10; release a machine any time from the Polar customer portal.
one Lens Pro key covers both Parquet Lens and JSONL Lens for VS Code, but the two do not pass the key between them. paste it into each one you use, each paste being one activation call of its own, and Remove license key in that extension can release it again.
Keys come from Polar, a personal key or a business key. Pasting one makes a single activation call, and Release and remove makes a single release call; the extension makes no other call, not at startup, not on a timer, not during the trial. Get Pro and the review button open a store page in your browser.

what's new
- 0.6.3published 2026-09-11
the search row gains "Matches only". press it and the grid holds the rows the search hit, in file order, each with its file row number; press it again for every row. applying or clearing a filter ends it, and a search with no hits brings every row back on its own. searching again while it is down keeps the grid on the new hits.
go to row is the small box beside the search box: Ctrl+G, type 6901, Enter, and row 6,901 is selected, centred. the number is the one the # column shows, so under a filter or matches only it is still the file's row number; when the view does not hold that row the cursor goes to the first row after it. a 12,000 row file with 19 row groups was the test file, and the jump does not decode the rows in between.
fixed: clearing a whole-file filter left the grid the size of the filter's matches, so a file of 12,000 rows showed six after Clear until the tab was reopened. the row count comes back with the clear.
under the hood, the license check now names the Polar API version it speaks, 2026-04, so the October 1 change of default on the Polar side does not reach a pasted key.
- 0.6.2published 2026-09-09
duskhollow, abyss, obsidian and moonlit garden join the eight looks under "Parquet Lens: Pick theme"; the grid is the one JSONL Lens draws, so 0.5.2 there carries the same four. each is tuned for light and dark editors and has its own line in the picker, "deep sea: cyan text, bioluminescent numbers, violet blobs on near-black water" for abyss and "moon-green text, lavender numbers, bark amber blobs; the quiet one" for moonlit garden. a pick without Lens Pro tints the Parquet Lens tabs open in the window and is not saved: a new tab and the next start open in the default look. keeping a theme is pro, and the default look never changes.
the review ask opens the store the editor installed from. on VS Code and VS Code Insiders that is the review page on the VS Code Marketplace, and the ask says so: "If Parquet Lens is useful to you, a short review on the VS Code Marketplace helps us decide what to work on next." any other editor with an extension gallery, VSCodium among them, gets the extension page on Open VSX: "If Parquet Lens is useful to you, a short review on Open VSX helps us decide what to work on next." the extension is parquet-lens-viewer on both stores, so only the page and the words change with the host.
- 0.6.1published 2026-09-09
the grid reaches the end of a big file; the grid is the one JSONL Lens draws, so 0.5.1 there carries the same fix. the table behind the grid was as tall as every row it stood for, 23 px each, and Chromium stops a table at its layout limit divided by the display scale: about 33.5 million px at 100%, 22.4 million at 150%, 16.8 million at 200%. so the scrollbar ran out at row 1,458,888 on a 100% display, at 972,592 on a 150% one and at 729,444 on a 200% one: the rows below could not be scrolled to, and a search hit among them could not be jumped to. the table now stays under the limit at every scale, 20,000,000 px up to about 160% and less above that, and the scrollbar position is mapped to a row through the ratio between the two heights, so a 5,000,000-row file scrolls to its last row and a hit at the end lands on it; a file that fits under the cap draws exactly as before. the two spacer rows that stand in for the rows not drawn take their height through the style object now, which the webview's content policy allows where it dropped the inline attribute the grid wrote before, so the grid scrolls the whole file instead of the rows it had drawn. the trial-ended notice and the status bar tooltip now name the whole-file filter with export, exact stats and themes; 0.6.0 made the filter pro and the notice had not caught up. the listing text changed as well: the opening paragraph carries the trial clause JSONL Lens 0.5.1 carries, word for word, and quotes the status bar line "Pro trial, 14 days left"; the marketplace description is shorter and carries the same clause; a paragraph under the free list states what the viewer does with a file; and the pro section quotes the notice, names the two buttons on every pro dialog, Enter license key and Get Pro, and says that one Lens Pro key covers both extensions, each activating it on its own.
more
Pricing, invoices and licensing questions go to [email protected]; anything else about the product to [email protected].