/ How-to

How to Open Large CSV Files Without Crashing Your Computer

Flying Fitz
Flying Fitz
Feb 8, 2026 · 6 min read

You hit "Export to CSV" in some platform, your laptop fan starts spinning, and three minutes later you've got a 600 MB file that Excel refuses to open. Now what?

Here are the techniques that actually work, ranked by how big your file is.

Files under 50 MB — just use a CSV viewer

Anything up to about 50 MB (~500,000 rows) opens fine in a modern browser-based CSV viewer like OpenCSV. The trick is that OpenCSV uses a streaming parser (it processes the file as it loads) and a virtualised table renderer (it only renders the rows you can actually see, not all 500,000 at once).

Excel chokes here because it tries to render every row into the spreadsheet UI. Don't fight that — just use a different tool.

Files 50–250 MB — use a CSV viewer + close tabs

OpenCSV still works, but you'll feel it. Tips:

  • Close other browser tabs to free up RAM
  • Use the search bar to filter to the rows you need (way faster than scrolling)
  • Don't try to edit hundreds of cells at once — work in small batches

Files over 250 MB — preview, then process with code

At this size, browser tools start to strain. The honest answer is that you should split the file or process it programmatically. But you can still preview it.

Preview the first N rows

On macOS or Linux:

head -1000 huge.csv > preview.csv

That gives you a small preview file you can open anywhere. On Windows PowerShell:

Get-Content huge.csv -TotalCount 1000 > preview.csv

Process the whole thing

For full processing — filtering, deduplicating, transforming — the right tools are:

  • DuckDB — SQL queries directly over CSV files, blazingly fast even on 10 GB+ files
  • VisiData — terminal-based spreadsheet, handles arbitrarily large files
  • Python pandas — for programmatic workflows
  • jq + miller (mlr) — command-line CSV processing

Files over 1 GB — split it

If you don't need code-level processing, split the file:

# splits into chunks of 100,000 rows
split -l 100000 huge.csv chunk_

You'll get chunk_aa, chunk_ab, etc. Each is a real CSV (you might want to copy the header row to each — there are scripts that do this if you Google "split csv with header").

The real lesson

If you're regularly receiving multi-gigabyte CSV files, the data source is probably the wrong shape. Ask whether you can:

  • Filter on the source side (export only this month, not all time)
  • Receive a Parquet or NDJSON file instead (much smaller for the same data)
  • Get an API endpoint instead of a bulk export

For day-to-day work, OpenCSV handles 99% of CSV files you'll ever encounter. The rest is a code problem.


Try OpenCSV Pro free for 14 days

Open, edit, save, and share CSV files on any device. No subscription. Ever.

Start free trial

More articles

/ desktop app

Make CSVs open in OpenCSV.

Install OpenCSV as a desktop app and it'll show up in your right-click "Open with…" menu for every CSV.