E.164 is the ITU-T international standard that defines a globally unique numbering plan for telephone numbers. Every valid E.164 number starts with +, followed by a country code and subscriber number, totaling no more than 15 digits. You can validate any phone number against this standard instantly using the free E.164 Phone Number Validator on FindUtils -- paste a number, get immediate compliance results with country detection and multiple output formats.

If you work with SMS APIs, VoIP systems, or any application that stores phone numbers, E.164 compliance is not optional. It is the format required by Twilio, AWS SNS, Google Cloud, Firebase Authentication, and virtually every modern telecom API.

Why E.164 Matters

E.164 is not just a formatting preference. It is the backbone of international telecommunications routing. Here is why developers, data engineers, and product teams need to care.

SMS and Voice API Requirements

Twilio, Vonage, Plivo, and MessageBird all require E.164 format for outbound SMS and voice calls. Sending (212) 555-1234 to the Twilio API returns an error. Sending +12125551234 works. One misformatted number in a batch of 10,000 can break an entire campaign.

Database Normalization

Storing phone numbers in inconsistent formats -- 212-555-1234, (212) 555-1234, 1-212-555-1234 -- creates duplicate records and failed lookups. E.164 provides a single canonical format that eliminates ambiguity. One number, one format, zero duplicates.

VoIP and SIP Routing

VoIP systems use E.164 numbers for call routing across carriers and countries. The RFC 3966 tel: URI format (e.g., tel:+12125551234) builds directly on E.164 and is required for SIP headers and click-to-call links.

CRM and Contact Data Quality

HubSpot, Salesforce, and other CRMs now enforce E.164 validation on phone number fields. Importing a CSV with non-compliant numbers means rejected records and lost leads.

Regulatory Compliance

STIR/SHAKEN caller ID authentication in the US and Canada relies on E.164-formatted numbers. Non-compliant numbers cannot be verified, increasing the chance of calls being flagged as spam.

E.164 Format Rules

Before validating, understand what makes a number E.164-compliant:

RuleRequirementExample
PrefixMust start with ++1...
CharactersDigits only (no spaces, dashes, parentheses)+14155552671
Length1-3 digit country code + subscriber numberMax 15 digits total
MinimumAt least 8 digits (including country code) for most countries+3581234567
No leading zeroCountry codes never start with 0+44... not +044...

Step-by-Step: Validating a Single Number

Step 1: Open the Validator

Go to the E.164 Phone Number Validator on findutils.com. No account or signup required.

Step 2: Enter a Phone Number

Type or paste any phone number into the input field. The tool accepts numbers in any format -- with or without the + prefix, with spaces, dashes, or parentheses. Examples:

  • +14155552671 (already E.164)
  • (415) 555-2671 (US local format)
  • 0044 20 7946 0958 (UK with international prefix)

Step 3: Review Validation Results

The validator instantly returns:

  • Validity status -- whether the number is E.164-compliant
  • Country detection -- auto-detected country name and flag
  • Country code -- the numeric country dialing code
  • Multiple output formats -- E.164, international, national, and RFC 3966 URI

Step 4: Copy the Correct Format

Click to copy the validated number in your preferred format:

  • E.164: +14155552671 -- for APIs and databases
  • International: +1 415-555-2671 -- for human-readable display
  • National: (415) 555-2671 -- for domestic display
  • RFC 3966: tel:+1-415-555-2671 -- for href="tel:" links and SIP

Step 5: Fix Invalid Numbers

If validation fails, the tool explains why -- missing country code, too many digits, invalid country code, or forbidden characters. Correct the issue and re-validate.

Step-by-Step: Batch Validation

Processing hundreds or thousands of phone numbers one at a time is impractical. The batch mode on FindUtils handles bulk validation efficiently.

Step 1: Switch to Batch Mode

Switch to the Batch tab of the Phone Number Validator.

Step 2: Paste Your Numbers

Enter multiple phone numbers, one per line. The tool accepts mixed formats -- some numbers may already be E.164, others may be local formats with various country codes.

Step 3: Run Batch Validation

Click validate. Every number is checked simultaneously. Results show a clear pass/fail status for each entry with detailed error messages for failures.

Step 4: Export Clean Data

Copy all validated numbers or export the results. Use the CSV Viewer to inspect and clean large datasets before or after validation.

E.164 Format Examples by Country

