TL;DR
The WhatsApp Business API requires customer phone numbers to be stored in international format. This is the single most common reason contact-list imports fail, and also why campaign messages fail to send. This article covers the exact format that Mumble and Meta require, how to convert local numbers to international, and how to fix a large list of numbers in the wrong format. If you’ve ever imported a CSV and seen “0 customers added,” or watched a lot of messages come back as failed in a campaign, the reason is probably here.
What international format is
International format is a uniform way of writing phone numbers, regardless of country. It consists of:
- A country code at the start (for example 972 for Israel, 1 for the US, 44 for the UK).
- The local number without the leading 0, and without spaces, hyphens, or parentheses.
This format is based on the international E.164 standard. It looks like this:
| Country | Local number | International format |
|---|---|---|
| Israel | 050-123-4567 | 972501234567 |
| US | (212) 555-0199 | 12125550199 |
| UK | 07700 900123 | 447700900123 |
| Germany | 0151 12345678 | 4915112345678 |
| France | 06 12 34 56 78 | 33612345678 |
Why it matters
WhatsApp operates worldwide. A phone number on its own (“0501234567”) isn’t globally unique, because every country has its own leading 0. Only when you add a country code (972 + 501234567 = 972501234567) does the number become globally unique.
Practical consequences:
- Failed customer imports. Mumble rejects numbers in local format during a CSV import.
- Failed template messages. In a campaign, numbers in the wrong format come back as failed with no clear explanation.
- Validation errors in the system. API operations that use a non-standard number return errors.
- Duplicate customers. The same customer can be stored twice, once in local format and once in international, and counted as two different customers.
The exact rules
A valid international format for Mumble and WhatsApp must meet all of these rules:
- Starts with a country code. No 0 before it; a leading + is allowed but not required.
- After the country code, the local number without the leading 0. The Israeli number 0501234567 becomes 972501234567, not 9720501234567.
- Digits only, no other characters. No spaces, no hyphens, no parentheses, no periods.
- Between 8 and 15 digits in total, depending on the country. Most numbers will be 10–13 digits.
Converting an Israeli number
The practical way to convert an Israeli number:
- Take the full number, for example:
050-123-4567 - Remove all hyphens and spaces:
0501234567 - Remove the leading 0:
501234567 - Add 972 at the start:
972501234567
That’s it. A valid number in international format.
Common mistakes
Numbers people tend to think are valid, but aren’t:
| Wrong format | The problem | The fix |
|---|---|---|
| 0501234567 | Missing country code | 972501234567 |
| 9720501234567 | Double 0 (in both the country code and the number) | 972501234567 |
| +972-50-123-4567 | Extra characters (hyphens) | 972501234567 (or +972501234567) |
| 050 123 4567 | Missing country code, has spaces | 972501234567 |
| (050) 1234567 | Parentheses, missing country code | 972501234567 |
| 972-50-123-4567 | Hyphens | 972501234567 |
Note: a leading + sign is allowed but not required. Both formats are valid:
972501234567✓+972501234567✓
How to fix a large list
If you have an Excel or CSV file with thousands of numbers in mixed formats, there are several ways to fix it.
Option 1: an Excel formula
Excel has text-processing functions. A sample formula for Israeli numbers in column A, with the result in column B:
=IF(LEFT(A1,1)="0", "972"&MID(A1,2,20), IF(LEFT(A1,3)="972", A1, "972"&A1))
The logic: if the number starts with 0, replace that 0 with 972. If it already starts with 972, leave it. Otherwise, add 972. Before using it, you need to strip out the extra characters. An additional formula to clean out non-digit characters:
=SUBSTITUTE(SUBSTITUTE(SUBSTITUTE(SUBSTITUTE(A1," ",""),"-",""),"(",""),")","")
When you combine the two formulas, you get a clean number in international format in a single row.
Option 2: Google Sheets
The same logic, but with REGEXREPLACE, which is more convenient:
=IF(LEFT(REGEXREPLACE(A1,"[^0-9]",""),1)="0", "972"&MID(REGEXREPLACE(A1,"[^0-9]",""),2,20), REGEXREPLACE(A1,"[^0-9]",""))
The REGEXREPLACE function removes every non-digit character in one go.
Option 3: online services
There are online tools suited to batch-processing phone numbers. Searching for “phone number formatter” will turn up several options. Be careful to upload only data you’re comfortable exposing to a third party.
Option 4: the Mumble API
If you have a key, you can build a script that pulls all your customers, fixes the formats, and updates the numbers. See The Complete Mumble API Guide.
Country codes for popular countries
| Country | Country code |
|---|---|
| Israel | 972 |
| US and Canada | 1 |
| UK | 44 |
| Germany | 49 |
| France | 33 |
| Italy | 39 |
| Spain | 34 |
| Netherlands | 31 |
| Belgium | 32 |
| Poland | 48 |
| Russia | 7 |
| Ukraine | 380 |
| Turkey | 90 |
| Egypt | 20 |
| United Arab Emirates | 971 |
| Saudi Arabia | 966 |
| India | 91 |
| China | 86 |
| Japan | 81 |
| Australia | 61 |
| South Africa | 27 |
| Brazil | 55 |
| Argentina | 54 |
| Mexico | 52 |
For a full list of country codes, see the ITU documentation for the E.164 standard.
Special cases
United States and Canada
They share country code 1. A US or Canadian number always starts with 1, followed by 10 digits. For example: 12125550199. There’s no need to distinguish between the two when importing.
Italy
For Italian mobile numbers, there’s no leading 0 to remove. An Italian mobile number starts with 3 (for example 3331234567), and in international format it’s 393331234567.
Brazil
For Brazilian mobile numbers, a 9 is added before the local number. A Brazilian number in international format is 55 + area code + 9 + 8 digits. Example: 5511987654321.
Toll-free numbers
Numbers like 1-800 and similar are not valid WhatsApp numbers. The WhatsApp Business API works only on mobile numbers or verified business landline numbers. If your customers call you through a toll-free number, use your dedicated WhatsApp number in campaigns.
Common issues
I imported a file of 1,000 numbers and only 300 were added
Common cause: 700 numbers were in the wrong format. Check the import log for specific errors, or download the file showing which records were rejected. When you re-import, make sure the format is fixed in the source file.
I sent a campaign to 500 customers and 150 messages came back as failed
Check the detailed status for each recipient. If you see “user not on WhatsApp” or “invalid phone number” errors, the cause is probably a wrong format. Fix the numbers on the Customer Management page, or remove those customers from the list.
The same customer appears twice in Mumble
It’s likely they were saved once in local format and once in international format. Merge the cards: keep the card with the international (standard) format and delete the other.
How can I tell which country a number is from?
The country code at the start indicates the country. 972... = Israel, 44... = UK. If there’s no country code, you need to know where the customer is from. In most cases, if the customer left details on an Israeli website, they’re probably Israeli.
I added a customer with +972 at the start. Is that valid?
Yes. The leading + is allowed but not required. Both formats (972... and +972...) are valid. Mumble ignores the + during processing.
Why isn’t the leading 0 kept when I import?
That’s not a problem. The leading 0 isn’t part of the international format. If you see 501234567 in the file rather than 0501234567, just add 972 at the start: 972501234567.
Best practices
- Fix the format at the source. If you collect numbers through a form on your website, make sure the form fixes the format automatically (adds 972, removes the 0). This saves work every time you import.
- Test a sample before a large import. Before importing 10,000 records, import the first 100 and see if everything is fine. If you spot problems, fix the script or formula before continuing.
- Keep the numbers in a single column. Don’t split the number across columns (country code, area code, number), because that makes processing harder.
- Document which numbers were rejected. On every import, keep a list of the rejected records so you can retry them after fixing.
- If you’re international, separate lists by country. Importing a mixed list from different countries makes troubleshooting harder. One list for Israel, one for the US, one for Europe.
- Recheck after the import. Once the import is done, filter for customers with an invalid format on the Customer Management page and fix them separately.
Related articles
- Customer Management in Mumble
- Importing and Uploading Contacts
- Campaign Troubleshooting
- Reading Campaign Results
- The Complete Mumble API Guide
- The E.164 standard on Wikipedia
- Customer Upload File Builder Tool
The bottom line
International format sounds like a small technical detail, but it’s the number 1 cause of import problems and failed campaign messages. One hour of fixing your list at the source saves days of debugging later. Keep the format consistent across all your systems (website, CRM, Excel, Mumble), and everything runs smoothly. The rules are simple: country code at the start, digits only, no leading 0 after the country code.