GuidesJune 14, 2026 · 4 min read

How to Open a CSV File With a Million Rows

Got a CSV with a million-plus rows from a database or analytics export? Here's why Excel chokes and how to open and navigate it smoothly instead.


Export a table from a database, pull a report out of an analytics platform, or dump a log file to disk, and you can easily end up with a CSV that has a million rows or more. Then you double-click it, your spreadsheet app crawls to a halt, and you're stuck. This guide explains why that happens and shows you how to open and actually work with a million-row CSV.

Why a million rows breaks Excel

Two separate limits are working against you, and they fail in different ways.

The hard row cap. An Excel worksheet stops at 1,048,576 rows. That number is not a typo — it's 2^20, a fixed ceiling baked into the file format. If your CSV has more rows than that, Excel imports up to the limit and silently drops the rest. There's no big red warning. You just get a file that looks complete but isn't.

If you're doing analysis on an export that got truncated at 1,048,576 rows, every total, count, and average you calculate is wrong — and nothing on screen tells you so.

The memory wall. Even when your file fits under the row cap, spreadsheet apps load the entire file into memory and build a live, styled cell for every value before you can touch anything. A million rows across a dozen columns is millions of cells, which can balloon into gigabytes of RAM. That's why you see "Not Responding," a spinning cursor, or an out-of-memory crash.

Google Sheets isn't an escape hatch either: it caps out at 10 million cells total — which a wide file blows past well before a million rows — and it uploads your data to the cloud to get there.

The fix: stream the data, draw only what's visible

The reason a million rows feels impossible is that these tools try to hold and render everything at once. You only ever see a few dozen rows on your screen, so there's no reason to render the other 999,950.

That's the approach CEESVEE takes. The dataset lives in a fast Rust core, and the grid is canvas-rendered and virtualized — it fetches and paints only the rows currently on screen, then loads the next window as you scroll. Because the interface never tries to lay out a million rows up front, opening and smoothly scrolling a 1,000,000-row, 100 MB+ file is a core design requirement. There's no practical row limit.

CEESVEE is free, open source (MIT), and runs entirely on your machine — no accounts, no telemetry, and your file never gets uploaded anywhere. It works on Windows, macOS, and Linux.

Open a million-row CSV in three steps

  1. Download CEESVEE for your operating system and install it.
  2. Open your file — drag it onto the window or use File → Open. CEESVEE auto-detects the delimiter (comma, tab, semicolon, pipe) and the encoding, so a database export usually opens correctly with zero configuration.
  3. Start scrolling. The grid jumps straight to the first rows and stays responsive as you move through the file. The frozen header row keeps your column names in view, and the status bar shows the row and column counts.

Once it's open, a million rows is only useful if you can find your way around. A few features make that practical:

You want to…How
Find a value or patternFind & replace with plain text or regex, scoped to a selection or the whole file
Order the dataMulti-column sort, ascending or descending per key
Inspect a rangeSelect cells and read live stats — count, sum, average, min, max — in the status bar
Move quicklyExcel-style keyboard navigation, including jumping to edges

A couple of these are worth their own walkthroughs. If your million rows arrived in random order, see how to sort a large CSV without loading it into a spreadsheet. And when you need to locate or clean up specific values across the whole file, find and replace with regex lets you match patterns instead of typing out every variant by hand.

What if it's still too much data?

Sometimes the answer isn't a better viewer — it's a smaller file. If you only need a subset of those million rows, you can sort to bring the relevant rows together, select them, and copy them out, or save a filtered export. For more options on trimming a file down before sharing or processing it, see what to do when your CSV is too big for Excel.

And if you're regularly wrestling with oversized exports of all kinds, the broader guide on opening large CSV files without crashing Excel covers the same streaming approach applied to any big delimited file.

The bottom line

A million-row CSV isn't broken, and neither are you. Spreadsheet apps just weren't built to load and render that much data at once — and Excel's 1,048,576-row cap means it can quietly throw away whatever doesn't fit. A tool that keeps the data in a fast core and only draws what's on screen makes the whole problem disappear.

Download CEESVEE for free and open that million-row export without the wait.

Frequently asked questions

Can Excel open a CSV with a million rows?

Barely. An Excel worksheet stops at 1,048,576 rows, so a file right around a million rows may load but anything past that limit is silently dropped. Even when it fits, Excel loads the whole file into memory and often becomes slow or unresponsive.

What happens to rows past Excel's limit?

They are discarded without an obvious error. Excel imports up to row 1,048,576 and ignores the rest, so you can end up analyzing a truncated file without realizing data is missing.

How do I open a CSV that's too big for Excel?

Use a tool built for streaming and virtualized rendering instead of a general spreadsheet. CEESVEE keeps the data in a Rust core and only draws the visible rows, so it's designed to open and scroll a 1,000,000-row, 100 MB+ file smoothly.

Is there a row limit in CEESVEE?

No practical row limit. CEESVEE is designed to open and smoothly scroll a million-row file, and the dataset lives in a fast Rust core rather than being held entirely in the UI.

Keep reading

All guides