Philippines Phone Number Validator

Validate any Philippine mobile or landline number — network, area code and E.164 format.

Ad placeholder (leaderboard)
Enjoying the tools? Go Pro for £4.99 (one-time) and remove all ads — forever, on this device. Remove ads — £4.99

Philippine phone numbers follow the rules set by the National Telecommunications Commission (NTC) under the ITU-T E.164 numbering plan. There are two main categories: mobile numbers (11 digits in local format, starting with 09) and landline numbers (area code plus subscriber digits). Getting the format right matters because Philippine contact forms, SMS gateways and messaging APIs like Semaphore, Vonage and Twilio all expect either the local format or strict E.164 — an extra digit, a missing zero, or a wrong prefix will cause silent delivery failures and wasted API credits.

This validator covers the complete NTC mobile prefix registry across all four major networks — Globe / TM, Smart / TNT, Dito Telecommunity and Sun Cellular / Digitel — plus the most commonly used landline area codes from Metro Manila to Davao and Cagayan de Oro. It also recognises Philippine special service numbers (911, 117, 8888) and flags them separately rather than rejecting them as invalid.

How it works

The validation runs in three passes entirely inside your browser.

Step 1 — Normalisation. The input is stripped of spaces, hyphens, parentheses and a leading plus sign. Whatever remains must be all digits. The tool then detects the prefix format: numbers starting with 63 (or +63 before stripping) have the country code removed; numbers starting with 0 have the zero removed; a bare 10-digit string is treated as already stripped.

Step 2 — Mobile check. If the remaining digit string starts with 9, the tool reads the next two digits to form a 3-digit prefix (e.g. 917). It looks this prefix up against the NTC-assigned table. If it matches, the total digit count must be exactly 10 (7 subscriber digits after the 3-digit prefix). A recognised prefix with the wrong count produces a specific error message.

Step 3 — Landline check. If the number does not start with 9, the tool tries area codes from longest to shortest (3 digits, then 2, then 1). Metro Manila (area code 2) requires exactly 8 subscriber digits; all other area codes require 7. A match produces the formatted local output (e.g. (032) 255 1234) and the E.164 form (+63 32 255 1234).

Both paths produce a human-readable local format and a machine-ready E.164 string that you can copy directly.

Worked example

Suppose you need to validate the number written on a business card as 0 917.123.4567. After stripping punctuation and the leading zero you get 9171234567 — 10 digits beginning with 917. The prefix 917 maps to Globe / TM. The digit count is correct. The local format normalises to 0917 123 4567 and the E.164 form is +63 917 123 4567.

Now try 032-255-1234. After stripping: 0322551234. The leading zero is removed to give 322551234. The tool checks for a 3-digit area code 322 — not found. It then tries a 2-digit code 32 — found: Cebu. The subscriber portion is 2551234 (7 digits — correct). Output: local (032) 255 1234, E.164 +63 32 255 1234.

InputTypeNetwork / AreaE.164
0917 123 4567MobileGlobe / TM+63 917 123 4567
+63 908 765 4321MobileSmart / TNT+63 908 765 4321
0895 000 0001MobileDito Telecommunity+63 895 000 0001
(02) 8123 4567LandlineMetro Manila+63 2 8123 4567
032 255 1234LandlineCebu+63 32 255 1234

Every check happens locally — no number you enter here ever leaves your device.

Ad placeholder (rectangle)