ASEAN + APAC Phone Number Validator
Phone number format validator for all 11 ASEAN members plus Hong Kong, Taiwan and China. Checks a number against the regulator's numbering plan and Google's metadata. Browser-only.
ASEAN + APAC Phone Number Validator
How the phone format check works
Read the digits
Spaces, dashes, brackets and dots are ignored. A leading + or 00 marks the international form. Letters are refused, because an extension or a vanity word is not something this checks.
Find where it is from
The calling code decides: +65, +60, +62, +66, +84, +63, +673, +855, +856, +95 and +670 for the eleven ASEAN members, and +852, +886 and +86. A number typed without one is read in the national format of the place you pick.
Handle the trunk 0
In a locally written number, a leading 0 is dropped only where the numbering plan uses a trunk prefix. Singapore has none (IMDA §1.2.1). Brunei's 2014 and Timor-Leste's 2013 filings with the ITU show none either, so a leading 0 there is an error too. After a +CC a 0 is always an error, and the result offers the number without it.
Check it against the plan
Google's libphonenumber metadata gives the first verdict, through the same self-hosted libphonenumber-js that /phone-parser/ uses. Where a regulator's own plan says otherwise, the regulator wins. The result names the plan and says how far it was checked.
About ASEAN + APAC phone number formats
ASEAN has had eleven members since Timor-Leste joined at the 47th ASEAN Summit on 26 October 2025 (Government of Timor-Leste), and each runs its own numbering plan. This validator covers all eleven, plus Hong Kong, Taiwan and mainland China. Singapore, Malaysia, Indonesia, Thailand and Vietnam were checked against the regulator's current plan, and the Philippines in part. Brunei, Laos, Myanmar and Timor-Leste were checked against their filings with the ITU, some of them old: Timor-Leste's dates from 2013. Not every plan could be verified. Cambodia's last ITU filing dates from 2009 and its regulator's current list could not be read, so for Cambodia, and for Hong Kong, Taiwan and mainland China, the verdict is Google's metadata alone. The result says which applies.
How many digits after the country code
Every count here is after the country code, without the trunk 0. Singapore subscriber numbers have eight digits and no trunk prefix, per IMDA's National Numbering Plan (its 1800 freephone numbers are longer). Brunei's have seven. Timor-Leste's, as filed with the ITU in 2013, have seven for fixed lines and eight for mobiles. Malaysian mobiles have 9 or 10 digits after +60 and landlines 8 or 9, per MCMC's Numbering and Electronic Addressing Plan. Thai mobiles and VoIP numbers have 9 and fixed lines 8. Vietnamese mobiles have 9 and landlines 10. Indonesia's 2018 plan sets landlines at 10 digits after +62, or 11 in areas it calls critical; Google's metadata, and so this tool, still accepts some 9-digit ones, which the plan does not define. The same plan leaves mobile length to each operator, within the 13-digit national limit, and this tool follows Google's metadata for the lengths in use.
Prefixes, and what they no longer tell you
Singapore mobiles start with 8 or 9 and fixed lines with 6; IMDA reserves 3 for IP telephony and data-only services. Malaysian mobiles start with 01, which becomes 1 after +60; when MCMC opened 011 in 2010 it gave that range eight more digits instead of seven, while the existing prefixes kept seven. Malaysia's 1300 and 1800 numbers are toll-free and freephone, though they are as long as a mobile. Thai mobiles start with 8 or 9, and NBTC lists 060 and 089 as VoIP; 061 to 069 are mobile in Google's metadata but have no row in NBTC's table. Vietnamese mobiles start with 3, 5, 7, 8 or 9, after the conversion of 11-digit numbers (counting the 0) that began on 15 September 2018; landline area codes had already changed in 2017. When Vietnam merged its provinces on 1 July 2025, the merged provinces kept their former area codes side by side until the Ministry of Science and Technology says otherwise (guidance 2784/BKHCN-CVT, reported by Nhân Dân); no further notice had been found by 2 October 2026, so the old codes still validate. And since mobile number portability, the prefix no longer reliably names the network.
Thailand's fixed lines still have eight digits after +66. The change to ten, counting the 0, was postponed in 2020, and in 2024 NBTC made it wait until numbers run short.
That is from NBTC's own notices to the International Telecommunication Union, dated 28 February 2020 and 8 May 2024: Thailand's numbering plan communications. So the eight-digit plan NBTC filed in 2020 is still the one in force, and a validator built on the announced change would reject every Thai landline.
What we measured
We built 69 test numbers, each with a verdict that follows from a quoted clause in a regulator's plan. The hand-written rules this page used before 2 October 2026 agreed on 36 of them. They covered only six of the eleven members, and within those they rejected every landline in southern Thailand (073 to 077) and in Indonesia's Maluku–Papua numbering region, rejected a Singapore number typed locally if it began with 65, and accepted Manila's retired seven-digit numbers. The current version agrees on all 69, and the test runs on every build.
Format check vs authenticity check
Format validation tells you whether a number could exist under its numbering plan. It does not tell you whether the number is currently assigned, active, or routable, and this tool does not try to find out. For a form, store the number in E.164, the form shown in the result: + and the country code, then the number with any trunk 0 removed.
Thailand's landlines stayed at eight digits, and Vietnam's mobiles lost one
Singapore has no trunk prefix: IMDA's plan uses no area or trunk codes, so a Singapore subscriber number is the same eight digits at home and after +65.
Brunei's numbers are seven digits after +673 in its 2014 filing with the ITU, which lists no trunk prefix.
Vietnam converted its 11-digit mobile numbers (counting the 0) from 15 September 2018, each old four-digit prefix mapped to a new three-digit one: 0162 became 032, for example. Numbers that already had 10 digits with the 0 did not change.
Vietnam's landline area codes changed first, in phases through 2017. Hanoi went from 4 to 24 and Ho Chi Minh City from 8 to 28 on 17 June 2017.
Thai fixed lines have eight digits after +66 (nine with the 0), and mobiles nine after +66. Under the plan in force since 12 March 2024, the change to ten digits with the 0 waits until numbers run short.
Southern Thailand's area codes 073 to 077 cover 14 provinces, among them Phuket (076), Songkhla (074) and Surat Thani (077).
Malaysia opened mobile prefix 011 on 15 December 2010, shared by all the mobile operators and followed by eight digits rather than seven.
Indonesia's regulator does not fix the length of a mobile number: each operator sets it, within the 13-digit national limit after +62.
Metro Manila subscriber numbers, after the 02 area code, went from seven digits to eight. Each operator's numbers now begin with its own identifier digit, from 3 to 8.
Singapore keeps nine-digit numbers in reserve for when the eight-digit ones run out. IMDA's plan gives no date for the change.
Frequently asked questions
No. The check runs entirely in your browser — your number is never uploaded, logged, or transmitted anywhere.
It means the number fits its numbering plan: Google's metadata, corrected where the regulator's own plan says otherwise. It does NOT mean the line is active or assigned; a format check cannot tell you that.
Without +CC, the validator cannot tell whether an eight-digit 9XXX XXXX is a Singapore mobile or the end of a longer number. Pick the place from the dropdown if your number has no +CC.
Yes, where the plan or the metadata separates them, and it names the other types too: VoIP, toll-free, and Singapore's IP telephony and data-only numbers starting 3. A few ranges show as fixed or mobile because the metadata does not separate them.
Malaysia's 1300 and 1800 numbers and Singapore's 1800 numbers are labelled toll-free rather than mistaken for mobiles. Short codes, such as Singapore's five-digit SMS codes, are not full phone numbers and fail the check.
This page does one number at a time. For a list, the Phone Parser runs the same library over many numbers at once, also entirely in your browser.
Only its format. Whether a number is registered with either app is something only the app can tell you.
Roaming numbers keep the format of the place that issued them, so check them by that +CC. A virtual number is checked like any other number in the range it came from.
Mobiles have 9 or 10: 01Y plus a 7- or 8-digit subscriber number. MCMC's 2010 notice opening 011 gave that range 8. Landlines have 8 or 9: a trunk code plus a 6- to 8-digit number starting 2 to 9. Written locally, each has one more digit, the trunk 0.
It says where a number typed without a calling code is from, and the number is then read in that place's own national format. The leading 0 is dropped only where the plan has a trunk prefix, so a Singapore number starting 65 stays as typed. When the number carries +CC or 00CC, that code decides, and the result says so if it differs from the dropdown.
Not yet. Under the Ministry of Science and Technology's guidance of July 2025, 11 provinces kept their codes and the 23 merged ones use their former codes side by side until the ministry gives further notice. None had been found by 2 October 2026, so every pre-merger area code still validates here.
Retired ones: Vietnam's 11-digit mobiles (counting the 0), its pre-2017 landline area codes, and Manila's seven-digit subscriber numbers. It also rejects shapes that were never issued, such as a Thai fixed line with nine digits after +66 or a Singapore number with a leading 0.
Method & sources
How it computes
The +CC (or 00CC) decides where the number is from; a number without one is parsed in the selected place’s national format, so a trunk 0 is dropped only where that plan has one. Google’s libphonenumber metadata (libphonenumber-js 1.10.62, self-hosted) gives the verdict and line type; rules in asean-phone-kernel.js override it where a regulator’s plan disagrees (MY mobile subscriber numbers and 015, TH 089 VoIP, ID 11-digit fixed). Nothing is dialled or looked up.
What this tool implements
- Singapore — IMDA National Numbering Plan, Issue 2 (February 2026): subscriber numbers are 8 digits with no trunk prefix (§1.2.1); 6 is PSTN and IP telephony, 8 and 9 mobile, 3 IP telephony and user-centric data-only (§2.2); 2, 4 and 5 reserved; 1800 toll-free is 1800 plus 7 digits (§8.1.2); 9-digit numbers are reserved for a future migration with no date (§16.6.1).
- Malaysia — MCMC Numbering and Electronic Addressing Plan (5 September 2023): mobiles 01Y plus 7 or 8 digits, a seven-digit subscriber number starting 2 to 9 (§9.2.3); 015Z plus 7 digits for other mobile service providers (§9.2.4); landlines a trunk code plus a 6- to 8-digit number starting 2 to 9 (§6.3–6.4); 1300 toll-free and 1800 freephone (§8.2–8.3). MCMC’s notice of 1 October 2010 opened 011 with eight-digit subscriber numbers; the current NEAP does not mention 011.
- Indonesia — Permenkominfo 14/2018: fixed national numbers are 10 digits, 11 in areas the plan calls critical; area codes start 2 to 7 or 9 (9 is the Maluku–Papua numbering region); mobile numbers start 8 and each operator sets the length within the 13-digit national limit.
- Thailand — NBTC communications to the ITU (28 February 2020, 8 May 2024): fixed lines 8 digits after +66 (1x, 2x to 5x, 7x), mobiles and VoIP 9; 60 and 89 are VoIP; the change to 10-digit fixed lines (counting the 0) waits until numbers run short. 61 to 69 are mobile in Google’s metadata only.
- Vietnam — 11-digit mobiles (counting the 0) converted from 15 September 2018 (Decision 798/QĐ-BTTTT); landline area codes changed in 2017, so fixed numbers are 10 digits after +84. After the province merger of 1 July 2025 the 23 merged provinces use their former area codes side by side until the Ministry of Science and Technology gives further notice (2784/BKHCN-CVT); none had been found by 2 October 2026, so every pre-merger code still validates.
- Philippines — NTC Memorandum Order 10-10-2017: Metro Manila numbers are 02 plus 8 digits, the first an operator identifier from 3 to 8. Mobile ranges are Google’s metadata; NTC’s mobile rules were not checked.
Sources
- Infocomm Media Development Authority. National Numbering Plan, Issue 2, February 2026. https://www.imda.gov.sg/-/media/imda/files/regulation-licensing-a…
- Malaysian Communications and Multimedia Commission. Numbering and Electronic Addressing Plan, 5 September 2023. https://www.mcmc.gov.my/skmmgovmy/media/General/registers/Numberi…
- Malaysian Communications and Multimedia Commission. Notification on the opening of mobile prefix 011, 1 October 2010. https://www.mcmc.gov.my/skmmgovmy/files/attachments/Notification_…
- Kementerian Komunikasi dan Informatika. Peraturan Menteri Komunikasi dan Informatika Nomor 14 Tahun 2018 tentang Rencana Dasar Teknis (Fundamental Technical Plan) Telekomunikasi Nasional, 2018. https://jdih.komdigi.go.id/
- National Broadcasting and Telecommunications Commission (Thailand). Communications to the ITU on the national numbering plan, 28 February 2020 and 8 May 2024. https://www.itu.int/dms_pub/itu-t/oth/02/02/T02020000CD0004PDFE.pdf
- Ministry of Information and Communications (Viet Nam). Kế hoạch chuyển đổi mã mạng (Decision 798/QĐ-BTTTT, 25 May 2018), 4 June 2018. https://mst.gov.vn/ke-hoach-chuyen-doi-ma-mang-197137259.htm
- Viet Nam. Communication to the ITU on the change of area codes, 25 November 2016. https://www.itu.int/dms_pub/itu-t/oth/02/02/T02020000E40005PDFE.pdf
- National Telecommunications Commission (Philippines). Memorandum Order No. 10-10-2017.
What can make this go out of date
- Google libphonenumber metadata as vendored in libphonenumber-js 1.10.62 (public/assets/vendor/libphonenumber-js/). A range opened after that release may not validate until the vendored copy is updated.
Abridged — the full review record for this tool runs longer than the list above.
Pick up where you left off
Stored only in this browser — never sent to our servers.