Why a Number Without a Country Code Cannot Be Normalised
E.164 is the ITU format every system eventually wants: a plus sign, a country calling code, then the national number, at most fifteen digits in total. The catch is that a national number on its own does not identify a country. Ten digits could be a mobile in the United States, a landline in France, or a number in a dozen other plans, and a tool that silently assumes one of them will corrupt most of the world\u2019s numbers. This parser therefore only produces an E.164 value when the input actually says which country it belongs to, through a leading plus or an international dialling prefix such as 00 or 011. When no country is given it says so and offers the North American reading as a clearly labelled possibility rather than an answer. Calling codes are matched longest first, so 351 is read as Portugal instead of being cut down to a shorter prefix, and the parenthesised trunk zero used in European notation is dropped because it is dialled only domestically.
How to Use the Phone Parser and Formatter
- 1Paste the number exactly as you received it, including any plus sign, spaces or brackets.
- 2If it begins with a plus, 00 or 011, read the calling code, country and national number that were parsed from it.
- 3If no country code was given, add one and paste again, or use the labelled North American possibility if you already know the number is from that plan.
- 4Copy the E.164 value into the system that needs it, since that is the form APIs and databases normally expect.
- 5Check the length warning when a number looks unusually long: E.164 permits fifteen digits at most.
Common Phone Parsing Use Cases
Normalise numbers before importing them
Convert a mixed list of formats into E.164 for a CRM, billing system or messaging API that rejects anything else.
Work out where a number belongs
Read the calling code of an unfamiliar international number to see which country plan it comes from.
Diagnose a rejected number
Check whether a number failed validation because it exceeds the fifteen-digit E.164 limit or because it never had a country code.
Strip a trunk prefix correctly
Remove the bracketed zero in notation such as +44 (0) 20 so the international form is the one actually dialled.
Frequently asked questions
Why will it not turn a ten-digit number into E.164?
Because that would be a guess. Ten digits is a valid national length in many countries, so assuming North America is right for some visitors and wrong for most. The tool shows the North American interpretation as a clearly labelled possibility and leaves the decision to you, rather than producing a number that looks authoritative and is wrong.
What do 00 and 011 mean at the start of a number?
They are international dialling prefixes: 00 across most of the world and 011 in the North American plan. Both mean the digits that follow are a country code and an international number, so the tool treats them the same way as a leading plus and removes them from the E.164 result.
Why was the zero in +44 (0) 20 removed?
That zero is a trunk prefix, dialled only when calling from inside the country. It is not part of the international number, so including it in E.164 would produce a number that does not connect. Writing it in brackets is the standard way of saying exactly that.
Does it check that the number exists?
No. It analyses structure only: the calling code, the national portion and the length limit. Whether a number is assigned, reachable, mobile or landline can only be answered by a carrier lookup, which would mean sending the number to a third party.