Large CSV File Viewer
Open CSV files of several GB: jump to any row, filter them, export a part.
Filter the whole file
Export a smaller file
About the Large CSV File Viewer
Open CSV and TSV files far larger than a spreadsheet can hold — exports with millions of rows, logs and database dumps of several gigabytes. Excel stops at 1,048,576 rows; this viewer reads the file in pieces straight from your disk and never loads it whole, so its size is limited only by your disk, not your memory.
While the file is read once, the viewer notes where every 500th row starts. After that you can page through it, jump to any row number, open a row to see all of its cells, and filter the whole file — on one column or any column, with text, number and regular-expression tests. Export the rows that match, a range of rows or only the columns you need as a smaller CSV, TSV or Excel file.
How to use it
- Choose the CSV, TSV or TXT file. The encoding (UTF-8, UTF-16, Windows-1252 …) and the delimiter are detected; you can change them under Read the file again.
- Wait for the index: the progress bar shows how much of the file has been read and how many rows were found.
- Page through the rows, or type a row number under Go to row. Select a row number to see all of that row’s cells.
- To find rows, open Filter, pick a column (or any column), a test and a value, and select Filter all rows.
- To make a smaller file, open Export, choose the rows (all, matching, or a range) and the columns, and download a CSV, TSV or .xlsx.
Examples
transactions.csv with 21 million rows; filter “status” is “FAILED”
The file is indexed once; any row — row 15,000,000, say — is then read from the nearest stored position. The failed rows are listed with their row numbers and can be exported as an .xlsx.
Filter: “amount” > 50,000 and “city” is “Pune”
Every matching row of the file, listed with its row number; export them, with only the columns name, phone and amount.
Number tests read 1,250.50, 1.234,56, $1,500, ₹ 1,23,456 and (12.50) as numbers; cells that are not numbers never match.
Export rows 2 to 1,000,001
A file with the header and the first 1,000,000 data rows — small enough for Excel.
Common uses
- Looking inside an export that Excel or Google Sheets opens only partly or not at all.
- Checking a database dump or a log file without importing it anywhere.
- Pulling the rows for one customer, product or date out of a huge file.
- Making a sample or a smaller extract with only the columns another program needs.
How a file of any size opens
The file is read once, in 8 MB pieces, by a parser that follows the CSV rules of RFC 4180: a line break inside quotes belongs to the cell, "" inside quotes is one quote, and LF, CRLF and CR line breaks are all understood. It counts the rows and remembers where every 500th starts, so any row is found by reading at most 499 rows from the nearest stored position. Nothing is uploaded; filtering and exporting read the file again in the same way.
Rows are numbered as a spreadsheet numbers them: the header is row 1 and the first data row is row 2. Blank lines inside the file are rows too (they are empty in a spreadsheet as well); blank lines at the very end are not.
Filters
- contains / does not contain, is / is not, starts with, ends with — on one column or on any column; upper and lower case are the same unless you tick Match upper and lower case. Is ignores spaces at the start and end.
- matches the regular expression — JavaScript syntax, for example
^9[0-9]{9}$for a 10-digit number starting with 9. - is empty / is not empty.
- > ≥ < ≤ (number) — compares numbers written as 1500, 1,500.50, 1.234,56, 1’234.50, $1,500, ₹ 1,23,456 or USD 10, and negative numbers written as -12.50, (12.50) or 12.50-; a percentage such as 15% counts as 15.
Up to five conditions can be combined, all of them or any of them. The viewer pages through the first 2,000,000 matches; the count and an export cover every match.
Exports
Exports are UTF-8, with an optional byte-order mark so that Excel shows ₹, accents and non-Latin text correctly. With every column and the file’s own delimiter, each row is copied exactly as it is in the file, with the file’s own line breaks. An Excel export holds at most 1,048,575 rows below the header (the most a sheet holds, per Excel specifications and limits) and up to 6,000,000 cells here, because the workbook is built in memory; whole numeric columns become numbers, while codes such as 007 stay text.
Limitations
- The viewer shows and exports the file; it does not edit it. To change cells, use the CSV Editor (up to 100 MB) or split the file first.
- Indexing reads the whole file once, so a file of several GB takes a while on a slow disk or phone; the progress bar shows how much is left.
- ISO-2022-JP files cannot be read in pieces; save them as UTF-8 first.
- Sorting the whole file is not offered: it would need the whole file in memory.
- A single row longer than 33 million characters (almost always a quote that is never closed) cannot be shown; the page says which row it is, and the rows before it open normally.
Privacy
Everything happens in your browser. What you enter or open here is not uploaded or stored by MySmartCoPilot.
Frequently asked questions
Why does Excel not open my whole CSV file?
An Excel sheet holds at most 1,048,576 rows; Excel drops the rest with a warning. This viewer has no row limit — it reads the file from your disk in pieces.
How big a file can I open?
There is no fixed limit: only a small index is kept in memory (one position for every 500 rows), so files of several GB open. Larger files simply take longer to index.
Is my file uploaded?
No. The file is read on your device, in your browser; nothing is sent anywhere.
How do I get the rows I need into Excel?
Filter the rows, then open Export, choose Rows that match the filter and Excel (.xlsx). For a part of the file, choose Rows and type the first and last row number.
Some letters look wrong. What can I do?
The file is probably not UTF-8. Open Read the file again with another delimiter or encoding and choose the right encoding — Windows-1252 for files from older Excel versions, UTF-16 for Excel’s “Unicode text”.