How the Phone Normalizer Works
This tool processes your CSV phone data directly in your browser — nothing is sent to any server. Here is how to use it step by step.
Quick answer
The workflow is simple: upload your CSV, choose the phone column, provide country context when needed, process the rows, and export a cleaned CSV plus a separate needs-review file for risky entries.
Step 1: Upload Your CSV
Drag and drop your file into the homepage tool, or click "Select File" to browse. The file is processed locally in your browser using JavaScript, with no server upload and no CSV retention.
The tool accepts .csv files. If your data is in Excel or Numbers, export it as CSV first.
Step 2: Select Columns
After upload, you will see a dropdown list of your CSV headers. Select which column contains the phone numbers. If your file includes a column for country (e.g. "country", "ISO"), map that too — the tool will use it per row.
Step 3: Choose Country Context
Many CSVs contain local-format numbers like "07700 900077" or "415-555-0198" that have no country code. To convert these safely, you must tell the tool which country to assume. If you need a refresher first, read what E.164 format means.
- Default country fallback: Applied to any row that does not have a per-row country value.
- Per-row country column: If your CSV has a country column (e.g. "US", "GB"), the tool reads it row by row. This handles mixed-country CSVs correctly.
- Numbers starting with "+": These are already international and are parsed directly, regardless of country settings.
- Numbers starting with "00": The tool normalizes the "00" prefix to "+" before parsing.
Step 4: Process and Review
Click "Normalize Phone Numbers". Every row is classified into one of three statuses:
The number was successfully parsed and converted to E.164 format (e.g. +14155552671). These rows are ready for CRM import.
The number is structurally incorrect — too short, too long, or a combination that does not correspond to a real phone number.
The cell contained something the tool cannot confidently normalize: multiple numbers, an extension, extra text, or missing country context.
Common failure reasons
- Empty phone cell — the phone field was blank.
- Too short — fewer than 7 digits after stripping formatting.
- Too long — more than 15 digits (E.164 maximum).
- Missing country context — a local number with no country column value and no default country set.
- Ambiguous local number — a short local-format number was found without enough country context to normalize safely.
- Extension detected — the cell contains "ext", "x123", or similar.
- Multiple numbers in one cell — the cell contains commas or semicolons between what appear to be numbers.
- Extra text / notes in the cell — non-numeric notes or labels are mixed into the phone field.
- Invalid number — the number structure does not correspond to any valid international numbering plan.
Step 5: Download
After processing you get two download options:
- Cleaned CSV — valid rows only, phone column replaced with E.164 value,
phone_statusandphone_reasoncolumns appended. Ready for import. - Needs-Review CSV — invalid and needs-review rows, original phone preserved,
original_phone,phone_status, andphone_reasoncolumns appended. For manual cleanup.
All other columns from your original CSV are preserved unchanged in both output files. You can test this first with the sample CSV, or review common edge cases in the FAQ.