Skip to the tool
ViewCSV
Files stay on your device

Extract names and phone numbers from CSV

synthetic-contact-notes.csv· SAMPLE DATA3 rows · 2 columns
Off by default: 7–15 digits can also be an order ID. Review every match.
Other rows and columns remain separate, even when the phone is identical.
Text columns to scan
Select only columns that may contain phone numbers.
Candidates need review. Country codes and ownership are not inferred.
Input
#namenotes
1AlexCall +1 (202) 555-0100 ext 21; backup 020 7946 0958
2SamCall 03-1234-5678
3MorganOrder 40217730091152400016 dated 2026-10-21

Choose the name column and the text columns to scan, then extract phone candidates. Every result keeps the name from the same data row, the original phone text, any recognized extension and the source cell. Review the candidates before downloading; this tool does not determine who owns a number or whether it is callable.

Turn contact notes into reviewable rows

  1. Open a CSV, paste rows or try the clearly marked synthetic example. For your own file, explicitly select the name column or leave names empty.
  2. Select the text columns to scan. Digit-only candidates are off initially because order numbers can look like phones. Run the extraction.
  3. Check the original source text for every candidate, then download CSV or open the extracted result in the editor.

Several candidates in one cell produce several output rows. Identical phones belonging to different source rows remain separate. The repeat option only skips an exact phone-and-extension repeat within the same cell.

What the extractor can and cannot recognize

The product uses a conservative 7–15 digit candidate rule, with spaces, parentheses, hyphens or dots. ASCII, Arabic-Indic, Persian and full-width digits are preserved. Short codes, alphabetic numbers and some unusual formats will be missed. Two numbers joined only by spaces may be ambiguous; separate them first. This is not a worldwide numbering-plan validator.

Names are copied from the column you select, never inferred from prose. Country codes are not added. Date-shaped values, IPv4 addresses, plain decimals and oversized digit strings are excluded; formatted identifiers can still resemble phones. source_row counts data records from 1 after the header, not physical file lines. Rows without matches are counted, not invented as contacts.

Download, review and continue with your contacts

Download writes comma-separated UTF-8 with BOM and CRLF. The original plus signs, zeros and digit shapes are kept; formula-like cells get a leading apostrophe. CSV has no column types, so import phone columns as text in Excel. Keep the source_text column while reviewing associations.

Processing stays in your browser: input up to 25 MiB, 100,000 rows, 250 columns and 2 million cells. Output is limited to 100,000 candidates and 25 MiB of cell text. Use Split CSV for larger batches, CSV editor to correct results, then CSV to vCard to map reviewed contacts into a contact file.

Example: the same phone in two source rows

Synthetic data: Alex and Sam share a listed phone. Selecting name and scanning notes keeps both associations; the tool does not decide that the people are the same.

CSV
name,notes
Alex,Call 020 7946 0958
Sam,Call 020 7946 0958
CSV
name,phone,extension,source_row,source_column,source_text
Alex,020 7946 0958,,1,notes,Call 020 7946 0958
Sam,020 7946 0958,,2,notes,Call 020 7946 0958

Questions and answers

No. Select an existing name column or leave the output name empty. Extracting a phone from a note does not establish whose phone it is.

Standards and references