Skip to content
CLIRoutes

Free tool

E.164 number formatter

Paste numbers the way your CRM stores them. The formatter strips punctuation, trunk prefixes and exit codes, checks the length against the national numbering plan, and gives you the E.164 and trunk-ready versions.

Used for numbers written without a country code.

Any format: spaces, dashes, brackets, 00 or +. Up to 200 lines.

Runs in your browser. Numbers are not sent anywhere.

Results · 4 of 4 valid

  • 07700 900123Valid

    +447700900123

    Country
    GB
    Type
    Mobile
    SIP / trunk
    447700900123
    National
    07700900123
    • · Removed the national trunk prefix 0.
  • +44 (0)20 7946 0018Valid

    +442079460018

    Country
    GB
    Type
    Fixed line
    SIP / trunk
    442079460018
    National
    02079460018
    • · Removed the trunk prefix 0 after +44; it is never dialled internationally.
  • 0049 30 901820Valid

    +4930901820

    Country
    DE
    Type
    Fixed line
    SIP / trunk
    4930901820
    National
    030901820
    • · Removed the 00 international prefix.
    • · German fixed numbers vary in length by area code.
  • (212) 555-0147Valid

    +442125550147

    Country
    GB
    Type
    Fixed line
    SIP / trunk
    442125550147
    National
    02125550147

What E.164 is

E.164 is the ITU standard for international phone numbers. A number in E.164 is a +, a country code of one to three digits, and the national significant number, with no spaces, brackets, leading zeros or extensions. The whole thing is never longer than 15 digits. +442079460018 is E.164. 020 7946 0018, +44 (0)20 7946 0018 and 0044 20 7946 0018 are the same number written for people.

Switches, SIP trunks and dialers want one predictable format, because they make routing decisions by matching the leading digits. A stray trunk prefix or a missing country code sends the call to the wrong rate deck entry, or to no route at all. On a CLI route, a malformed caller ID is one of the most common reasons a call is rejected or shown as unknown.

What the formatter fixes

  • Punctuation. Spaces, dashes, dots and brackets are removed.
  • Exit codes. 00 and the North American 011 are read as the international prefix and replaced by +.
  • Trunk prefixes. The national 0 (or 1 in North America) is removed. The (0) that people write after +44 or +49 is removed too, because it is never dialled from abroad.
  • Missing country codes. Numbers without a country code take the default country you choose.
  • Country quirks. Italian fixed numbers keep their 0. Argentine mobiles get the 9 after +54 and lose the domestic 15. Brazilian carrier selection codes and the retired Mexican 044, 045 and 01 prefixes are removed.
  • Extensions. Text such as ext 204 or x204 is dropped, since extensions are dialled after the call connects.

E.164 versus trunk format

Most wholesale SIP trunks, including ours, expect the destination and the caller ID as country code plus number with no + and no 00. That is E.164 without the plus sign. The formatter gives you both. Use E.164 for storage and CRMs, and the trunk format in your dialplan or carrier prefix settings.

As writtenE.164Trunk format
07700 900123 (UK)+447700900123447700900123
+49 (0)30 901820+49309018204930901820
(212) 555-0147+1212555014712125550147
06 1234 5678 (Italy)+390612345678390612345678

How the number type is worked out

In most countries the first digits after the country code tell you whether a number is mobile, fixed, toll-free or premium rate. UK mobiles start with 7, French mobiles with 6 or 7, German mobiles with 15, 16 or 17. The formatter checks those ranges and the allowed length for each type.

A "Check" result means the number does not fit the plan: usually a digit too many or too few, or a range that is not issued. It is worth cleaning these out of a dialer list before a campaign. Invalid numbers lower your answer rate and drag down NER, which some carriers read as poor traffic. See ASR, ACD, PDD and NER explained.

Limits of this tool

The tool covers the 20 countries we see most often in call-center traffic and uses simplified ranges. It checks format, not whether a number is live. Everything runs in your browser and no numbers are sent to us. For lists in other countries, or for millions of rows, normalise in your CRM with a library such as libphonenumber.

Last reviewed by the CLIRoutes routing team. Spotted a numbering change? Tell us.

FAQ

E.164 number formatter questions

Can’t find what you need? Our routing team answers within the hour, around the clock.

Should I store numbers with or without the plus sign?

Store them in E.164 with the plus. It is unambiguous and every library understands it. Strip the plus only when sending to a trunk that expects country code plus number.

Why is the (0) in +44 (0)20 removed?

The 0 is the UK trunk prefix, used only for domestic calls. Dialled after +44 it makes the number invalid, so it must be dropped.

Can the formatter tell if a number is still in service?

No. It checks the format and range against the numbering plan. Whether a number is live needs an HLR or carrier lookup.

Is my data sent anywhere?

No. Parsing runs in your browser and nothing is uploaded or logged.

Why does a US number show as "Fixed or mobile"?

North American numbering does not separate mobile and fixed ranges, so the digits alone cannot tell you the type.