← Back to all posts

Free CSV Editor for Large Files

For anyone holding a CSV file too big for a spreadsheet, who wants a free editor that opens it on their own machine, corrects it and saves it back.

On this page

A CSV export with two million rows opens in Excel with almost half of them missing, because a worksheet ends at row 1,048,576. The free editor to use instead is the DbSchema CSV Editor. It is part of the free Community Edition, runs on Windows, macOS and Linux, needs no database, and reads the file from your own disk. How large a file it opens depends on the memory DbSchema may use, which is 8 GB on a new installation.

Three kinds of free CSV editor, and where each one stops

The tools that come up for this search are of three kinds, and the kind decides what happens to a large file.

Three kinds of CSV tool: a desktop CSV editor such as DbSchema, Modern CSV or Tablecruncher reads the file on your disk and stops at its own limit; a spreadsheet such as Excel, LibreOffice Calc or Google Sheets loads the rows into a fixed grid; a browser or cloud editor such as Row Zero or Datablist keeps the file in the vendor's cloud or the browser's storage and stops at the plan's limit

A spreadsheet loads the rows into a grid of fixed size. Excel's worksheet holds 1,048,576 rows by 16,384 columns. When a CSV file has more, Excel loads the rows that fit and warns that the data set is too large for the Excel grid: saving the workbook then loses the rows it never loaded. LibreOffice Calc has the same 1,048,576 rows and 16,384 columns per sheet since version 7.4, and Google Sheets allows 20 million cells per spreadsheet.

A browser or cloud editor moves the file off your machine, into the vendor's cloud or into the browser's own storage, and its plan sets the limit. A desktop CSV editor leaves the file where it is and reads it there, which is what you want for an export holding customer data.

Count the lines before you choose. Here is a test file of two million generated sign-ups, checked in a Bash shell (Git Bash on Windows, Terminal on macOS and Linux):

head -3 signups.csv
wc -l signups.csv
du -h signups.csv
customer_id,first_name,last_name,email,signup_date
1,Marco,Bianchi,[email protected],2025-01-02
2,Jonas,Brown,[email protected],2025-01-03
2000001 signups.csv
117M	signups.csv

The header and two million rows make 2,000,001 lines. Excel would load the first 1,048,576 and leave out 951,425. The file is 117 MB on disk, and a new DbSchema installation may use up to 8 GB of memory.

Open a CSV file in the DbSchema CSV Editor

  1. In DbSchema, choose Query → CSV Editor.
  2. Press Choose and pick the file.
  3. Check the Charset, the Delimiter, the Record Separator and the Quote Character.
  4. Tick First Row is Header if the first line holds the column names.
  5. Press Open.
The DbSchema dialog CSV Editor for Large Files - Choose File, with the file chosen, Charset UTF-8 and First Row is Header ticked

DbSchema detects the Charset from the file once you pick it. The Delimiter offers comma, pipe, space, tab, semicolon, colon and tilde, and the Quote Character offers ", ', ` and ´. Set both to what the file uses, because DbSchema reads the whole file with the values the dialog holds when you press Open.

A semicolon file with a quoted name shows why both matter:

supplier_id;name;city
1;"Weber; Sohn GmbH";Hamburg
2;Atelier Roux;Lyon

Python's csv module, reading line 2 of that file with each pair of settings, splits it like this:

DelimiterQuote CharacterValues in line 2
;"1, Weber; Sohn GmbH, Hamburg
,"the whole line as one value
;'1, "Weber, Sohn GmbH", Hamburg

Only the first pair gives three columns with the name in one piece.

The file opens as a CSV Editor tab under the diagram, and a progress bar counts the records while DbSchema reads them. Double-click the tab to give it the whole diagram area. An icon in a column header marks the columns that hold numbers or dates.

The DbSchema CSV Editor tab with a file of customers: the File, Edit, Row/Column and Filter & Sort menus above columns customer_id, first_name, last_name, email and signup_date

How large a file the CSV Editor opens

The CSV Editor reads every row into memory, so the file it can open is bounded by the memory DbSchema may use, not by a row count. Help → About DbSchema shows that figure on its Memory line, beside the memory in use now.

The Runtime section of the DbSchema About dialog, with Memory showing 310 MB of 1024 MB

A new installation of DbSchema sets 8 GB. An installation updated from an older version keeps its old setting, such as 1 GB, as in the picture. To raise it, edit the line that starts with -Xmx in DbSchema.vmoptions, next to DbSchema.exe on Windows and next to the DbSchema launcher on Linux (on macOS the file is DbSchema.app/Contents/vmoptions.txt), and start DbSchema again:

-Xmx16G

Keep the value below the memory of your computer, so other programs have room to run. The Memory and Java Options page has the details.

Edit cells, rows and columns

  1. Double-click a cell, type the new value and press Enter.
  2. To add or remove rows and columns, click a cell and open Row/Column: Insert Column Left, Insert Column Right, Insert Row Before, Insert Row After, Delete Row or Delete Column.
  3. To rename a column, right-click a cell of it and choose Rename Column.

