Sigmera.

Clean and format phone numbers in a spreadsheet

To clean phone numbers in a CSV, open the phone-number cleaner in Sigmera, pick the default country for numbers that lack a code, and Sigmera normalizes the phone column to the E.164 standard (+14155550100). Preview the formatted numbers, then download the cleaned file. Everything runs in your browser — your data is never uploaded, so it’s GDPR-safe by design.

Last updated: September 2026

Sigmera formatting a phone-number column to the E.164 standard in the workspace

Use the phone-number cleaner free in your workspace

Free account, no credit card — every tool, unlimited rows, 3 free downloads a month, nothing uploaded.

Create a free account

🔒 Everything runs in your browser — your file is never uploaded, and the workspace even works offline once it has loaded.

Ways to format phone numbers, compared

MethodData uploaded?Handles E.164Skill needed
Sigmera (this tool)No — runs in browserYes, automaticallyNone
Excel formulasNoOnly via nested formulasHigh (formulas)
Manual editingNoError-proneLow (but slow)
Python / phonenumbersNoYesHigh (code)

How to clean phone numbers

  1. 1. Drop your CSV into the tool. The file is read into your browser’s memory — it is never sent over the network. Sigmera auto-detects the phone column.
  2. 2. Pick the default country. Numbers that already start with a plus sign or an international 00 prefix keep their own code; everything else gets the calling code you choose.
  3. 3. Preview the formatted numbers. See how many numbers were normalized to E.164 and how many were flagged invalid before you commit. You can re-pick the phone column if auto-detect guessed wrong.
  4. 4. Download the clean file. Create a free account to export the full CSV with phone numbers in E.164 format.

Why format to E.164 client-side?

E.164 is the ITU international numbering standard — a plus sign, the country calling code, then the national number, with no spaces or punctuation. CRMs, SMS gateways, and dialers reject inconsistent formats, so a single column of mixed numbers breaks imports. Most online formatters fix this by uploading your contact list to a server you can’t see. Because Sigmera processes the file locally with the browser’s built-in JavaScript engine, there is no server to upload to and nothing is stored — which satisfies GDPR data-minimization (Article 5) because zero bytes leave the device. If you need the rules themselves — country codes, trunk zeros, the 15-digit ceiling — read our guide to the E.164 format.

What the phone number formatter does to each row

A phone number formatter is worth using only if you can predict its output. Sigmera applies four rules, in order: keep an existing country code, convert an international 00 prefix to a plus sign, drop a single national trunk zero, and delete every space, dash, bracket, and dot. Anything left that cannot become a valid number is flagged rather than guessed at. Here is how to format a phone number under each rule:

Raw valueDefault countryE.164 resultRule applied
(415) 555-0100United States (+1)+14155550100Stripped the parentheses, space, and dash, then prepended the +1 calling code.
020 7183 8750United Kingdom (+44)+442071838750Dropped the leading trunk zero, then prepended +44.
0044 20 7183 8750any+442071838750Recognized the international 00 prefix and converted it to a plus sign.
+1 415-555-0100any+14155550100Kept the country code it already had and removed the separators.
555-0100United States (+1)flagged invalidToo few digits to be a valid national number — flagged in the preview instead of guessed at.

The 15-digit ceiling in the last rule is not ours — it is the limit set by the ITU-T E.164 numbering plan, and platforms such as Twilio reject anything longer. One caveat worth knowing before you reach for a spreadsheet instead: Excel’s built-in Special > Phone Number option only changes how a number is displayed. The stored value never moves, so the CSV you export still holds the messy original. A formatter that rewrites the value is the difference between a clean import and a failed one — the same reason it pays to standardize the email column and drop duplicate rows in the same pass — the rest of the data cleansing tools run on the same file without reloading it. See the full comparison of phone-formatting tools if you want to weigh the alternatives, or the walkthrough for when you import a CSV to HubSpot and need every phone value to survive the mapping step.

Formatting a phone column that mixes countries

The default country is a fallback, not an override. A list built from several markets usually holds three kinds of row at once, and the phone number formatter treats each one differently:

  • Rows that already carry a country code. Anything starting with + or 00 keeps the code it came with. Setting the default to the United States does not rewrite a German number as American — it only decides what to do with rows that say nothing about their country.
  • Bare national numbers. These have no country in them at all, so the only honest options are to assume one or to flag them. Pick the default that matches where most of the bare rows came from, run it, then filter for the rest.
  • Rows that cannot be valid for the default. A number that is too short or too long for the calling code you picked is flagged instead of padded or truncated, which is what tells you the default was wrong for that slice of the file.

For a genuinely mixed list, the reliable method is to sort or filter by country first, run the column once per group, and treat the flagged count as the signal that a group still needs its own pass. The step-by-step version of that workflow is in the guide to normalizing a phone column in a CSV, and the wider background — trunk prefixes, the 00 prefix, why a spreadsheet silently eats a leading zero — sits in the phone-number formatting hub. Numbers that came out of a spreadsheet are worth a second look before you start, because a phone column stored as a number has already lost its plus sign and its leading zeros; reopening the file with the Excel-to-CSV converter keeps the column as text so there is something left to format.

Countries the phone number formatter covers

The default country is what a bare national number falls back to, so the list below is only relevant to rows that carry no calling code of their own. Anything already written with a + or an international 00 prefix is formatted correctly no matter which default is selected.

Default countryCalling code
United States+1
Canada+1
United Kingdom+44
Poland+48
Germany+49
France+33
Spain+34
Australia+61
India+91
Other (custom)Enter any calling code, plus an optional national digit count

