viewhack

CSV viewer: open big CSV and TSV files without Excel

Drop a comma-, tab-, semicolon- or pipe-separated file. viewhack finds the delimiter and the header row, counts every row, works out each column's type and shows the rows in a grid that only draws what is on screen. A 500 MB export opens without freezing the tab.

The file is read on your device. It is never uploaded.

What it shows

Why not just open it in Excel?

Excel stops at 1,048,576 rows and warns that the file was "not loaded completely". The rest is simply left out. Google Sheets stops at 10 million cells, so a 1-million-row file with 11 columns is already too big. Both also convert values as they load. viewhack reads to the last row and shows what the file really contains. When you need to change data, use a spreadsheet or a database. When you need to see what is in a file, or check it before importing, this is quicker.

How it stays fast on huge files

A background thread (a Web Worker) reads the file in 4 MB slices, so the page never stops responding. After the first slice the rows appear, while counting continues. The worker keeps only where each row starts, 8 bytes per row, so a 10-million-row file needs about 80 MB of memory. It also re-reads just the rows on screen as you scroll. The site's automated test builds a 105 MB, 2.9-million-row CSV in headless Chrome and opens it. It requires the first rows within 10 seconds and no pause of the page longer than a second. On the test server, the first rows appeared after about 0.2 seconds and every row was counted in about 1 second.

Sorting needs the whole column in memory and is available up to 1,000,000 rows. Bigger files stay in file order, and the page says so.

What it cannot open