Edit → Undo, or Ctrl+Z, takes back a change, and Edit → Find Replace replaces text across the whole file. Every one of these changes happens in the grid in memory. The file on disk stays as it was until you save.

Filter and sort the data

A filter hides the rows that do not match, so you can work on one part of a large file.

  1. Click a cell in the column to filter, such as last_name.
  2. Choose Filter & Sort → Filter.
  3. Choose the operator, such as equals, type the value and press Ok.
The DbSchema dialog Edit Filter on last_name, with equals and the value Tanaka

A funnel icon marks the filtered column, and the grid shows only the matching rows. Filter & Sort → Clear Filters shows every row again.

The DbSchema CSV Editor showing only the customers whose last_name is Tanaka, with a funnel icon in the last_name header

To sort, click a cell in the column and choose Filter & Sort → Sort Ascending or Sort Descending. Every value in a CSV file is text, but a column in which every value is a number sorts by value, so 10 comes after 9 rather than after 1.

Save the file, or change its delimiter and encoding

File → Save, or Ctrl+S, writes the grid back to the file you opened. DbSchema writes the rows the grid shows, in the order it shows them.

signups.csv on disk is read into the grid in memory on Open, up to the memory limit; edits, filter and sort happen in the grid; Save writes only the rows the grid shows, in its order, so a filter left on writes only the matching rows

So a filter left on when you save writes only the matching rows. Choose Filter & Sort → Clear Filters before File → Save to keep every row. The same behavior is useful the other way round: with a filter on, File → Save As writes just the matching rows to a new file, such as last month's sign-ups out of the whole log.

File → Save As opens the dialog you opened the file with, and DbSchema writes the new file with the Charset, the Delimiter and the Quote Character you set there. A comma file that a loader wants pipe-delimited, or a UTF-8 file that has to arrive as ISO-8859-1, takes one Save As.

Other free CSV editors

The vendor pages behind this table were checked on 2026-10-22. Each size is the vendor's own figure.

EditorKindFree editionPlatformsSize the vendor states
DbSchema Community EditionDesktop CSV editorOpen, edit, filter, sort, saveWindows, macOS, LinuxThe memory DbSchema may use, 8 GB on a new installation
Modern CSVDesktop CSV editorFree edition; Premium adds featuresWindows, macOS, Linux2,147,483,647 rows or columns
TablecruncherDesktop CSV editorFree and open sourceWindows, macOS, LinuxFiles over 2 GB and 15 million rows
Ron's Data Edit LiteDesktop CSV editorSaves at most 2,500 rowsWindowsLoads any number of rows
EmEditor FreeText editorPersonal use; no CSV tools, Sort or FilterWindows16 TB (64-bit)
Row ZeroCloud spreadsheetOne workbook; no Export to CSVBrowser5 GB per workbook
DatablistBrowser editorData kept in the browserBrowser2 million records per table

Modern CSV has a free edition with no file size limit. Premium, at $39 one time for personal use on its buy page, adds date conversion, transposing, case conversion and printing. For a file over 100 MB, Modern CSV asks by default whether to open it in a read-only mode that sorts and filters but cannot save the file; Save Visible Data As writes the sorted or filtered rows to a new file. Tablecruncher became free and open source in 2025 and saves in UTF-8, UTF-16, Latin-1 and Windows 1252. Ron's Data Edit Lite loads any number of rows but saves at most 2,500; Pro removes that limit for $37.50. EmEditor Free is licensed for personal use at home or at school, and its CSV tools, Sort and Filter are in EmEditor Professional, a subscription.

The two browser tools keep the file off your disk. Row Zero is a cloud spreadsheet whose free plan holds one workbook of up to 5 GB, and Export to CSV starts at its Pro plan. Datablist keeps the free plan's data in the browser, with no cloud backup.

Import a CSV into a database table

Editing the file is one job; querying its rows with SQL is another, and for that the rows have to reach a table. DbSchema loads them with the Data Importer, which needs DbSchema Pro. This is the step that writes to the live database; the CSV Editor never does.

Choose Database → Data Importer; the dialog is titled Data Loader. Pick the file, choose the schema and either a new table name or an existing table, then check the columns in the second step. There each file column sits beside the database column and type it goes into, and you can Skip the ones you do not want. The same step sets the CSV Format, First Line is Header, the Locale and the Date Format. After the load, the Error list shows each kind of error and the lines of the file that caused it. The steps for one engine are in import a CSV into MySQL.

Download DbSchema, choose Query → CSV Editor, and open the file your spreadsheet cut short. The CSV Editor is part of the free Community Edition; loading the same file into a database table with the Data Importer needs DbSchema Pro.

Edit large CSV files without a database

DbSchema's CSV Editor opens large CSV files on your own machine, edits cells, rows and columns, and filters and sorts the grid. It is included in the free Community Edition.