Online CSV viewer for big files
Drop a CSV and get a fast table you can filter, sort, chart and query. It runs DuckDB inside your browser tab: millions of rows, no upload, no sign-up.
No file handy? Open CO2 emissions by country and year (50k rows, 14 MB).
Made for the files spreadsheets choke on
Your file is read straight from disk into DuckDB, compiled to WebAssembly and running in this tab. There is no row cap. The limit is memory, about 1.5 GB of data per tab, which covers most exports that freeze a spreadsheet or get cut off at 1,048,576 rows.
Delimiters, quoting, the header row and column types (numbers, dates, booleans) are detected for you. TSV works the same way.
See the shape of every column
Each column header carries a small chart: a histogram for numbers and dates, top values for text, and the share of empty cells. Click a bar or a value to filter on it. Filters cross over, so every other chart updates to the matching rows.
Click a row to read the whole record in a side panel instead of scrolling sideways through 80 columns.
Filter by typing, or write SQL
country:NL matches a value, amount:>500 compares, amount:10..20 takes a range, -status:ok excludes, and plain words search every text column. Combine terms with OR and parentheses.
Start with SELECT, WITH or FROM and the same bar runs DuckDB SQL against a table named data, like SELECT country, count(*) FROM data GROUP BY 1.
Export it, or share a link
Export the current view as CSV, Parquet, JSON, JSONL or a Markdown table. CSV exports are formula-safe, so a cell like =HYPERLINK(...) can't run when someone opens the file in Excel.
Need a link instead? curl -T data.csv https://rows.page returns one. Push again to the same link and the page shows which rows are new, gone or changed.
Questions
- Is my CSV uploaded?
- No. Opening a file reads it inside your browser tab. It only leaves your machine if you share it or push it with curl.
- How big a CSV can I open?
- There's no row limit. The ceiling is browser memory, about 1.5 GB of data per tab, which is several million rows for a typical export. Past that you get a clear message instead of a crashed tab.
- Does it handle semicolons, tabs and quoted line breaks?
- Yes. DuckDB's CSV sniffer detects the delimiter, quoting, the header row and column types, and quoted fields can contain commas and line breaks.
- Can I run SQL on a CSV file?
- Yes. Type a query that starts with
SELECT,WITHorFROMinto the filter bar. Your file is the tabledata. - Can I export only the filtered rows?
- Yes. Export writes the current view, with your filters, sort and columns, as CSV, Parquet, JSON, JSONL or Markdown (first 1,000 rows).
Open other formats
- Parquet viewerParquet viewer, no Python needed
- JSONL viewerJSONL viewer for logs, evals and traces
- JSON to tableJSON to table, nested fields included
- Past Excel's row limitExcel stops at 1,048,576 rows. Open the rest here.
Pushing data from a script or agent? Read the docs.