Large CSV Viewer
Open CSV and TSV files of hundreds of MB or several GB in VS Code. The first rows are on screen in a fraction of a second, while the rest of the file is indexed in the background.
Measured on a 496 MB CSV with 8.7 million rows (quoted fields, line breaks inside fields, UTF-8), VS Code 1.142, same machine and file for every extension:
- First rows on screen in about 0.2 s (median of 5 runs, from the open command to the rows being visible).
- Whole file indexed in about 1 s. You can scroll while that runs; the row count fills in as it goes.
- Jump to any row, including the last one: a few milliseconds.
- Filter, search, sort and column stats across all 8.7 million rows run in a background thread, so VS Code stays responsive. Filter results start to appear after about 0.2 s and grow while the scan continues.
- Extra memory for the index: about 20-35 MB.
Features
- Read-only. The file is never changed.
- Detects the delimiter (
, ; tab |) and the encoding (UTF-8 with or without BOM, UTF-16 LE/BE with or without BOM).
- Handles quoted fields, escaped quotes (
""), and line breaks inside fields correctly (RFC 4180).
- Click a header to sort ascending, then descending, then back to file order. Numeric columns sort as numbers.
- Filter one column or all columns:
text contains (case-insensitive), !text does not contain
=text equals, !=text not equal
>10, >=10, <5, <=5 numeric comparisons
/regex/i regular expression
- Search with Find next (same syntax), and jump to row.
- Column stats: count, empty, min, max, and distinct count (exact up to 10,000 values, then a HyperLogLog estimate within about 1%).
- Cancel button for long operations.
- No telemetry and no network access. No dependencies at runtime. The package is about 20 KB.
How to open a file
Right-click a .csv, .tsv, .tab or .psv file in the Explorer and choose Open in Large CSV Viewer.
You can also use the button in the editor title bar, run the command Large CSV: Open in Large CSV Viewer, or use Reopen Editor With... > Large CSV Viewer.
To make it the default for CSV files, add this to your settings:
"workbench.editorAssociations": { "*.csv": "digivibetech.largeCsv" }
Settings
largeCsv.delimiter: auto (the default), ,, ;, tab or |.
Limits
- The first row is always treated as the header.
- Filter, search, sort and stats wait until the index is complete (about 1 s per 500 MB on a fast disk), then scan the file at roughly 60 MB/s.
- Sort keeps a per-row key in memory: about 8 bytes per row for numbers, plus the distinct values for text. For 9 million rows that is about 300-400 MB of RAM while sorting.
- Text sort uses the full value when a column has up to 3 million distinct values. Above that, it sorts on the first 32 characters.
- Local files only (no remote or virtual file systems).
Privacy
The extension reads only the file you open. It sends nothing and makes no network requests. See https://digivibetech.com/privacy/large-csv-viewer/
Support
https://digivibetech.com/support/ · DigiVibeTech, Amersfoort, the Netherlands
Price
Free.
| |