Skip to content

Guides · eSIM and SMS

SMS phone number format: country codes and allocated numbers

Start with the exact number allocated to your SMS order. Check whether the receiving service asks for a complete international number or selects the country separately. Changing the display format must not change the number’s identity, and a correct-looking number does not guarantee that a service accepts it.

By PortproofPublished

Short answers

Should I include the country code when entering an SMS number?

Follow that field’s instructions. A complete international-number field and a country-selected national-number field can expect different input. Keep the original allocated value so you can compare them. Do not add a country code twice or infer it from your present location.

Does E.164 formatting prove that a number works?

No. A syntactically plausible international number does not establish that it is allocated, reachable, controlled by you or accepted by a particular service. A shape check is not a delivery test. Use the actual purchased number and the service-specific product conditions.

Can I remove every leading zero?

No. National prefixes and significant leading digits depend on the numbering plan. Do not apply one country’s transformation to every number. Use the selected country and authoritative formatting instructions, or ask the service to clarify what its field expects.

Does fixing the format extend my number rental?

No. Formatting changes neither the access period nor supported receiving service. Check the current asset and order separately. A code needed after a number’s access ends is an account-recovery issue, not a punctuation problem.

Preserve the allocated value before editing a field

In the owned SMS asset, Portproof shows the allocated phone number and provides Copy number when access is available. Copy that value privately and identify its country and selected receiving service from the order. It is a reference value, not an instruction to rewrite every website’s country selector.

Keep the original apart from the version you enter into a form. If a country selector already supplies a prefix, a second copy of that prefix can describe a different number. Conversely, removing digits to make an error disappear can lose part of the allocated number. Stop when the required format is unclear.

Identify the field before changing the notation

A decision aid for an allocated receiving number
What the service showsWhat to checkWhat to avoid
One field asking for an international numberIts stated country-code and punctuation requirementsReplacing the number’s country with your current location
A country selector beside a number fieldWhether the selector supplies the calling code and what national form is expectedEntering the same country code in both places
An example but no clear instructionsThe service’s official help and the selected countryGuessing a transformation from another country’s example
A correctly entered number is rejectedThe permitted service/country combination and the service’s number rulesAssuming a format change guarantees acceptance

This guide concerns entering a purchased receiving number. Many SMS formatting references instead concern sending APIs, contact imports or application authentication systems. Those systems may define their own input representation. Their examples do not establish the capabilities of your Portproof SMS product.

Keep notation separate from validity

The current ITU-T E.164 numbering recommendation describes international numbering structures. A common textual representation uses a leading plus sign followed by the country calling code and the rest of the international number. This notation is not the same thing as a website’s country-selected input field.

Do not turn a short regular expression into a worldwide numbering validator. Country rules, allocation and service support require more information. The official libphonenumber false assumptions explain why simple universal rules about telephone numbers are unreliable. You do not need a new library merely to copy an allocated number.

Use a reserved example to see the difference

For illustration only, consider the UK drama number 07700 900123, represented internationally as +44 7700 900123. Ofcom reserves the relevant mobile range for drama examples; it is not a Portproof allocation or a number to contact. A field selecting the UK separately may require the national form specified by that service rather than the complete international representation.

The example shows why “add the prefix” is incomplete advice. You need the selected numbering plan and the field’s representation. It does not authorise deleting a zero from another country’s number. Preserve the original if you cannot establish the conversion.

An offline shape check proves very little

The following optional Python example recognises one restricted international textual shape. It accepts only a plus sign and ASCII digits, with a non-zero first digit and no more than fifteen digits. It deliberately does not normalise input or identify a country. Do not use its result as an SMS eligibility or allocation decision.

The reserved international example returns True; the national example returns False. This checks the shown notation only, not whether either number can receive a message.

Check a textual shape, without sending a messagepython
import re

def looks_international(value):
    return re.fullmatch(r"\+[1-9][0-9]{1,14}", value) is not None

print(looks_international("+447700900123"))
print(looks_international("07700900123"))

The fixture also accepts some strings that do not establish a usable telephone number. That is the point: a shape check can reject certain input forms while remaining insufficient to prove validity. Spaces or punctuation rejected by this small example may be accepted by a particular service. Follow that service’s documented input format instead of treating the fixture as a universal standard.

Separate a form error from a missing message

If the service rejects the number before requesting a code, record its exact error without publishing the full number. Recheck the selected country, original allocation, product service and field instructions. Do not repeatedly change digits, create another purchase or assume that a paid number must be accepted.

If the service accepts the entry but a message has not appeared, switch to SMS delivery checks. Inspect the owned asset’s current state and saved inbox. A stale or failed read is different from confirmed absence, and the sending service remains responsible for deciding whether to send its message.

Choose the receiving service and access period first

Browse SMS products for the actual country, receiving service and access type required for your permitted task. Compare activation and rental terms before paying. Formatting does not supply a different service, extend access or guarantee future account recovery.

For support, use the existing order and a private channel. Keep allocated numbers, message contents and codes out of analytics, public screenshots and example data. The examples here were checked offline with reserved or synthetic values; no number was allocated, contacted or tested against a real receiving service.

What is not allowed

Use receiving numbers only for authorised tasks that comply with the selected service’s rules and the acceptable-use policy.