Philippine Numbering/Dialing Plan
After messing about at length trying to find an authoritive source for this information and finding that nothing seemed to exist... Here's what information I have... let me know if you are aware of any issues.
Update (August 2022): Metro Manila numbers had a digit inserted at the start of the subscriber number in 2019 and Dito launched as a mobile telco.
Overview
- The country code for the Philippines is 63.
- The international trunk access code is 00.
- The national/long distance trunk access code is 0.
- Subscriber numbers within an area code are typically 7 digits long, while area codes can vary in length from 1 digit to 3 digits, as such, phone numbers are not of a fixed length.
- Within an area code the 7 digit subscriber number can be dialled without the area code or national/long distance trunk access code.
Numbers should be written in one of the following formats
- For landline access within a single area code only:
<subscriber number>e.g. 1234567 or 123 4567- For access from any phone in the country:
<national/long distance trunk access code><areacode> <subscriber number>e.g. 02 1234567 or 02 123 3456- For access from anywhere in the world:
+<country code> <area code> <subscriber number>e.g. +63 2 1234567 or +63 2 123 4567- A less correct form of the above that could be used to make it easier for people to see where the national/long distance trunk access code should be placed:
+<country code> (<national/long distance trunk access code>)<area code> <subscriber number>e.g. +63 (0)2 1234567 or +63 (0)2 123 4567
Numbers SHOULD NOT be written in the following screwed up format which only seems to exist to make Metro Manila numbers look like US numbers...
(<country code><area code>) <subscriber number> e.g. (632) 123 4567 - that's just wrong...
Area Codes
Summary
1- Unassigned/Reserved2, 3X, 4X, 5X, 6X, 7X, 8X- Landlines9XX- Mobile phones
Details
| Area code | Number | Area or operator |
|---|---|---|
2 | XXXX XXXX | Metro Manila / NCR, Rizal & Obando (Bulacan) |
32 | XXX XXXX | Cebu |
33 | XXX XXXX | Guimaras & Iloilo |
34 | XXX XXXX | Negros Occidental |
35 | XXX XXXX | Negros Oriental & Siquijor |
36 | XXX XXXX | Aklan, Antique & Capiz |
38 | XXX XXXX | Bohol |
42 | XXX XXXX | Aurora, Marinduque, Quezon & Romblon |
43 | XXX XXXX | Batangas, Occidental Mindoro, Oriental Mindoro |
44 | XXX XXXX | Bulacan (except Obando) & Neuva Ecija |
45 | XXX XXXX | Pampanga & Tarlac |
46 | XXX XXXX | Cavite |
47 | XXX XXXX | Bataan & Zambales |
48 | XXX XXXX | Palawan |
49 | XXX XXXX | Laguna |
52 | XXX XXXX | Albay & Catanduanes |
53 | XXX XXXX | Biliran, Leyte & Southern Leyte |
54 | XXX XXXX | Camarines Norte & Camarines Sur |
55 | XXX XXXX | Eastern Samar, Northern Samar, Western Samar |
56 | XXX XXXX | Masbate & Sorsogon |
62 | XXX XXXX | Basilan, Zamboanga del Sur & Zamboanga Sibugay |
63 | XXX XXXX | Lanao del Norte, Lanao del Sur |
64 | XXX XXXX | Cotabato, Maguindanao & Sultan Kudarat |
65 | XXX XXXX | Zamboanga del Norte |
68 | XXX XXXX | Sulu & Tawi-Tawi |
72 | XXX XXXX | La Union |
74 | XXX XXXX | Cordillera Administrative Region (Abra, Apayao, Benguet, Ifugao, Kalinga, Mountain Province) |
75 | XXX XXXX | Pangasinan |
77 | XXX XXXX | Ilocos Norte & Ilocos Sud |
78 | XXX XXXX | Cagayan Valley |
817 | XXX XXXX | Globe Telecom (International Virtual Numbers - DUO PLUS) - To confirm length |
82 | XXX XXXX | Davao del Sur |
83 | XXX XXXX | Sarangani & South Cotabato |
84 | XXX XXXX | Davao del Norte |
85 | XXX XXXX | Agusan del Norte & Agusan del Sur |
86 | XXX XXXX | Surigao del Norte & Surigao del Sur |
87 | XXX XXXX | Compostela Valley & Davao Central |
88 | XXX XXXX | Bukidnon, Camiguin, Misamis Occidental & Misamis Oriental |
895 | XXX XXXX | Dito Telecommunity (Mobile) |
896 | XXX XXXX | Dito Telecommunity (Mobile) |
897 | XXX XXXX | Dito Telecommunity (Mobile) |
898 | XXX XXXX | Dito Telecommunity (Mobile) |
905 | XXX XXXX | Globe Telecom (Mobile) |
906 | XXX XXXX | Globe Telecom (Mobile) |
907 | XXX XXXX | Smart Communications (Mobile) |
908 | XXX XXXX | Smart Communications (Mobile) |
909 | XXX XXXX | Smart Communications (Mobile) |
910 | XXX XXXX | Smart Communications (Mobile) |
912 | XXX XXXX | Smart Communications (Mobile) |
915 | XXX XXXX | Globe Telecom (Mobile) |
916 | XXX XXXX | Globe Telecom (Mobile) |
917 | XXX XXXX | Globe Telecom (Mobile) |
918 | XXX XXXX | Smart Communications (Mobile) |
919 | XXX XXXX | Smart Communications (Mobile) |
920 | XXX XXXX | Smart Communications (Mobile) |
921 | XXX XXXX | Smart Communications (Mobile) |
922 | XXX XXXX | Sun Cellular (Mobile) |
923 | XXX XXXX | Sun Cellular (Mobile) |
925 | XXX XXXX | Sun Cellular (Mobile) |
926 | XXX XXXX | Globe Telecom (Mobile) |
927 | XXX XXXX | Globe Telecom (Mobile) |
928 | XXX XXXX | Smart Communications (Mobile) |
929 | XXX XXXX | Smart Communications (Mobile) |
930 | XXX XXXX | Smart Communications (Mobile) |
932 | XXX XXXX | Sun Cellular (Mobile) |
933 | XXX XXXX | Sun Cellular (Mobile) |
934 | XXX XXXX | Sun Cellular (Mobile) |
935 | XXX XXXX | Globe Telecom (Mobile) |
936 | XXX XXXX | Globe Telecom (Mobile) |
937 | XXX XXXX | Globe Telecom/ABS-CBN (Mobile) |
938 | XXX XXXX | Smart Communications (Mobile) |
939 | XXX XXXX | Smart Communications (Mobile) |
942 | XXX XXXX | Sun Cellular (Mobile) |
943 | XXX XXXX | Sun Cellular (Mobile) |
946 | XXX XXXX | Smart Communications (Mobile) |
947 | XXX XXXX | Smart Communications (Mobile) |
948 | XXX XXXX | Smart Communications (Mobile) |
949 | XXX XXXX | Smart Communications (Mobile) |
950 | XXX XXXX | Smart Communications (Mobile) |
975 | XXX XXXX | Globe Telecom (Mobile) |
977 | XXX XXXX | Globe Telecom (Mobile) |
989 | XXX XXXX | Smart Communications (Mobile) |
991 | XXX XXXX | Dito Telecommunity (Mobile) |
992 | XXX XXXX | Dito Telecommunity (Mobile) |
993 | XXX XXXX | Dito Telecommunity (Mobile) |
994 | XXX XXXX | Dito Telecommunity (Mobile) |
995 | XXX XXXX | Globe Telecom (Mobile) |
996 | XXX XXXX | Globe Telecom (Mobile) |
997 | XXX XXXX | Globe Telecom (Mobile) |
998 | XXX XXXX | Smart Communications (Mobile) |
999 | XXX XXXX | Smart Communications (Mobile) |
Special Numbers
Emergency numbers
The national standard emergency number is 117. This can also be texted from mobile phones.
From mobile phones at least 112 and 911 can also used.
In addition there are a large number of individual hotline numbers used for various emergency services, 3 and 5 digit numbers exist. e.g.
116- Tourist police ??166- Old national emergency number ??757- Fire and Police ??16-211- Meralco hotline for emergencies and customer service16-911- Lifeline Rescue emergency ambulance service within Metro Manila only
Freephone/Tollfree numbers
Free to call/Toll free numbers are few and far between in the Philippines... a major reason would likely be that calls are typically free within an area code, so if you are in Metro Manila you can call everyone else in Metro Manila with a landline for free... Another reason has to be the obviously screwed up ways they've been implemented...
- Format a)
1800 <8 digit number>e.g. 1800 1234 5678- Format b)
1027 1800 <7 digit number>e.g. 1027 1800 123 4567
Both formats make very little sense...
Hotlines
There are a number of additional hotlines in addition to the emergency numbers above, some are free, others aren't... Some of those are...
1342- LTFRB 24/7 hotline136- MMDA hotline143- Red Cross hotline161- Marikina Station Tactical Operations Center (STOC) hotline1627- Manila Water hotline165-02- Department of Public Works and Highways (DPWH) hotline171- PLDT customer service hotline (tollfree - 8-7 mon-fri, 8-5 sat/sun)172- PLDT DSL helpdesk (tollfree - 24hrs)173- PLDT repair service hotline (tollfree - 8-7 mon-fri, 8-5 sat/sun)187- PLDT directory assistance (3 pesos per transaction - 8-5 7days/week)7890- DOTC Public Assistance Center hotline
PLDT #MyNumber
PLDT in early 2016 introduced a strange new national hotline service called #MyNumber. It's strange due to the fact that numbers start with '#' followed by 4-8 digits.
e.g.
#87000- Jollibee
Asterisk style dialplan
;
; Sample dialplan below based on dialing 9 for an outside line intending to catch most options for calls in the Philippines
; You'd need to include these in whatever contexts you inject calls from phones/users/lines into
;
;
; Emergency hotline numbers that you probably want to be callable from all devices
;
[trunkemergency]
exten => 9112,1,Gosub(trunkdial,s,1(${GLOBAL(TRUNK)},${EXTEN:${GLOBAL(TRUNKMSD)}}))
exten => 9116,1,Gosub(trunkdial,s,1(${GLOBAL(TRUNK)},${EXTEN:${GLOBAL(TRUNKMSD)}}))
exten => 9117,1,Gosub(trunkdial,s,1(${GLOBAL(TRUNK)},${EXTEN:${GLOBAL(TRUNKMSD)}}))
exten => 9166,1,Gosub(trunkdial,s,1(${GLOBAL(TRUNK)},${EXTEN:${GLOBAL(TRUNKMSD)}}))
exten => 9177,1,Gosub(trunkdial,s,1(${GLOBAL(TRUNK)},${EXTEN:${GLOBAL(TRUNKMSD)}}))
exten => 9757,1,Gosub(trunkdial,s,1(${GLOBAL(TRUNK)},${EXTEN:${GLOBAL(TRUNKMSD)}}))
exten => 9911,1,Gosub(trunkdial,s,1(${GLOBAL(TRUNK)},${EXTEN:${GLOBAL(TRUNKMSD)}}))
exten => _916XXX,1,Gosub(trunkdial,s,1(${GLOBAL(TRUNK)},${EXTEN:${GLOBAL(TRUNKMSD)}}))
;
; To external international numbers prefixed by 9 and 00 international access code, 9 and + or just +
;
[trunkint]
exten => _900.,1,Verbose(2, International call to ${EXTEN:${GLOBAL(TRUNKMSD)}})
exten => _900.,n,Gosub(trunkdial,s,1(${GLOBAL(TRUNK)},${EXTEN:${GLOBAL(TRUNKMSD)}}))
exten => _9+.,1,Verbose(2, International call to ${EXTEN:${GLOBAL(TRUNKMSD)}})
exten => _9+.,n,Gosub(trunkdial,s,1(${GLOBAL(TRUNK)},${EXTEN:${GLOBAL(TRUNKMSD)}}))
exten => _+.,1,Verbose(2, International call to ${EXTEN})
exten => _+.,n,Gosub(trunkdial,s,1(${GLOBAL(TRUNK)},${EXTEN}))
;
; To external national numbers
;
[trunknational]
exten => _90063[1345678].,1,Goto(90${EXTEN:5},1)
exten => _9+63[1345678].,1,Goto(90${EXTEN:4},1)
exten => _+63[1345678].,1,Goto(90${EXTEN:3},1)
exten => _90[1345678].,1,Verbose(2, National call to ${EXTEN:${GLOBAL(TRUNKMSD)}})
exten => _90[1345678].,n,Gosub(trunkdial,s,1(${GLOBAL(TRUNK)},${EXTEN:${GLOBAL(TRUNKMSD)}}))
;
; To mobile phones
;
[trunkmobile]
exten => _900639XXXXXXXXX,1,Goto(90${EXTEN:5},1)
exten => _9+639XXXXXXXXX,1,Goto(90${EXTEN:4},1)
exten => _+639XXXXXXXXX,1,Goto(90${EXTEN:3},1)
; Globe
exten => _9090[56]XXXXXXX,1,Verbose(2, Mobile call to Globe phone ${EXTEN:1})
exten => _9090[56]XXXXXXX,n,Gosub(trunkdial,s,1(${GLOBAL(TRUNK)},${EXTEN:${GLOBAL(TRUNKMSD)}}))
exten => _9091[567]XXXXXXX,1,Verbose(2, Mobile call to Globe phone ${EXTEN:1})
exten => _9091[567]XXXXXXX,n,Gosub(trunkdial,s,1(${GLOBAL(TRUNK)},${EXTEN:${GLOBAL(TRUNKMSD)}}))
exten => _9092[67]XXXXXXX,1,Verbose(2, Mobile call to Globe phone ${EXTEN:1})
exten => _9092[67]XXXXXXX,n,Gosub(trunkdial,s,1(${GLOBAL(TRUNK)},${EXTEN:${GLOBAL(TRUNKMSD)}}))
exten => _9093[567]XXXXXXX,1,Verbose(2, Mobile call to Globe phone ${EXTEN:1})
exten => _9093[567]XXXXXXX,n,Gosub(trunkdial,s,1(${GLOBAL(TRUNK)},${EXTEN:${GLOBAL(TRUNKMSD)}}))
exten => _9097[57]XXXXXXX,1,Verbose(2, Mobile call to Globe phone ${EXTEN:1})
exten => _9097[57]XXXXXXX,n,Gosub(trunkdial,s,1(${GLOBAL(TRUNK)},${EXTEN:${GLOBAL(TRUNKMSD)}}))
exten => _9099[467]XXXXXXX,1,Verbose(2, Mobile call to Globe phone ${EXTEN:1})
exten => _9099[467]XXXXXXX,n,Gosub(trunkdial,s,1(${GLOBAL(TRUNK)},${EXTEN:${GLOBAL(TRUNKMSD)}}))
; Smart/PLDT
exten => _9090[789]XXXXXXX,1,Verbose(2, Mobile call to Smart phone ${EXTEN:1})
exten => _9090[789]XXXXXXX,n,Gosub(trunkdial,s,1(${GLOBAL(TRUNK)},${EXTEN:${GLOBAL(TRUNKMSD)}}))
exten => _9091[0289]XXXXXXX,1,Verbose(2, Mobile call to Smart phone ${EXTEN:1})
exten => _9091[0289]XXXXXXX,n,Gosub(trunkdial,s,1(${GLOBAL(TRUNK)},${EXTEN:${GLOBAL(TRUNKMSD)}}))
exten => _9092[0189]XXXXXXX,1,Verbose(2, Mobile call to Smart phone ${EXTEN:1})
exten => _9092[0189]XXXXXXX,n,Gosub(trunkdial,s,1(${GLOBAL(TRUNK)},${EXTEN:${GLOBAL(TRUNKMSD)}}))
exten => _9093[089]XXXXXXX,1,Verbose(2, Mobile call to Smart phone ${EXTEN:1})
exten => _9093[089]XXXXXXX,n,Gosub(trunkdial,s,1(${GLOBAL(TRUNK)},${EXTEN:${GLOBAL(TRUNKMSD)}}))
exten => _9094[6789]XXXXXXX,1,Verbose(2, Mobile call to Smart phone ${EXTEN:1})
exten => _9094[6789]XXXXXXX,n,Gosub(trunkdial,s,1(${GLOBAL(TRUNK)},${EXTEN:${GLOBAL(TRUNKMSD)}}))
exten => _90950XXXXXXX,1,Verbose(2, Mobile call to Smart phone ${EXTEN:1})
exten => _90950XXXXXXX,n,Gosub(trunkdial,s,1(${GLOBAL(TRUNK)},${EXTEN:${GLOBAL(TRUNKMSD)}}))
exten => _90989XXXXXXX,1,Verbose(2, Mobile call to Smart phone ${EXTEN:1})
exten => _90989XXXXXXX,n,Gosub(trunkdial,s,1(${GLOBAL(TRUNK)},${EXTEN:${GLOBAL(TRUNKMSD)}}))
exten => _9099[89]XXXXXXX,1,Verbose(2, Mobile call to Smart phone ${EXTEN:1})
exten => _9099[89]XXXXXXX,n,Gosub(trunkdial,s,1(${GLOBAL(TRUNK)},${EXTEN:${GLOBAL(TRUNKMSD)}}))
exten => _90999XXXXXXX,1,Verbose(2, Mobile call to Smart (U Phone) phone ${EXTEN:1})
exten => _90999XXXXXXX,n,Gosub(trunkdial,s,1(${GLOBAL(TRUNK)},${EXTEN:${GLOBAL(TRUNKMSD)}}))
; Sun/PLDT
exten => _9092[235]XXXXXXX,1,Verbose(2, Mobile call to Sun phone ${EXTEN:1})
exten => _9092[235]XXXXXXX,n,Gosub(trunkdial,s,1(${GLOBAL(TRUNK)},${EXTEN:${GLOBAL(TRUNKMSD)}}))
exten => _9093[234]XXXXXXX,1,Verbose(2, Mobile call to Sun phone ${EXTEN:1})
exten => _9093[234]XXXXXXX,n,Gosub(trunkdial,s,1(${GLOBAL(TRUNK)},${EXTEN:${GLOBAL(TRUNKMSD)}}))
exten => _9094[23]XXXXXXX,1,Verbose(2, Mobile call to Sun phone ${EXTEN:1})
exten => _9094[23]XXXXXXX,n,Gosub(trunkdial,s,1(${GLOBAL(TRUNK)},${EXTEN:${GLOBAL(TRUNKMSD)}}))
; Dito
exten => _9089[5678]XXXXXXX,1,Verbose(2, Mobile call to Dito phone ${EXTEN:1})
exten => _9089[5678]XXXXXXX,n,Gosub(trunkdial,s,1(${GLOBAL(TRUNK)},${EXTEN:${GLOBAL(TRUNKMSD)}}))
exten => _9099[1234]XXXXXXX,1,Verbose(2, Mobile call to Dito phone ${EXTEN:1})
exten => _9099[1234]XXXXXXX,n,Gosub(trunkdial,s,1(${GLOBAL(TRUNK)},${EXTEN:${GLOBAL(TRUNKMSD)}}))
; Unknown
exten => _909XXXXXXXXX,1,Verbose(2, Mobile call to unknown operator phone ${EXTEN:1})
exten => _909XXXXXXXXX,n,Gosub(trunkdial,s,1(${GLOBAL(TRUNK)},${EXTEN:${GLOBAL(TRUNKMSD)}}))
;
; To local numbers
;
[trunklocal]
exten => _900632XXXXXXXX,1,Goto(90${EXTEN:5},1)
exten => _9+632XXXXXXXX,1,Goto(90${EXTEN:4},1)
exten => _+632XXXXXXXX,1,Goto(90${EXTEN:3},1)
exten => _902XXXXXXXX,1,Verbose(2, Local call to ${EXTEN})
exten => _902XXXXXXXX,n,Gosub(trunkdial,s,1(${GLOBAL(TRUNK)},${EXTEN:${GLOBAL(TRUNKMSD)}}))
exten => _9ZXXXXXXX,1,Verbose(2, Local call to ${EXTEN})
exten => _9ZXXXXXXX,n,Gosub(trunkdial,s,1(${GLOBAL(TRUNK)},${EXTEN:${GLOBAL(TRUNKMSD)}}))
exten => _9ZXXXX,1,Verbose(2, Local call to ${EXTEN})
exten => _9ZXXXX,n,Gosub(trunkdial,s,1(${GLOBAL(TRUNK)},${EXTEN:${GLOBAL(TRUNKMSD)}}))
;
; Short code hotlines
;
[trunkhotlines]
exten => 9136,1,Verbose(2, Hotline call to MMDA hotline ${EXTEN})
exten => 9136,n,Gosub(trunkdial,s,1(${GLOBAL(TRUNK)},${EXTEN:${GLOBAL(TRUNKMSD)}}))
exten => 9143,1,Verbose(2, Hotline call to Red Cross hotline ${EXTEN})
exten => 9143,n,Gosub(trunkdial,s,1(${GLOBAL(TRUNK)},${EXTEN:${GLOBAL(TRUNKMSD)}}))
exten => 9161,1,Verbose(2, Hotline call to Marikina STOC hotline ${EXTEN})
exten => 9161,n,Gosub(trunkdial,s,1(${GLOBAL(TRUNK)},${EXTEN:${GLOBAL(TRUNKMSD)}}))
exten => 91627,1,Verbose(2, Hotline call to Manila Water hotline ${EXTEN})
exten => 91627,n,Gosub(trunkdial,s,1(${GLOBAL(TRUNK)},${EXTEN:${GLOBAL(TRUNKMSD)}}))
exten => 916502,1,Verbose(2, Hotline call to DPWH hotline ${EXTEN})
exten => 916502,n,Gosub(trunkdial,s,1(${GLOBAL(TRUNK)},${EXTEN:${GLOBAL(TRUNKMSD)}}))
exten => _917[1-3],1,Verbose(2, Hotline call to PLDT hotline ${EXTEN})
exten => _917[1-3],n,Gosub(trunkdial,s,1(${GLOBAL(TRUNK)},${EXTEN:${GLOBAL(TRUNKMSD)}}))
exten => 91342,1,Verbose(2, Hotline call to LTFRB hotline ${EXTEN})
exten => 91342,n,Gosub(trunkdial,s,1(${GLOBAL(TRUNK)},${EXTEN:${GLOBAL(TRUNKMSD)}}))
exten => 97890,1,Verbose(2, Hotline call to DOTC hotline ${EXTEN})
exten => 97890,n,Gosub(trunkdial,s,1(${GLOBAL(TRUNK)},${EXTEN:${GLOBAL(TRUNKMSD)}}))
; PLDT #MyNumber national hotlines, 4-8 digits after #
exten => _9#XXXX,1,Verbose(2, National #MyNumber call to ${EXTEN:${GLOBAL(TRUNKMSD)}})
exten => _9#XXXX,n,Gosub(trunkdial,s,1(${GLOBAL(TRUNK)},${EXTEN:${GLOBAL(TRUNKMSD)}}))
exten => _9#XXXXX,1,Verbose(2, National #MyNumber call to ${EXTEN:${GLOBAL(TRUNKMSD)}})
exten => _9#XXXXX,n,Gosub(trunkdial,s,1(${GLOBAL(TRUNK)},${EXTEN:${GLOBAL(TRUNKMSD)}}))
exten => _9#XXXXXX,1,Verbose(2, National #MyNumber call to ${EXTEN:${GLOBAL(TRUNKMSD)}})
exten => _9#XXXXXX,n,Gosub(trunkdial,s,1(${GLOBAL(TRUNK)},${EXTEN:${GLOBAL(TRUNKMSD)}}))
exten => _9#XXXXXXX,1,Verbose(2, National #MyNumber call to ${EXTEN:${GLOBAL(TRUNKMSD)}})
exten => _9#XXXXXXX,n,Gosub(trunkdial,s,1(${GLOBAL(TRUNK)},${EXTEN:${GLOBAL(TRUNKMSD)}}))
exten => _9#XXXXXXXX,1,Verbose(2, National #MyNumber call to ${EXTEN:${GLOBAL(TRUNKMSD)}})
exten => _9#XXXXXXXX,n,Gosub(trunkdial,s,1(${GLOBAL(TRUNK)},${EXTEN:${GLOBAL(TRUNKMSD)}}))
;
; Long distance context accessed through trunk interface
;
[trunktollfree]
exten => _91800XXXXXXXX,1,Verbose(2, Toll Free call to ${EXTEN})
exten => _91800XXXXXXXX,n,Gosub(trunkdial,s,1(${GLOBAL(TRUNK)},${EXTEN:${GLOBAL(TRUNKMSD)}}))