open CSV files too big for Excel
Excel stops at 1,048,576 rows. This viewer streams the file instead of loading it, so multi-gigabyte CSVs open on an ordinary laptop: instant first-thousand-row preview, a virtualized grid that scrolls smoothly, and full-file column statistics.
how to use it
- Drop the file Excel refused. The first thousand rows appear in milliseconds while the rest streams past.
- Exact row counts and full-file column profiles arrive when the scan finishes - the header keeps a running count meanwhile.
- Filter, dedupe, and clean - or open the ⚡ engine for GROUP BY, joins, and a grid that scrolls every row of the result rather than a first page of it.
- Export csv, json, or
.sqlite - the whole file runs through the pipeline on the way out.
- Row counts, null shares, distincts, and min/max/mean computed across every row in one pass.
- Filter, dedupe, sort, and transform, then export - the pipeline streams the whole file out.
- Need aggregation? One click loads it into the built-in SQLite engine for GROUP BY and joins - and there the grid scrolls every row of the result, with the real row numbers, rather than stopping at a first page.
- A grid built for wide, ugly files: drag a column edge to resize it, double-click that edge to fit the column to its content, or fit every column at once. Columns are capped on first look so one enormous field cannot push the rest off screen, and you decide when to let it out.
- Sorting the whole file, not the page: click a header to sort the preview for a quick look, or add a sort step so the exported file itself comes out in that order - multi-key, nulls last.
- Works offline once loaded; your file never touches the network.
"CSV" is a loose term here, and paste means paste anything: TSV, semicolon and pipe delimited files, ranges copied from Excel or Google Sheets, SQL client result grids, even tables copied off a web page (they arrive tab-separated) - the delimiter is detected automatically. One delimiter is chosen for the whole file; if a column turns out to carry its own separator inside it, click that column's header and choose split at delimiter to break it into real columns.
every tool in the box
- data workbench - profile, clean, transform, and export CSV, JSON, and SQLite - the full suite
- JSON flattener - nested JSON or NDJSON to flat columns, arrays and objects unrolled
- CSV PII scrubber - find emails, phones, SSNs, and card numbers - mask, hash, or drop them
- JSON to CSV - convert JSON or NDJSON to CSV with full column control
- CSV to JSON - convert CSV to JSON or NDJSON, streamed at any size
- Excel to CSV - read .xlsx workbooks and export CSV, sheets and all
- CSV to Excel - write a real .xlsx where leading zeros and dates survive
- SQL on CSV - real SQL over your files: joins, GROUP BY, a read-only console
- CSV to SQLite - drop several files, get one .sqlite database with discovered foreign keys
- CSV to SQL - CREATE TABLE and INSERT statements for Postgres, MySQL, SQL Server, SQLite
- JSON to TypeScript - TypeScript interfaces and JSON Schema derived from your real data
- large CSV viewer - open files past Excel's 1,048,576-row limit without loading them into RAM (this page)
- regex painter - highlight example matches, get a verified regular expression back
- encoding fixer - detect windows-1252/UTF-16 and repair garbled text (José → José)
- log parser - read log files as events: layouts detected, stack traces kept whole, timestamps normalized, and a volume-over-time strip drawn in SQL across every row
- visualize - chart any table you have open - bar, line, area or point - drag across it to filter, and export svg, png, or the vega-lite spec that drew it
- theme builder - design, test, and export custom color themes with live previews, palette derivation, and contrast diagnostics
Like every unfckr tool, this runs 100% in your browser: no upload, no servers, no signup, no analytics. A Content-Security-Policy header blocks every programmatic network channel, so not even malicious code could phone home - and you can watch it happen: the privacy page runs six live escape attempts and shows the browser refusing each one.
↑ back to the tool