Mobile phone number format in HubSpot
If you are using HubSpot to store WhatsApp numbers (for example, to send WhatsApp templates via Flowella workflows), it’s important that your phone numbers are saved in a consistent, international format. This avoids failed sends, duplicate contacts, and the classic “why is this number missing a digit” mystery.
Use E.164 format (recommended)
HubSpot phone numbers should be stored in E.164 format:
- A plus sign
+ - Country code
- Full national number (without the leading trunk
0)
Example (UK): +442079460958 Example (UK mobile): +447700900123
Avoid spaces and punctuation if you can. HubSpot will display formatting nicely anyway, but integrations are happiest with plain E.164.
How to confirm the number is valid in HubSpot
When you click into a phone field on a contact record (for example Mobile phone number), HubSpot will show a status under the input.

You want it to show Validated. If it does not:
- Check the number includes
+and the correct country code - Check there is no leading 0 after the country code (for example
+4407…is wrong) - Use HubSpot's Remove number formatting option if you pasted something messy, then re-save
CSV/Excel import tips (so HubSpot doesn't mangle it)
Keep phone numbers as text
Excel loves "helping" by removing the + or converting long numbers into scientific notation.
Before importing:
- Format the phone column as Text (Home → Number format → Text), then paste values
- Or prefix values with an apostrophe in Excel:
'+447700900123(the apostrophe won't import into HubSpot, it just forces text handling) - In CSV files, wrapping values in quotes is also helpful:
"+447700900123"
Don't import spaces or brackets. HubSpot can often normalise formatting, but you'll get the most consistent results if you import clean E.164 values.
Excel formula: clean phone numbers to E.164
If you have a spreadsheet full of messy phone numbers in various formats, the formula below will clean them into E.164 format, ready for HubSpot import.
It handles all common input formats including:
- Local numbers with a leading
0(e.g.07700 900123) - Numbers with
+and country code (e.g.+44 7700 900123) - International dialling prefix
00(e.g.0044 7700 900123) - The dreaded
+44(0)7...format - Hyphens, dots, brackets, and other punctuation
- Numbers that already have the country code but no
+(e.g.447700900123)
How to use it
- Copy the formula below
- Paste it into any cell in your spreadsheet
- Change
A2to point to your first phone number cell - Change
"44"to your country code (see the country reference table below) - Change
10to the expected mobile number length for your country - Press Enter, then drag down to apply to all rows
This formula requires Excel 365 or Google Sheets. It uses LET, TEXTJOIN and SEQUENCE which are not available in older Excel versions.
The formula
=LET(
cell, A2,
country_code, "44",
nsn_len, 10,
raw, TRIM(cell&""),
clean, SUBSTITUTE(raw,"(0)",""),
digits, TEXTJOIN("",,IFERROR(MID(clean,SEQUENCE(LEN(clean)),1)*1,"")),
has_plus, ISNUMBER(FIND("+",raw)),
has_00, LEFT(digits,2)="00",
p, LEN(country_code),
starts_cc, AND(LEFT(digits,p)=country_code, LEN(digits)=p+nsn_len),
nsn, IF(has_plus, digits,
IF(has_00, MID(digits,3,999),
IF(starts_cc, MID(digits,p+1,999),
IF(LEFT(digits,1)="0", MID(digits,2,999), digits)))),
intl, IF(has_plus, "+"&digits,
IF(has_00, "+"&MID(digits,3,999),
IF(starts_cc, "+"&digits,
"+"&country_code&nsn))),
is_domestic, AND(NOT(has_plus), NOT(has_00), NOT(starts_cc)),
IF(raw="","",
IF(digits="","REVIEW (not a number): "&raw,
IF(AND(is_domestic, LEN(nsn)<nsn_len),"REVIEW (number too short): "&raw,
IF(AND(is_domestic, LEN(nsn)>nsn_len),"REVIEW (number too long): "&raw,
intl))))
)
What the three config variables mean
- cell — the cell containing the raw phone number (change to match your column, e.g.
G2) - country_code — the default country code to apply to domestic numbers (e.g.
"44"for the UK,"1"for the US) - nsn_len — the expected length of the national subscriber number (mobile). For the UK and US, this is 10. See the country reference table below.
How it works
The formula takes four different paths depending on what it finds in the input:
- Has
+in the original — already international, strip to digits and prepend+ - Starts with
00— international dialling prefix, strip the00and prepend+ - Starts with the country code AND digit count matches — bare international (e.g.
447700900123), prepend+ - Everything else — domestic number, strip leading
0and prepend+plus the country code
Before any of this, the formula removes (0) from the raw input, so +44(0)7700 900123 is handled cleanly.
What about invalid numbers?
Numbers that don't pass validation return a clear message so you can filter and fix them:
REVIEW (not a number): hello world— no digits found at allREVIEW (number too short): 07700— not enough digits for a valid numberREVIEW (number too long): 077009001234— too many digits, possibly a double prefix
Length validation only applies to domestic numbers (those without + or 00). Numbers that already have an international prefix are trusted and passed through as-is, since the formula can't know the NSN length for every country.
Download the Excel validator spreadsheet below to test the formula against 75+ example phone numbers before using it on your own data.
Country code reference
Here are the most common country codes and their mobile NSN lengths for use with the formula:
| Country | Country Code | NSN Length (mobile) | Notes |
|---|---|---|---|
| United Kingdom | 44 | 10 | |
| United States / Canada | 1 | 10 | All NANP countries share cc=1 |
| France | 33 | 9 | |
| Germany | 49 | 11 | Mobile only; landlines vary |
| Spain | 34 | 9 | |
| Italy | 39 | 10 | Mobiles keep leading 3 |
| Portugal | 351 | 9 | |
| Netherlands | 31 | 9 | |
| Ireland | 353 | 9 | |
| Greece | 30 | 10 | |
| Poland | 48 | 9 | |
| Switzerland | 41 | 9 | |
| Turkey | 90 | 10 | |
| India | 91 | 10 | |
| Australia | 61 | 9 | |
| Japan | 81 | 10 | |
| China | 86 | 11 | |
| UAE | 971 | 9 | |
| Saudi Arabia | 966 | 9 | |
| South Africa | 27 | 9 | |
| Brazil | 55 | 11 | Mobile with 9th digit |
| Singapore | 65 | 8 | |
| Hong Kong | 852 | 8 |
The NSN length values above are for mobile numbers. If you're processing a mix of mobile and landline numbers, be aware that some countries (especially Germany) have variable-length landlines. For WhatsApp use, mobile-only lengths are correct.
Quick troubleshooting checklist
If your WhatsApp sends fail:
- Confirm the HubSpot property contains E.164 format
- Confirm the field shows Validated
- Make sure the number includes the country code and no leading
0after it - Ensure you're using the correct HubSpot property in your workflow action (the one that actually contains the WhatsApp number)
A common mistake when using Flowella workflows is pointing the WhatsApp action at the "Phone number" property instead of "Mobile phone number". Double-check which property contains the WhatsApp-enabled number.