The Other (custom) row is the escape hatch for a market that is not listed: give it the calling code, and optionally the number of national digits you expect, and rows of the wrong length are flagged instead of accepted. That matters because validity is per-country, not a single global rule — national number length varies by country under the ITU-T E.164 plan, which is why Sigmera parses each value against the selected country rather than pattern-matching digits. A ten-digit string that is a valid US number is not automatically a valid German one, and the preview says so instead of emitting a plausible-looking wrong number.

Formatting a number is not the same as verifying it

A phone number formatter changes the shape of a value, not its truth. When a row comes out as E.164, it means the string is structurally valid for the country the formatter was told to assume — the right calling code, a plausible national digit count, no stray punctuation. It does not mean a person answers that line. Twilio draws the same boundary in its Lookup API: the basic response reports whether a number sits in a range a carrier is allowed to assign, while whether the line is actually reachable comes from a separate, paid data package.

So read the preview as two different signals. Flagged rows are broken now and are your worklist before the import. Formatted rows are import-safe, which is not the same as contactable. If a campaign depends on the number reaching someone, run a verification service after the format pass rather than before it — most verification APIs expect E.164 on the way in and reject the messy original, so normalizing first is what makes the check possible at all. The same ordering applies to the rest of the file when you clean a customer list before a CRM import: fix the format, then judge the data.

Frequently asked questions

Does this tool upload my CSV file?
No. The phone-number formatter runs entirely inside your web browser using client-side JavaScript. Your file is never uploaded to a server and never leaves your device, so it is GDPR-safe by design.
What is the E.164 phone format?
E.164 is the international telephone numbering standard published by the ITU. An E.164 number starts with a plus sign and the country calling code, followed by the national number, with no spaces, dashes, or parentheses — for example +14155550100. It is the format CRMs, SMS APIs, and dialers expect.
What about numbers without a country code?
Pick a default country before running. Any number that has no leading plus sign and no international 00 prefix is treated as a national number: Sigmera strips a single leading trunk zero and prepends the calling code you selected, producing a valid E.164 number.
Can I do this in Excel instead?
Yes, but it is painful. Excel has no built-in E.164 formatter, so you stack SUBSTITUTE, TEXT, and CONCAT formulas to strip symbols and add the country code, and numbers stored as text break easily. Sigmera normalizes a whole column to E.164 in two clicks without writing a formula.
Does a phone number formatter change the number or only how it looks?
It depends on the tool. Excel's Special > Phone Number option is a display format — it shows 5555550100 as (555) 555-0100 while the stored value stays unchanged, so an export writes the raw digits back out. Sigmera's phone number formatter rewrites the value itself, so the E.164 string is what lands in the downloaded CSV and what your CRM reads.
How many digits can an E.164 phone number have?
Fifteen, counting the country code and excluding the leading plus sign. That ceiling comes from the ITU-T E.164 numbering plan, and it is why anything longer is rejected by SMS gateways and dialers. Sigmera flags numbers that exceed it rather than truncating them.
How do I format a phone number column before a CRM import?
Normalize every row to the same E.164 shape first, then import. Open your CSV in Sigmera, choose the default country for numbers without a code, check the preview count of formatted versus flagged rows, fix the flagged ones, and download. A single consistent format is what stops CRMs from rejecting rows or creating duplicate contacts.
How do I format phone numbers from different countries in one file?
The default country only applies to rows that carry no country code of their own — a number that already starts with a plus sign or an international 00 prefix keeps its own code, so picking a default never rewrites a foreign number as a domestic one. For a list where the bare national numbers come from several markets, filter by country, run the column once per group, and use the flagged count as the signal that a group still needs its own pass.
Which countries does the phone number formatter support?
The default-country picker lists the United States, Canada, the United Kingdom, Poland, Germany, France, Spain, Australia, and India. Those defaults only decide what to do with bare national numbers, so a file full of numbers that already carry a plus sign and a calling code formats correctly whichever default is selected. For a market that is not in the list, choose Other (custom), enter the calling code, and optionally give the national digit count you expect so wrong-length rows get flagged.
What does the formatter do with blank or unparseable cells?
It leaves them exactly as they are. A blank cell stays blank and a value that cannot be parsed as a real number keeps its original text — nothing is padded, truncated, or replaced with a guess. Both simply count as not formatted in the preview, so the flagged total is your worklist rather than a set of silently corrupted rows.
Does a formatted phone number mean it is real and working?
No. Formatting proves shape, not truth. An E.164 result means the digits are structurally valid for the country the formatter assumed — correct calling code, plausible national length, no stray punctuation — and nothing more. Twilio's Lookup API splits the two the same way: its basic response says whether a number falls in a range a carrier can assign, while knowing the line is reachable requires a separate paid data package. Normalize the column first, then run a verification service if the campaign depends on the number connecting.
How do I format phone numbers in Google Sheets?
Google Sheets number formatting controls how a value is displayed, so a custom format makes the column look consistent while the stored value stays as it was — and an export writes the original back out. To change the value itself in Sheets you have to stack SUBSTITUTE or REGEXREPLACE formulas for each rule: strip separators, drop the trunk zero, prepend the calling code. Exporting the sheet as a CSV and running the column through Sigmera's phone number formatter does the same work without formulas, and the E.164 string is what lands in the downloaded file.
What happens to extensions like x123?
An E.164 number is a plus sign followed by digits only, so there is nowhere in it to put an extension. Sigmera strips the extension and the letters around it while formatting the main number, and flags the row if what remains is too short or too long to be valid. Keep extensions in a separate column if you need them — most CRMs and dialers store them in their own field anyway.