// name, relationship, phone, address — untangled

One messy line.
Five clean columns.

Paste lines like "Lisa Deaner -mother. 07956 282210. 11 Gardnor Mansions, Church Row. NW3 6UR" or drop a spreadsheet — whether it's one messy column or already split across separate Name/Phone/Address-ish columns. Delint splits or cleans each row into Name, Relationship, Phone, Address, and Postcode. Nothing leaves your browser.

or drag a .csv / .xlsx file here — or just paste below, one entry per line

No data yet
AD SLOT — 728×90 or responsive unit renders here (e.g. Google AdSense)

What gets split

Questions

What if a line doesn't match this pattern exactly?

This tool matches on a few strong signals — a UK postcode, a UK-looking phone number, and a relationship word (or a " -" dash if no relationship word is found) — rather than requiring an exact template or a fixed field order. If one of those signals is genuinely missing from a row, it's still split as best it can be and flagged in the Status column, so you can spot-check and fix just those rows instead of the whole file.

Does the relationship separator have to be a dash?

No — it first checks for a known relationship word (mother, father, husband, wife, daughter, son, baby, carer, and similar), wherever it falls in the line, dash or no dash. That covers most real-world variations: "Name -relationship", "Name relationship" with no dash at all, or even a relationship word glued straight onto the next word with a typo. Only if none of those words are found does it fall back to looking for a " -" dash instead.

What counts as a "UK-looking" phone number, and why +44?

Any run of digits (allowing spaces, dots, dashes, or a +44 prefix) that comes out to 10 or 11 digits starting with 0 once the punctuation is stripped — covering mobiles (07…) and landlines (01…/02…/0800 etc.) written in most common formats. Every matched number is output as +44 (the leading trunk 0 replaced with "+44 ", keeping the rest of the number's existing grouping) so the column is consistent regardless of how each row originally wrote it. If a row has more than one phone number, a mobile is preferred over a landline; if neither is a mobile, the first one found is used — either way the Status column notes any extra numbers so nothing gets lost quietly.

My spreadsheet doesn't have a header row — will it lose the first entry?

It shouldn't: when you upload a file, this tool checks whether row 1 actually looks like a contact entry (has a postcode or phone number in it) rather than a label, and unticks "First row is a header" automatically if so. The checkbox is always visible after upload, so you can override it either way if the guess is wrong.

What if Name, Phone, and Address are already in separate columns?

Upload the file and switch to "Already split across columns" (this is picked automatically if your header row has recognisable names like "Name", "Phone", "Address"). Then map each of the five fields to the matching column, or "— none —" if it doesn't have one. A Phone column that isn't perfectly clean still gets the number pulled out of it, and if there's no separate Postcode column but there is an Address column, the postcode is extracted from the address text automatically. Any columns you don't map (notes, IDs, etc.) are kept as-is in the export.

Does anything get uploaded anywhere?

No. Parsing happens entirely in your browser with JavaScript. Nothing you paste or upload is sent to a server.