Phone Number Formats Worldwide: E.164, Area Codes & Test Numbers
Phone fields are among the most error-prone inputs on the web. Users type spaces, brackets, plus signs and leading zeros โ and every country does it differently. This guide explains the formats and shows how to test them with realistic generated numbers.
Three formats you must understand
- National: how locals write it, often with a trunk prefix โ
020 7946 0958(UK). - International: country code plus number, trunk prefix removed โ
+44 20 7946 0958. - E.164: the machine format required by SMS and telephony APIs โ
+442079460958.
Italy is a notable exception: its leading 0 is kept even internationally.
Mobile vs landline
Most countries reserve ranges for mobiles: 07 in the UK, 04 in Australia, 010 in South Korea, 6/7 in Spain. Landlines use geographic area codes. RandNow generates both, using real area codes for each city, so you can test routing, SMS eligibility and display logic.
Best practices for phone inputs
- Store numbers in E.164; display them in national or international format.
- Use a country selector instead of guessing from the number.
- Accept spaces, dashes and brackets on input, then normalise.
- Never send real SMS or calls to generated numbers โ they may belong to someone.
Pro tips
- Switch the format option to E.164 to test API payloads.
- Generate numbers for 5+ countries to check your parsing library.
- Use the country pages (e.g. Indian phone numbers) to share presets with QA.