Large CSV/TSV Explorer

Open, filter, inspect and export very large CSV or TSV files locally with incremental parsing and a virtualized table.

No data is sent to the server

Drop a CSV or TSV file here

Drop a CSV or TSV file here

CSV, TSV or delimited text. The file stays on this device.

Processing happens locally in a Web Worker. File contents, filters and detected columns are never uploaded or saved.

Import settings

Explorer

Choose a CSV or TSV file to build a local index and browse its records.

On this page

Large CSV/TSV Explorer opens delimited files entirely in your browser. It incrementally indexes records in a Web Worker, then displays only a small virtualized window, so you can inspect, filter and project files far larger than a normal HTML table can handle without uploading data.

Detailed Functionality

The explorer recognizes comma, semicolon, tab and pipe separators, or lets you choose one explicitly. It supports RFC 4180 quoted fields, doubled quotes, embedded line breaks, UTF-8, BOM-marked UTF-16 little- and big-endian text, and an explicit Latin-1/Windows-1252 mode. Chunk boundaries do not change parsed values, even when they split a multibyte character, CRLF pair or quoted multiline field.

Only sparse record checkpoints and bounded row data are retained. Filtering scans every record in the selected columns and supports substring, exact text and strict numeric comparisons. Column visibility also defines the export projection. CSV and JSONL downloads re-scan the full filtered result rather than exporting only visible rows. Spreadsheet formula protection is enabled by default; disable it only when preserving raw leading formula characters is required. All processing remains on this device.

Practical Examples

Comma CSV with headers: open name,amount followed by Ada,12.50; keep automatic separator detection and the header option enabled.

TSV without headers: choose Tab and turn off the header option. The explorer assigns deterministic names such as Column 1.

Quoted multiline value: `1,"first line

second line" remains one record and one cell. A doubled quote such as "He said ""hello""" becomes He said "hello"`.

Safe spreadsheet export: a value beginning with =SUM(A1:A2) is exported with a leading apostrophe by default, preventing formula execution. JSONL always preserves the original string.

How to Use This Tool

  1. Choose import settings

    Keep automatic separator and encoding detection for ordinary UTF-8 CSV files, or explicitly select semicolon, tab, pipe, UTF-16 or Latin-1. Choose whether the first record contains column names.

  2. Open the file

    Drop or choose one local file. Watch indexed bytes, elapsed time and throughput. Canceling destroys the partial session; choosing the file again starts a clean index.

  3. Browse and filter

    Scroll the virtual table, choose visible columns and select a row to inspect longer values. Enter a value, operator and search columns to scan the complete file.

  4. Export

    Choose CSV or JSONL, header and BOM options, and keep spreadsheet formula protection enabled unless raw CSV values are essential. Download exports every matching row and selected column, not merely the current viewport.

Tips and Best Practices

  • Automatic UTF-16 detection requires a byte-order mark; choose UTF-16 little- or big-endian explicitly when a file has no BOM.
  • Numeric filters accept unambiguous decimal or exponent text and do not use locale-specific number coercion. Non-numeric cells do not match numeric comparisons.
  • Blank headers become Column N; duplicate headers receive deterministic numeric suffixes. Original data cells are not renamed or converted.
  • Keep formula protection on before opening CSV output in Excel, LibreOffice or another spreadsheet. JSONL output preserves strings and is not a spreadsheet formula format.
  • Parsing limits are explicit: 2 MiB per field, 8 MiB per record, 512 columns, 100 million records and 512 MiB of generated output.
  • Browser file and memory limits still apply. Filtering and export are bounded re-scans, but the completed download must fit in browser memory.