Loupe — CSV & JSON viewer with SQLOpen a big CSV as a real table, right in your editor. Then run SQL against it. VS Code opens a 200 MB CSV as 200 MB of text. You get a wall of commas, no column alignment, and a search box. Loupe opens the same file as a sortable, filterable table — and gives you a query box. Nothing is uploaded. Nothing is written back. The file does not leave your editor. What it doesOpen any Look at it. Columns are typed from a sample, so numbers sort numerically and align right. Filter across every column as you type. Per-column summary: min, max, mean, distinct count, how many blanks. Query it.
No Why it is fastFiles are read in 4 MB slices through an incremental parser, and only the ~30 rows actually on screen are ever in the DOM. The row count in the document does not grow with the file. Measured on 200,000 rows × 4 columns, filtering to a third and aggregating into 8 groups:
Parsing throughput is around 45 MB/s on a 17 MB file full of quoted newlines and escaped quotes. Messy filesReal exports are not clean, so the parser is built for the mess:
The file does not leave your editorThis is the reason the extension exists, so it is enforced rather than promised:
You can check this yourself: the source is MIT and the scripts are plain, unminified
JavaScript inside the LimitsThe file is held in memory, so the ceiling is what the editor's renderer process will give
you — a few hundred MB of CSV in practice. Files over 256 MB are refused; raise
A plain Loupe is a reader. It will not edit or save your data. Settings
SourceThe parser, the type inference and the SQL engine are the same code that runs at kotebako.com/loupe, copied in verbatim at build time so the two cannot drift apart. 88 tests cover the parser and the SQL engine; 50 more cover the extension itself. MIT — github.com/kotebako/loupe Bugs and requests: github.com/kotebako/loupe/issues |