Skip to content
100% local

CSV splitter by column

Split a CSV into separate tables grouped by the value of one column.

Input

CSV splitter by column

Paste CSV data and this tool breaks it into separate tables, one per distinct value in a column you choose. It turns a single export into per-region sales sheets, per-status ticket lists, per-department staff rosters or per-category inventory — without opening a spreadsheet or writing a script.

Pick the column to split by using its header name or its 1-based position, and choose the field delimiter your data uses (comma, semicolon, tab or pipe). Repeat header in every part keeps each block self-contained; Keep the split column controls whether that column stays in the output rows, since once rows are grouped by it the value can be redundant. Show a heading adds a line above each part naming the value and its row count, so long output stays easy to scan. Order parts by keeps the input's original order, sorts alphabetically, or puts the largest groups first. Merge groups smaller than folds every value with fewer rows than the threshold into one trailing "Other" group, so a long tail of one-off values doesn't produce dozens of tiny tables.

The tool treats the first line as the header and reads Windows (CRLF) and Unix (LF) line endings the same way. The tally below the output reports rows read, parts produced and the total character count. Splitting is a plain delimiter split rather than full quote-aware parsing, matching the other CSV tools on this site — for values containing commas, an unquoted delimiter such as tab or pipe usually works cleanly.

Everything runs locally in your browser. Your CSV is never uploaded anywhere, so it's safe to use with customer lists, financial exports or other sensitive data. Copy the result, download it as a .txt file, or send it to another tool's input to keep working on one of the parts.

FAQ

How does it decide where to split?
It groups the data rows by the value in the column you choose — every row sharing that value ends up in the same part, with its own copy of the header if you turn that on.
Can I split by a column that has many different values?
Yes. Turn on "Merge groups smaller than" and set a row-count threshold — any value with fewer rows than that gets folded into one trailing "Other" group instead of producing lots of tiny parts.
Does it understand quoted fields with commas inside them?
No, it splits on the delimiter character directly rather than parsing quotes, matching this site's other CSV tools. If your data has commas inside quoted values, switch the delimiter to a tab or pipe if your source supports it.
What happens to the column I split by?
By default it stays in every output row. Turn off "Keep the split column in the output" to drop it, since the heading above each part already states the value.
Is my CSV data uploaded anywhere?
No. Splitting runs entirely in your browser — your data never leaves your device.