Split a CSV Column
Break one crowded column into several usable ones — full_name into first and last, 2026-03-14T09:12:00Z into date and time, city, country into two fields, a fixed-width code into its parts. New columns land right where the original was, so the rest of your file keeps its shape.
How to split a column
- Paste the CSV or drop a file, then choose the column to split.
- Pick a method and fill in the value box — see the table below for what it expects.
- Name the new columns if you don't want
name_1,name_2. - Copy or download. The number of new columns matches the row that split into the most parts; shorter rows get blanks.
What to put in the value box
- Delimiter — the literal text to split on: a space,
,,-,|. Use\tfor a tab and\nfor a newline. - Regular expression — a JavaScript pattern.
[T ]splits a timestamp on either aTor a space;\s*[,;]\s*splits on a comma or semicolon with any surrounding spaces. - Fixed widths — comma-separated character counts, e.g.
3,2,4. Anything left over becomes a final column. - Character position — a single number: split once, at that offset.
4turns2026-03into2026and-03.
Use max parts for names and addresses
Splitting full_name on a space gives three columns for "Ada King Lovelace" and two for everyone else. Set max parts to 2 and everything after the first space stays together in the second column — so first_name and last_name stay aligned and no data escapes into a third column that's empty for 95% of your rows. The same trick keeps the remainder of an address in one field.
FAQ
Can I split into rows instead of columns?
Different operation — split into columns here, then use Unpivot to turn those columns into one row per value.
The original column disappeared.
By design — tick keep original column to retain it alongside the new ones.
How do I do the reverse?
Combine columns joins several columns back into one, with a separator or a template.
My regex isn't working.
The status line shows the engine's error when a pattern is invalid. Note that the pattern is used as a split separator, so capture groups aren't inserted — use plain character classes.
Privacy
100% client-side. No upload. See the privacy policy.