Phone list cleaner: dedupe and normalize to E.164

Upload a CSV or TXT file, or paste a list, and pick the default country for numbers without a country code. The cleaner converts every number to E.164, removes duplicates (the same number written two ways counts once) and invalid rows, and shows the counts: valid, invalid, duplicates and numbers per country. Download the clean list and a file of the removed rows. Your file never leaves your browser.

Free · no sign-up · runs in your browser, nothing is uploaded

Drop it here or choose a file · up to 50,000 rows, read in your browser

For numbers written without + or 00.

Counts and downloads appear here: clean numbers, duplicates removed, invalid rows and numbers per country.

Runs entirely in your browser. Nothing you type, paste or upload is sent to MobileValidate or anyone else, and nothing is stored. The page counts one anonymous "tool used" event per visit (no numbers, no text), and sends nothing at all when your browser asks not to be tracked.

Run the cleaned list through a bulk check

Find out which numbers are live, which network they are on, or whether they are on WhatsApp. Upload the clean CSV as a bulk job and see the estimate before it runs; inconclusive results are not charged.

How it works

The file is read on your device. The cleaner detects the delimiter (comma, semicolon, tab or pipe) and the phone column: a header such as phone, mobile or msisdn, or else the first column that holds numbers. You can change the column before cleaning.

Each number is normalized to E.164 with libphonenumber, using your default country for numbers written in national format. Duplicates are found after normalization, so 020 7946 0958, +44 20 7946 0958 and 0044 20 7946 0958 count as one number; the first occurrence is kept.

Rows that are not valid numbers, empty rows and numbers from countries we do not support are left out of the clean file. The removed-rows file lists each with the reason, so you can fix typos instead of losing contacts.

Long lists are processed in small slices so the page stays responsive. Nothing is uploaded: the clean CSV is created in your browser.

Last updated

Frequently asked questions

How do I remove duplicate phone numbers from a list?

Normalize first, then dedupe. The same number is often written in different ways (with or without the country code, spaces or a trunk 0), so a plain text comparison misses duplicates. The cleaner converts every row to E.164 and keeps the first occurrence of each number.

What file formats can I upload?

CSV and TXT files up to 50,000 rows, or pasted text. Comma, semicolon, tab and pipe delimiters are detected automatically, with or without a header row. Excel files: save as CSV first (see normalizing numbers in Excel and Sheets).

Does a clean list mean the numbers work?

No. Cleaning removes numbers that cannot exist and copies of the same number. A valid number can still be disconnected, recycled or unreachable. A bulk check tells you which numbers are live on the network or registered on a messaging app; you pay only for conclusive answers.

What happens to numbers without a country code?

They are read with the default country you choose. If you choose none, numbers without + or 00 are marked invalid, because the same digits can be a valid number in several countries.

Is my file uploaded?

No. The file is read and processed in your browser and the download is generated on your device. Nothing is sent to MobileValidate or anyone else, and nothing is stored.

Why is the type of each number in the file only "from the numbering plan"?

The type (mobile, fixed line, VoIP…) comes from the ranges a country assigns, not from the network. Ported or reassigned numbers keep their original range. For the real current network and line type, use a carrier lookup.