Skip to Content
RowSlice

Free Online CSV Splitter by Column

Split a CSV by Column Value into Separate Files

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

  • Multi-GB files
  • Never uploaded
  • Free, no sign-up

In short: RowSlice splits one CSV into multiple files by the values in a column you choose: one file for each different value, up to 10,000 files in one run. Rows with an empty value go into blank.csv, and characters that are not allowed in file names are replaced with an underscore, so Lyon/Nord becomes Lyon_Nord.csv. Each file starts with the original header row, and every row is copied as it is, in its original order, so leading zeros and long ID numbers are not changed. The file is read a few megabytes at a time in your browser and is never uploaded.

How to Split a CSV by Column Value

  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. The progress bar shows how much of the file has been read so far and how fast it is going.
  4. Download everything as one ZIP, save all files into a folder (in Chrome and Edge), 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.

When only one group matters — one store, one status, one month — filtering the CSV gives you that one file without writing a file for every other value in the column. When the file is simply too big for Excel or an upload limit and it does not matter which rows end up together, split a CSV into multiple files by row count or size instead. Split by column value when each group has to end up in a file of its own.

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 an Excel worksheet holds at most 1,048,576 rows, the limit Microsoft publishes, so a large export never loads whole: Excel stops at row 1,048,576 and warns that not all the data was loaded. To read an export that size before splitting it, open it in the CSV viewer, which pages through the file without a spreadsheet and without writing anything to your disk.

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. RowSlice's split-by-column tool never interprets values: it copies the text of each row as it is.

How It Handles Large Files

Every row has to be read, but none has to be kept: the tool reads about 4 MB, writes those rows to their output files, and moves on. So a 40-store export becomes 40 files without the browser ever holding the whole export, and memory use stays within a fixed limit however large your file is.

Output files are written to your browser's private storage on your own disk rather than held in memory, and only a small number 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, which come out as UTF-8.

Want to Split One Column into Several Instead?

Splitting by column value sorts whole rows into separate files; it does not break one column into two. If everything lands in column A when you open the CSV in Excel, the file usually uses a different separator from the one Excel expects: why a CSV opens in one column in Excel explains it, and the CSV converter can change the file's delimiter to commas, semicolons, tabs or pipes. To turn one value such as Austin, TX into a city column and a state column, use Data › Text to Columns in Excel.

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. While the ZIP is built, the split files and the ZIP are both kept on your disk, so you need free space of roughly twice the original file. Both copies also count toward how much your browser lets one site store: Firefox allows about 10 GB.

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.

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. To know the number before you start, the CSV analyzer counts the distinct values in every column of the file.

Can I split by two columns at once?

No. RowSlice splits by one column per run. To get one file per store within each region, split by Region first, then run each region’s file through the tool again and split it by Store. Every output file keeps the header row, so the second split works exactly like the first.

Can I split by month or year?

Only if a column already holds the month or the year on its own, such as 2026-03 or 2026. RowSlice compares values as exact text and does not read them as dates. So a full date column gives one file per day, the same date written two ways (2026-03-01 and 3/1/2026) ends up in two files, and a date-and-time column can go past the 10,000-file limit, at which point the tool stops and asks for a different column. If your export can include a separate month or year column, split by that.

Can I choose which columns go into each file?

No. Each row is copied whole, with every column, exactly as it appears in the original file, so leading zeros and long ID numbers are not changed either. If some columns should not reach the people who get the files, leave them out of the export before you split it.

Guides

More Tools

More CSV Tools

CSV Analyzer

Count the rows, list the columns and profile the values in a CSV too big to open.

CSV Viewer

Page through and search a CSV that is far too large for Excel, without uploading it.

Compare Two CSV Files

See what was added, removed and changed between two exports, matched on an ID column.

Take a Sample from a CSV

Pull the first rows, every Nth row or a random slice out of a huge file for testing.

Sample CSV File Generator

Download realistic test CSV files from 10 rows up to 20 GB, with messy values on request.

Split CSV into Multiple Files

Cut a CSV that Excel refuses to open into multiple files by rows, size or number of parts.

Filter CSV Rows

Keep only the rows you need — by value, text match or number range — from a file of any size.

Merge CSV Files

Combine multiple CSV files into one, lining up columns by name, even when the result is too big for Excel.

Remove Duplicates from CSV

Delete repeated rows from millions of records, comparing whole rows or chosen columns.

Convert CSV to Excel

Make a real .xlsx file without losing leading zeros, long IDs or turning codes into dates.

Convert CSV to JSON

Turn a CSV into a JSON array or NDJSON, with every value kept exactly as written.

Convert JSON to CSV

Flatten a JSON array or NDJSON export into a spreadsheet-ready CSV.

CSV Validator

Find the broken rows, bad quotes, wrong encoding and duplicate IDs before an import fails.

Convert CSV to UTF-8

Repair garbled characters like é by converting to UTF-8, and switch semicolons to commas.