CountryLocal FormatE.164 FormatDigits
United States(415) 555-2671+1415555267111
United Kingdom020 7946 0958+44207946095812
Germany030 123456+493012345610
Japan03-1234-5678+8131234567811
Australia(02) 1234 5678+6121234567811
India98765 43210+91987654321012
Brazil(11) 91234-5678+551191234567813
France01 23 45 67 89+3312345678911

Notice that the + sign and country code replace the local trunk prefix (usually 0). This is the most common source of conversion errors.

Common E.164 Mistakes

Mistake 1: Including the Trunk Prefix

Wrong: +0442079460958 (UK number with leading 0 after country code) Correct: +442079460958

The local trunk prefix 0 must be removed when adding the country code. The E.164 Validator catches this automatically.

Mistake 2: Exceeding 15 Digits

Wrong: +1234567890123456 (16 digits) Correct: Maximum 15 digits including country code

Some systems append extension numbers to the main number. Extensions are not part of E.164 and must be stored separately.

Mistake 3: Using Formatting Characters

Wrong: +1 (415) 555-2671 Correct: +14155552671

E.164 format contains only the + sign and digits. No spaces, dashes, parentheses, or dots. Display formatting should happen at the presentation layer, not in storage.

Mistake 4: Omitting the Plus Sign

Wrong: 14155552671 Correct: +14155552671

Without the + prefix, systems cannot reliably distinguish between a US number 14155552671 and a number from another country that happens to start with 1.

Mistake 5: Wrong Country Code

Wrong: +44155552671 (UK country code +44 with US subscriber number) Correct: +14155552671 (US country code +1)

Mismatched country codes and subscriber numbers are caught by validation. The validator cross-references the country code with expected number lengths.

Privacy and Security

The FindUtils E.164 Phone Number Validator checks number structure in the browser. Format validation does not establish regulatory compliance for a contact list.

For sanitizing sensitive data in bulk before processing, pair validation with the Data Sanitizer to strip or mask PII fields.

Integration Tips for Developers

Regex for Basic E.164 Validation

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

This regex checks the basic structure: starts with +, followed by a non-zero digit, then 6-14 more digits (total 8-15 digits). It does not validate country codes or number lengths per country -- use the FindUtils validator or Google's libphonenumber for that level of accuracy.

Storing E.164 in Databases

1
2
3
4
5
6
-- Use VARCHAR(16) for E.164 (15 digits + plus sign)
ALTER TABLE contacts ADD COLUMN phone VARCHAR(16);

-- Add a check constraint
ALTER TABLE contacts ADD CONSTRAINT chk_e164
 CHECK (phone ~ '^\+[1-9]\d{6,14}$');

Validating Before API Calls

Always validate E.164 format before passing numbers to SMS or voice APIs. A single invalid number in a batch request can cause the entire batch to fail on some platforms.

Tools Used in This Guide

FAQ

Q1: What is the difference between E.164 and E.123 format? A: E.164 is a machine-readable format with no spaces or punctuation (+14155552671). E.123 is a human-readable display format that includes spaces (+1 415 555 2671). APIs require E.164; printed materials often use E.123.

Q2: Can I validate numbers without the country code? A: Not against E.164 specifically, since the country code is mandatory. However, the Phone Number Validator can parse local-format numbers if you specify the expected country.

Q3: Does the tool check if a phone number is actually active? A: No. E.164 validation checks format compliance only -- whether the structure, country code, and length are valid. Checking if a number is active (live-line detection) requires a paid carrier lookup API like Twilio Lookup or NumVerify.

Q4: How do I handle phone number extensions in E.164? A: E.164 does not support extensions. Store the base number in E.164 format and the extension in a separate field. For URI representation, RFC 3966 supports extensions: tel:+14155552671;ext=123.

Q5: Is my data safe when using this tool? A: The format check runs in the browser. A valid result does not prove that a number is assigned, reachable, or controlled by a particular person.

Q6: Why does Twilio reject my phone number even though it looks correct? A: Common causes include an embedded trunk prefix (e.g., +044 instead of +44), formatting characters (spaces or dashes), or an incorrect country code for the subscriber number. Paste the number into the E.164 Validator to get the exact error.

Q7: Can I batch validate thousands of numbers at once? A: Yes. The batch mode in the FindUtils E.164 validator processes multiple numbers simultaneously. For very large datasets (100,000+ numbers), consider using Google's libphonenumber library programmatically or pre-filtering with the CSV Viewer.

Next Steps