Skip to Content
RowSlice

Free CSV Tool

Split a CSV File by Column Value

Turn one large export into a separate CSV for every store, region, client or status. Each file keeps the header row, and your data never leaves your computer.

  • No file size limit
  • Never uploaded
  • Free, no sign-up

How to Split a CSV by Column

  1. Choose or drag in your CSV file. The first rows are shown so you can check it was read correctly.
  2. Pick the column that holds the groups you want, for example Country, Sales rep or Order status.
  3. Press Split File and wait for the progress bar. A 1 GB file usually takes under a minute on a recent laptop.
  4. Download everything as one ZIP, save all files into a folder, or download individual files from the list.

A Typical Example

Say you have a year of orders exported from your shop system, with a store column. Your managers each need only their own store's orders. Splitting by store produces files like this:

Output fileContains
Berlin.csvHeader row + every order where store is Berlin
Lyon.csvHeader row + every order where store is Lyon
Paris.csvHeader row + every order where store is Paris
blank.csvHeader row + orders with no store filled in

Rows keep their original order inside each file, so a file sorted by date stays sorted by date.

Why Not Just Use Excel Filters?

For a small file you can filter a column in Excel, copy the visible rows to a new sheet and save it, once per value. That breaks down quickly. With forty stores it is forty rounds of filter, copy, paste and save. And Excel cannot open a sheet with more than 1,048,576 rows, so a large export will not even load: Excel stops at that row and warns that the file was not loaded completely.

Excel also changes data when it opens a CSV. Postal codes like 00742 lose their leading zeros, long account numbers turn into 4.52E+15, and some codes are converted into dates. If you save the filtered rows back to CSV, those changes are saved too. This tool never interprets values; it copies the text of each row as it is.

How It Handles Large Files

Most online CSV tools load the whole file into your browser's memory, which is why they stop working somewhere between a few hundred megabytes and a couple of million rows. This tool streams the file instead: it reads about 4 MB, writes the rows to their output files, and moves on. Memory use stays roughly the same whether the file is 50 MB or 20 GB.

Output files are written to your browser's private storage on your own disk rather than held in memory, and only a handful are open at any moment, so splitting into thousands of files works too. It correctly handles quoted values that contain commas or line breaks, files saved with semicolons or tabs, and files from older Windows programs that are not UTF-8.

Last updated .

FAQ

Frequently Asked Questions

How do I split a CSV into separate files based on a column?

Choose your file above, pick the column to split by (for example Region or Store), and press Split File. You get one CSV per distinct value in that column, each starting with the original header row. Download them as a ZIP, or in Chrome and Edge save them straight into a folder.

Can it handle an export with millions of rows?

Yes. Rows are streamed a few megabytes at a time and each one is written out as soon as its value is read, so a multi-gigabyte export uses about as much memory as a small one. What grows with the file is the number of output files, not the memory. You need free disk space of roughly twice the original while the ZIP is built.

Is my data uploaded anywhere?

No. The file is read by code running in your browser and each output file is written to private storage on your own disk, so nothing crosses your company network. That is why this works for customer lists, payroll exports and other data you are not allowed to upload — including on a machine with the connection switched off after the page loads.

Will leading zeros like 00742 or long ID numbers be changed?

No. Each row is copied exactly as it appears in your file, including quotes, leading zeros and long numbers. The tool never converts values the way Excel does when it opens a CSV.

What happens with values that differ only in capital letters?

Paris and paris are treated as different values. Because Windows and macOS do not allow two file names that differ only by case in the same folder, the second one is saved as paris (2).csv.

What about empty values or characters that are not allowed in file names?

Rows with an empty value go into blank.csv. Characters that are not allowed in file names, such as / \ : * ? " < > |, are replaced with an underscore, so Lyon/Nord becomes Lyon_Nord.csv. Rows that are too short to have the chosen column go into missing-value.csv.

How many files can it create?

Up to 10,000. If a column has more distinct values than that, it is usually an ID or a date-and-time column rather than a category, and the tool will ask you to choose a different column.

Guides

More Tools

More CSV Tools