What are the most common international phone formatting mistakes?
| Error | Input | Why it fails | Safe correction |
|---|---|---|---|
| Missing country code | 020 7946 XXXX | Country is unknown outside context | +44 20 7946 XXXX after confirming UK context |
| Duplicated country code | +44 44 20 7946 XXXX | +44 has been added to an already international number | +44 20 7946 XXXX |
| Retained trunk zero | +44 020 7946 XXXX | The UK domestic 0 was retained after +44 | +44 20 7946 XXXX |
| Incorrectly removed zero | +39 6 XXXXXXXX | Italy retains the significant 0 on geographic numbers | +39 06 XXXXXXXX |
| Exit prefix stored as destination | +011 44 20 … | 011 is an origin-specific US/Canada exit prefix | +44 20 … |
| Carrier code stored | +55 0 21 11 9XXXX XXXX | Brazilian 0 and carrier-selection code 21 are routing input | +55 11 9XXXX XXXX |
| Extension inside E.164 | +44207946XXXX123 | Extension 123 was appended to the destination digits | +44207946XXXX with extension stored separately |
| Unicode copy/paste | +44 20‑7946‑XXXX | Full-width digits/plus, non-breaking space, and nonstandard hyphens | +44 20 7946 XXXX after character normalization |
Why do phone-number rules differ by country?
E.164 defines the international structure and maximum length, but national administrations manage their own numbering plans. They decide area-code lengths, service ranges, domestic prefixes, portability arrangements, and transition rules. That is why a UK 0 is removed after +44, an Italian geographic 0 remains after +39, Singapore uses no general trunk 0, and Brazil may place carrier-selection digits in a domestic dial string.
How should a data-entry form prevent these errors?
Accept friendly input
Allow spaces, parentheses, ordinary hyphens, full-width digits, and a separate extension field.
Preserve the original
Keep the submitted text for support and audit purposes; do not overwrite it with a guess.
Resolve country context
Prefer an explicit country selection for national-format input. Use calling-code inference only when it is unambiguous.
Normalize separately
Write a canonical +digits field only after parsing succeeds. Keep display formatting and extensions separate.
Return structured warnings
Explain removed trunk digits, shared plans, unsupported ranges, and ambiguity instead of returning one true/false value.
Check a format without sending the number anywhere
The browser-only checker separates extensions, normalizes copy/paste characters, applies reviewed country rules, and reports ambiguity. It does not perform HLR, carrier, ownership, or reachability checks.
Open the format checkerPrimary sources
- ITU-T E.164: The international public telecommunication numbering planInternational Telecommunication Union. Verified 2026-07-19.
- ITU-T E.123: Notation for national and international telephone numbersInternational Telecommunication Union. Verified 2026-07-19.
See our editorial and sourcing methodology.