How to split a full-name column into separate columns
- Step 1Export your contact list as CSV — From your webinar/event tool, contact form, or old CRM, export contacts to CSV. The file should have one column holding the whole name (often labelled
Name,Full Name,Attendee, orContact). - Step 2Drop the CSV onto the splitter above — PapaParse reads the file in your browser and shows the header row as selectable columns. Nothing is uploaded — names stay on your machine.
- Step 3Select the full-name column to split — Pick the radio button for the column that holds the whole name (e.g.
Full Name). The splitter replaces this one column in place with the new name-part columns; every other column stays in its original position and order. - Step 4Set the delimiter to a single space — In
Delimiter inside the cell, enter a single space character. Names are split on a literal space — this is a plain string split, not a regex, so a space means a space. - Step 5Set a prefix and a max-parts cap — In
New column prefix, typeFirst(orName) so the new headers readFirst_1,First_2, ... For names, setMax parts per rowto2or3so a four-token name likeMaria del Carmen Ruizdoesn't blow out into four columns — but note tokens past the cap are dropped, not merged, so review long names first (see edge cases). - Step 6Run, check the stats, and download — Click
Split. The result panel showsMax parts seen,Columns added, andData rows, plus a 10-row preview. Download the result as<name>.split.csv, then use csv-header-rename to relabelFirst_1→First NameandFirst_2→Last Namefor your CRM import.
Splitter options for name columns
The four controls the tool exposes, with the values that work for full-name splitting.
| Option | What it does | Recommended for names | Default |
|---|---|---|---|
| Column to split | Picks the single source column; it is replaced in place by the new columns | The Full Name / Name column | none (must select) |
| Delimiter inside the cell | Literal string the cell is split on (not regex) | A single space character | , |
| New column prefix | Names the output columns <prefix>_1, <prefix>_2, ...; defaults to the source column name | First or Name | source column name |
| Max parts per row | Caps how many parts are kept per row; the grid width is the widest row up to this cap | 2 for First/Last, 3 if middle names are common | 100 |
How common name shapes split on a single space
What you get with delimiter = space. Every part is trimmed. Width = widest row in the file.
| Input cell | Parts after split | Note |
|---|---|---|
Jane Smith | Jane | Smith | Clean two-part split |
Mary Jane Watson | Mary | Jane | Watson | Three parts — file grid becomes 3 columns wide |
Carlos de la Cruz | Carlos | de | la | Cruz | Multi-word surname over-splits — set max parts or fix manually |
Jane Smith (double space) | Jane | ` | Smith` | The empty middle part is the trimmed empty string; see edge cases |
Madonna | Madonna | Single token — padded to the file's width with empty cells |
Free vs Pro limits (CSV family)
Browser-side limits for the CSV tools. The splitter is text-only and runs locally.
| Tier | Max rows | Max file size | Batch files |
|---|---|---|---|
| Free | 500 | 2 MB | 2 |
| Pro | 100,000 | 100 MB | 10 |
| Developer | Unlimited | 5 GB | Unlimited |
Cookbook
Real name-column shapes and how to split them cleanly. Names are illustrative.
Two-part name → First / Last
ExampleThe common case. Split on a space with max parts = 2 and prefix Name. The single source column is replaced by two columns; all other columns keep their place.
Input: Full Name,Email Jane Smith,jane@x.com John Doe,john@x.com Config: column = Full Name, delimiter = " ", prefix = Name, maxParts = 2 Output: Name_1,Name_2,Email Jane,Smith,jane@x.com John,Doe,john@x.com
Mixed two- and three-part names pad to a uniform grid
ExampleWhen some rows have a middle name and others don't, the file width becomes 3 (the widest row). Shorter rows are padded with an empty cell so the grid stays rectangular.
Input: Full Name,City Mary Jane Watson,Queens Peter Parker,Queens Config: column = Full Name, delimiter = " ", prefix = Name, maxParts = 3 Output: Name_1,Name_2,Name_3,City Mary,Jane,Watson,Queens Peter,Parker,,Queens
Cap parts so a long name doesn't over-split
ExampleA four-token name over-splits on space. Setting max parts = 2 keeps only the first two tokens — useful only when you accept losing the rest. For surnames like de la Cruz you usually want to fix the source instead (see edge cases).
Input:
Full Name
Carlos de la Cruz
Config: delimiter = " ", maxParts = 2
Output (tokens past the cap are dropped):
Full Name_1,Full Name_2
Carlos,de
("la" and "Cruz" are discarded — verify long names before relying on this.)Comma-separated "Last, First" order
ExampleSome exports store names as Smith, Jane. Split on a comma instead of a space — each part is trimmed, so the leading space after the comma disappears automatically.
Input: Name Smith, Jane Doe, John Config: column = Name, delimiter = ",", prefix = Name Output (parts trimmed): Name_1,Name_2 Smith,Jane Doe,John
Rename the split columns for a CRM import
ExampleThe tool names columns <prefix>_1 etc. CRMs want literal First Name / Last Name. Split first, then rename headers as a second step.
After split: Name_1,Name_2,Email Jane,Smith,jane@x.com Then csv-header-rename: Name_1 -> First Name Name_2 -> Last Name Final: First Name,Last Name,Email Jane,Smith,jane@x.com
Errors and edge cases
Real errors and silent failures sourced from each platform's own documentation. Match the wording to the row, fix what the row says to fix.
Multi-word surnames over-split (`de la Cruz`, `van der Berg`)
Data riskA single-space split treats Carlos de la Cruz as four parts. There is no rule that knows de la Cruz is one surname. Options: set Max parts to keep only the first N tokens (you lose the rest), or pre-join compound surnames in the source before splitting. The tool is a literal delimiter splitter — it can't infer name grammar.
No column selected
Error: Select a column to splitIf you click Split without choosing a column, the tool throws Select a column to split. Pick the radio button for the name column first. The Split button stays disabled until a column and a non-empty delimiter are set.
Empty delimiter
Error: Delimiter cannot be emptyThe delimiter field must contain at least one character. An empty delimiter throws Delimiter cannot be empty. For names, enter a single space; the field accepts any literal string.
Double space inside a name
Empty middle columnJane Smith (two spaces) splits into Jane, ` (empty), Smith` — because splitting on one space yields an empty token between the spaces, which trims to an empty string rather than being dropped. Clean up double spaces first with csv-whitespace-trimmer or csv-find-replace (two spaces -> one space) before splitting.
Single-token names (mononyms)
Padded with empty cellsMadonna or Prince produce one part. If other rows have two or three parts, the file width is the widest row, so the mononym rows get empty cells in _2 / _3. That is expected and keeps the grid rectangular.
Empty name cell
Single empty partA blank Full Name cell is treated as one empty part (""), then padded to the file width with more empty cells. No row is dropped. To remove rows with blank names entirely, filter them out with csv-cleaner first.
Tokens beyond Max parts are discarded
Data lossParts past the Max parts per row cap are not merged into the last column — they are dropped. So A B C D with max parts 2 yields only A, B. Set the cap high enough (or leave the default 100) if you can't afford to lose tokens, and review the Max parts seen stat after running.
File exceeds the free 500-row / 2 MB limit
Upgrade requiredFree tier caps CSV files at 500 rows and 2 MB. Larger contact lists need Pro (100,000 rows / 100 MB). To stay on free, split the list into chunks first with csv-row-splitter, process each, then recombine.
Source column position is preserved
Layout unchangedThe split replaces the source column in place — the new name columns appear exactly where Full Name was, and every other column keeps its order. If you need the name parts at the front, reorder afterwards with csv-column-reorder.
Frequently asked questions
How do I split a full-name column into first and last name?
Drop your CSV onto the splitter, select the name column, set the delimiter to a single space, set the prefix to Name (or First), and run. You get Name_1 (first) and Name_2 (last). Then rename the headers with csv-header-rename to First Name / Last Name for your CRM.
What delimiter should I use for names?
A single space for First Last order. A comma for Last, First order (parts are trimmed, so the space after the comma is removed automatically). The delimiter is a literal string split, not a regex — what you type is matched exactly.
Why did `de la Cruz` split into three columns?
The tool splits on every occurrence of the delimiter, so Carlos de la Cruz becomes four parts on a space. It has no way to know de la Cruz is one surname. Either cap Max parts (you'll lose tokens) or join the compound surname in the source before splitting.
How are the new columns named?
If you leave the prefix blank, they take the source column's name plus a numeric suffix: Full Name_1, Full Name_2. Set a prefix to control this — First gives First_1, First_2. If every row produces exactly one part, the column keeps a single name with no suffix.
Does it handle middle names?
Yes — splitting on space gives a column per token, so Mary Jane Watson produces three parts. The file width equals the widest name; rows with only two tokens get an empty cell in the third column so the grid stays rectangular.
What happens to rows that are shorter than the widest name?
They are padded with empty cells up to the file width. A two-token name in a file whose widest row has three tokens gets a blank _3 cell. No rows are dropped.
Is my contact data uploaded anywhere?
No. The splitter runs entirely in your browser using PapaParse. Names, emails, and phone numbers are parsed locally and never sent to a server. Signed-in users have a single processed-count stat recorded (no file content).
Can I split the name and keep all the other columns?
Yes. Only the column you select is changed — it's replaced in place by the name-part columns. Every other column (email, company, phone) keeps its original value and position.
What's the row limit?
Free tier handles 500 rows and 2 MB per file. Pro raises that to 100,000 rows / 100 MB. For bigger lists, split into chunks with csv-row-splitter, process each, then merge.
How do I get First Name before the other columns?
The split keeps the column where the original name was. To move the new name columns to the front, run csv-column-reorder on the output.
I have the opposite problem — I need to combine First + Last into one column. Which tool?
Use csv-column-merger. It joins multiple columns into one with a separator you choose (a space for names) and lets you name the merged column.
Can I run this in an automated pipeline?
Yes. The csv-column-splitter is available as a local runner tool (Pro tier) so you can script it: configure the column, delimiter, prefix, and maxParts, and run it against a file on your machine. Like the in-browser version, processing stays local — names never reach JAD's servers.
Privacy first
Processing runs locally in your browser with PapaParse. No file is uploaded — only metadata counters are saved for signed-in dashboard stats.