When a number list built from CRM exports, event registration forms, or offline sign-up sheets reaches WhatsApp, the most common blocker is not whether the number is activated—it is that the string simply cannot be read as an international number. WhatsApp recognizes the full international format: it starts with a "+", followed by the country/region code, then the rest of the number after removing the local dialing prefix, with no spaces, parentheses, or hyphens in between; it follows the E.164 international standard underneath, with a maximum of 15 digits in plain numeric form. Below, we go through this in the order you actually process the list in hand.
Step 1: First determine which country each number belongs to
The hardest part of cleaning is not adding the plus sign—it is deciding "which country this string of digits belongs to". The same number missing one digit may be a valid length under different country codes, and adding the wrong country code is more troublesome than not adding one at all.
- If the list includes a country field (country name, two-letter code, or area code column), use that field as the source of truth—do not infer it back from the number itself.
- If there is only a number column and the source mixes multiple countries, split the table by source first: whichever market or channel it came from determines which country it belongs to, then process them separately.
- Put numbers whose ownership truly cannot be determined in a separate table. Do not force in a country code that "looks the most likely", or the later detection results will be even harder to explain.
Country codes themselves can be looked up in the ITU allocation table. If you want to organize a country's number ranges and local mainstream platforms by market, there are region-specific solution pages on this site organized by country (number formats and mainstream platforms by region), which you can check against before you start.
Step 2: Clean in a fixed order, don't edit while inspecting
Getting the order wrong leads to repeated rework, so it is best to follow these three steps strictly:
- Remove the local dialing prefix. Many countries add a "0" when dialing domestically (e.g., UK mobile 07xxx), while the international exit prefix is "00" or "011". These prefixes have no place in the international format and must be removed first. A UK mobile 07xxx becomes +44 7xxx, not +44 07xxx.
- Add the country code, preceded by "+". This gives the string "+country code + remaining number".
- Strip all non-digit characters to get a plain digit string. Spaces, hyphens, parentheses, and periods are typography, not part of the number itself.
After these three steps, each number has two usable forms: the international form with "+" (easy for people to read, easy to enter into systems), and the plain digit string without "+" (for APIs, links, and batch jobs). The content is identical; the only difference is whether that plus sign is present.
| Original form in the list | E.164 form | Plain digit form |
|---|---|---|
| 07xxx xxxxxx (UK mobile) | +44 7xxx xxxxxx | 447xxxxxxxxx |
| (408) 555-1234 (US) | +1 408 555 1234 | 14085551234 |
| 011 15 xxxx-xxxx (Argentina mobile) | +54 9 11 xxxx xxxx | 54911xxxxxxxx |
Step 3: Remember the three hard limits of E.164
- It consists only of digits, with no spaces, dashes, or parentheses.
- The country code itself cannot start with "0".
- Including the country code, the total length must not exceed 15 digits.
Numbers longer than 15 digits, or those noticeably shorter than the country's usual length after cleaning, should be set aside separately and not passed directly to the next step.
Countries needing special handling: the United Kingdom, Argentina, and Mexico
The UK is the most typical example of "removing the leading 0"; Argentina and Mexico, on the other hand, require an extra digit between the country code and the area code—this is a rule explicitly stated by WhatsApp.
- Argentina (54): insert the digit 9 between country code 54 and the area code, and remove the local mobile prefix 15. The full international number is 13 digits, in the form +54 9 XXX XXX XXXX.
- Mexico (52): country code +52 is immediately followed by the digit 1, even for Nextel numbers, in the form +52 1 XXX XXX XXXX.
There is a practical pitfall here: after Mexico's telecom reform, domestic dialing no longer uses the prefix 1, but WhatsApp-side registration and receiving still require the 1 per official documentation. That is, the "correct form" you get from a local colleague may not match what WhatsApp recognizes. For such countries, it is best to keep a separate checklist and calibrate with actual detection results rather than applying a blanket regional rule. For the specific rules for Argentina and Mexico, refer to WhatsApp's official Help Center explanation of international number formats; if it has changed, follow the wording on the official page at that time.
The form used in APIs and links needs one more layer stripped
If the number is going into a REST API, a database field, or a link such as wa.me, the convention usually requires further removing the leading "+", dashes, parentheses, and the international exit prefix, keeping only the plain digit string of "country code + local number". The reason is that these scenarios often treat "+" as a character requiring escaping or encoding, or match directly as strings—one extra symbol is one more possibility of a mismatch.
Therefore, it is best to keep two columns in the list: e164 (with +) and msisdn (plain digits), so downstream can take whichever it needs without ad-hoc processing each time.
Correct format does not mean the number is usable
Format cleaning solves "can this string of digits be understood"; it does not solve "whether this number is activated on WhatsApp, how it is registered, or what its current status is". These are different levels of the problem: the former can be done locally, while the latter requires querying the platform.
At this stage, WhatsApp platform detection can check the platform-queryable status fields against your cleaned list and export grouped by valid and invalid; basic number detection additionally covers empty numbers, device type, high-risk numbers, and more. The console supports uploading txt or csv, and you can also submit via REST API with Webhook callbacks, billed per item—for specific detection items and unit prices, refer to the pricing table on the platform page. The list is your own data and is processed only within the scope of the submitted task. The cleaning order still must come first—if a list with inconsistent formats goes in, no matter how complete the fields are, the grouping results will be polluted by format issues.
Pre-delivery checklist
- Every line's country ownership can be stated, with no country codes added by guessing.
- Local leading 0 and 00/011 have been removed, and UK numbers do not retain forms like +44 0.
- Countries with extra-digit rules, such as Argentina and Mexico, have been checked separately.
- Both columns—with "+" and plain digits—are present, so downstream does not need ad-hoc processing.
- Numbers with abnormal lengths or unassignable ownership have not been mixed into the official list.
- Deduplication is done after normalization, to avoid the same number being counted as two entries because of different representations.
Go through this order once, and a mixed-source list can basically become data that can be submitted directly and whose results can be explained.
NexCheck-筛号平台
Comments(0)