+

E.164 phone number format

E.164 is the international phone number format defined by the ITU: a +, the country code, then the national number without its trunk prefix - at most 15 digits, no spaces, dashes or brackets. +442079460000 is E.164; 020 7946 0000 and +44 (0)20 7946 0000 are not.

Paste a number below to convert it. A number written the local way needs its country.

5 free conversions a day, shared with the phone number validator. Numbers are not stored.

The E.164 rules

National number to E.164: examples by country

Most countries just drop the leading 0, but not all of them. These are the cases that break naive "strip the zero" code.

CountryWritten locallyE.164Rule
United States +1 (866) 398-2896 +18663982896 No trunk prefix; the 1 is the country code, not a long-distance digit.
United Kingdom +44 020 7946 0000 +442079460000 Drop the leading 0.
Germany +49 030 12345678 +493012345678 Drop the leading 0.
France +33 01 23 45 67 89 +33123456789 Drop the leading 0.
Italy +39 06 1234 5678 +390612345678 Landlines keep the 0 - it is part of the number.
Australia +61 0412 345 678 +61412345678 Drop the leading 0.
India +91 098765 43210 +919876543210 Drop the leading 0.
Philippines +63 0917 123 4567 +639171234567 Drop the leading 0.
Brazil +55 (11) 91234-5678 +5511912345678 Area code stays, no carrier code.
Japan +81 03-1234-5678 +81312345678 Drop the leading 0.
Russia +7 8 (495) 123-45-67 +74951234567 The trunk prefix is 8, not 0 - drop it.
Argentina +54 011 15 2345-6789 +5491123456789 Mobiles: drop 0 and 15, insert 9 after +54.

E.164 regex - and why it is not enough

The usual pattern checks the shape:

^\+[1-9]\d{1,14}$

It accepts +10000000000 and +999999: right shape, but no country assigns those numbers. A regex cannot know that UK numbers have 10 digits after +44, that US numbers 555-0100 to 555-0199 are reserved for fiction, or that Argentine mobiles need the 9. Use it as a quick filter on input, then validate against the numbering plan - Google's libphonenumber (ports for every major language) or an API.

E.164 vs other formats

Storing phone numbers in E.164

E.164 for SMS and voice APIs

Twilio, Vonage, Amazon SNS and most other SMS and voice providers expect the destination in E.164. A local-format number is the most common cause of "invalid To number" errors: the provider cannot guess the country. Convert and validate before the send, and drop numbers that do not resolve - a failed send still costs a request, and a landline cannot receive an SMS code.

The DialCode API does that in one call: GET /v1/phone/{number}?country=GB returns the E.164 form, the line type (mobile, landline, VoIP) and scam-risk signals. For a whole list, use the bulk phone number validator.

FAQ

What is E.164 format?

The international phone number format from ITU-T Recommendation E.164: +, country code and national number, up to 15 digits, with no spaces or punctuation. Example: +442079460000.

How do I convert a phone number to E.164?

Remove spaces and punctuation, remove the national trunk prefix (usually the leading 0), and put + and the country code in front. Watch the exceptions: Italian landlines keep the 0, Russia's prefix is 8, Argentine mobiles gain a 9. The converter above handles them.

Does E.164 include the plus sign?

The standard counts digits only; the + marks that the country code follows. In practice store and send it with the + - that is what SMS providers and libphonenumber expect.

What is the maximum length of an E.164 number?

15 digits including the country code, so 16 characters with the +.

What does a US number look like in E.164?

+1 then the 10-digit number: (866) 398-2896 becomes +18663982896.

Convert and validate numbers in your app

E.164, line type and scam risk in one JSON call - free 1,000 lookups a month. No card.

GET YOUR FREE KEY → READ THE DOCS