phone number standards

Sent logo
Sent TeamMar 8, 2026 / phone number standards / Article

Philippines Phone Number Format: +63 Country Code & Validation Guide

Complete guide to Philippines phone number format with country code +63. Learn mobile and landline validation, area codes, Globe/Smart/DITO prefixes, and Mobile Number Portability (MNP) implementation.

Philippines Phone Numbers: Format, Area Code & Validation Guide

The Philippines phone number format uses country code +63 with distinct structures for mobile (10 digits starting with 09) and landline numbers (7-8 digits with area codes). Understanding the correct Philippines phone number format is essential for developers building SMS services, authentication systems, or contact management platforms.

This guide covers Philippines mobile number format, landline validation, area codes (including Manila's 02), Mobile Number Portability (MNP) under Republic Act 11202, and operator prefixes for Globe, Smart, and DITO. Master the complete Philippines numbering plan to ensure accurate phone number processing for Filipino users.

Philippines Mobile Number Format and Structure

Mobile numbers in the Philippines follow a standardized 10-digit format: 09XX-XXX-XXXX. All mobile prefixes start with 9 (with newer allocations like DITO's 895-898 series starting with 8).

International Format: +63 9XX XXX XXXX (remove the leading "0" when adding country code +63)

Example Philippine mobile numbers:

  • Domestic: 0917 123 4567 (Globe)
  • International: +63 917 123 4567
  • Smart: 0919 123 4567 or +63 919 123 4567
  • DITO: 0895 123 4567 or +63 895 123 4567

Important: Due to Mobile Number Portability (RA 11202), prefixes no longer reliably indicate the current network operator. Always use real-time carrier lookup for accurate routing.

Understanding Mobile Number Portability (MNP)

The Philippines modernized its telecommunications infrastructure with Mobile Number Portability (MNP) through Republic Act No. 11202, signed February 8, 2019, and effective March 6, 2019. This lets you build more flexible and user-centric applications, but it also introduces complexities you must address. Here's what MNP means for your development workflows.

Core Features and Requirements

MNP empowers subscribers to perform actions that were previously impossible or highly inconvenient. These features directly impact how you design your systems to interact with Philippine phone numbers. Consider these key aspects:

  • Number Retention: Subscribers retain their mobile numbers when switching networks. Implement robust number validation and carrier lookup mechanisms in your applications.
  • Subscription Flexibility: Users can transfer between postpaid and prepaid services without changing their number. Accommodate this flexibility and don't assume a fixed subscription type based on the number.
  • Provider Switching (Free of Charge): Subscribers can change providers while keeping their existing number at no cost – RA 11202 mandates MNP be provided "completely free of charge" to all qualified subscribers. Source: Republic Act No. 11202, Section 3.
  • Guaranteed Porting Window: The porting process completes within 48 hours maximum. The donor provider has 24 hours to clear/respond, and the recipient provider must activate within 24 hours of clearance. Service interruption (cutover period) cannot exceed 4 hours. Source: RA 11202, Section 4(a).
  • Porting Frequency Limit: Subscribers can port their number only once every 60 days. Source: RA 11202, Section 4(b).

Implementation Timeline and Process

The MNP process involves several key stages:

MNP Timeline and Developer Actions:

PhaseTimelineDetailsDeveloper Considerations
Pre-porting VerificationBefore requestSubscriber must be active ≥60 days, have no outstanding balances (postpaid), present valid government IDGuide users through eligibility requirements
Donor ClearanceHour 0–24Donor network must respond to porting requestImplement status tracking; handle rejection scenarios
Recipient ActivationHour 24–48New network activates the ported numberUpdate carrier information upon successful activation
Cutover PeriodMaximum 4 hoursService interruption during number transferDisplay user-facing notifications; implement retry logic
Testing PhaseHour 48+Service activation and testing by recipient providerVerify connectivity and carrier data accuracy

Source: RA 11202, Section 4(a); NTC Implementing Rules and Regulations (June 11, 2019, effective July 9, 2019).

DITO Telecommunity highlights that MNP allows for both external porting (switching networks) and internal porting (switching between prepaid and postpaid within the same network). This distinction is crucial for handling user requests related to subscription changes. Design your systems to differentiate between these two types of porting.

Penalties for Non-Compliance: The NTC imposes significant fines on providers who fail to complete porting within allowed timeframes or unjustly refuse MNP:

  • First violation where porting is not performed within 48 hours: ₱10,000
  • Unjust refusal after mediation: ₱40,000
  • Second to fourth unjust refusal: ₱100,000 to ₱300,000
  • Fifth and subsequent refusals: ₱400,000 to ₱1,000,000, with potential franchise revocation

Source: RA 11202, Section 7.

Philippines Phone Number Structure and Format

Country Code +63 and Dialing Prefixes

The Philippines uses country code +63. The international access prefix is 00, and the domestic long-distance prefix is 0. Source: ITU-T E.164; Wikipedia Telephone Numbers in the Philippines.

Landline Number Format by Region

Metro Manila Area Code 02 (8-Digit Format):

  • Format: 02-8XXX-XXXX (8 digits)
  • Effective Date: October 6, 2019 – All landlines in area code 2 (Metro Manila, Rizal Province, San Pedro Laguna, and Bacoor Cavite) migrated to 8-digit format
  • Migration Method: PLDT subscribers add "8" prefix; Globe subscribers add "7" prefix
  • Regulation: NTC Memorandum Order No. 10-10-2017
  • Example: Former 7-digit number 123-4567 became 8123-4567 (PLDT) or 7123-4567 (Globe)

Sources: NTC MO 10-10-2017; PNA August 2019; GMA News October 2019.

Provincial Area Codes (7-Digit Format):

  • Format: 0XX-XXX-XXXX (7 digits)
  • Area Code Structure: 2-digit area codes grouped into 7 broad geographic areas
  • Examples:
    • Cebu: 032
    • Laguna: 049
    • Cotabato: 064

Source: Wikipedia Telephone Numbers in the Philippines; NTC Numbering Plan.

Philippines Mobile Operators and Network Prefixes

While MNP complicates relying solely on prefixes for carrier identification, understanding the prefix structure remains important for historical context and initial routing logic.

Globe, Smart, and DITO Prefix Assignments (2024–2025)

Prefix assignments are dynamic and subject to change. Never hardcode these values into your applications. Instead, use a regularly updated database or API to retrieve the latest assignments.

OperatorCommon Prefixes (Non-Exhaustive)Network TypeNotes
Globe Telecom0817, 0904, 0905, 0906, 0915, 0916, 09174G/5GIncludes TM (Touch Mobile)
0926, 0927, 0935, 0936, 0937, 0945, 0954sub-brand prefixes
0955, 0956, 0965, 0966, 0967, 0975, 0976
0977, 0995, 0996, 0997
Smart Communications0813, 0908, 0911, 0913, 0914, 0918, 09194G/5GIncludes TNT (Talk 'N Text)
0920, 0921, 0928, 0929, 0939, 0946, 0947and Sun Cellular
0949, 0951, 0961, 0963, 0968, 0969, 0970sub-brand prefixes
0981, 0998, 0999
DITO Telecommunity0895, 0896, 0897, 0898, 0991, 0992, 0993, 09944G/5GThird major operator
(launched 2021)
Sun Cellular0922, 0923, 0924, 0925, 0931, 0932, 0933, 09344GNow part of Smart/PLDT
0940, 0941, 0942, 0943(acquired 2017)

Sources: HowToQuick.net 2025; GlobeOrSmart.com 2025; NoypiGeek 2025; PinAsk.ph 2025; Opensignal Philippines April 2025.

Critical Note: As of 2024–2025, DITO Telecommunity has won 14 of 16 Mobile Network Experience awards, including all five Overall Experience and 5G Experience awards, indicating significant network performance improvements. DITO has 14 million subscribers and over 7,000 towers nationwide (end of 2024). Source: Opensignal Philippines Mobile Network Experience Report, April 2025.

Remember that these prefixes no longer guarantee indicators of the current network due to MNP. Always implement fallback handling for ported numbers and use HLR (Home Location Register) lookups or MNP database queries for accurate carrier identification.

How to Validate Philippines Phone Numbers

This section provides practical guidance on implementing Philippine phone number handling in your applications.

Phone Number Validation Regex Patterns

Build a robust validation framework to handle different number formats.

javascript
// Validation patterns for Philippine numbers
const validationPatterns = {
  mobile: /^(09|\+639)\d{9}$/,
  landlineMetroManila: /^(02|\+632)[78]\d{7}$/, // 8-digit Metro Manila landlines (7 or 8 prefix)
  landlineProvincial: /^(0[3-9]\d{1}|\+63[3-9]\d{1})\d{7}$/ // 7-digit provincial landlines
};

// Implementation example
function validatePhilippineNumber(number, type) {
  // Check if the given number matches the specified type
  return validationPatterns[type].test(number);
}

// Example usage:
console.log(validatePhilippineNumber("09171234567", "mobile")); // true
console.log(validatePhilippineNumber("+63281234567", "landlineMetroManila")); // true (PLDT)
console.log(validatePhilippineNumber("+63271234567", "landlineMetroManila")); // true (Globe)
console.log(validatePhilippineNumber("0321234567", "landlineProvincial")); // true (Cebu)

This code includes validation for 8-digit Metro Manila landlines (effective October 6, 2019), reflecting the current numbering scheme with both "7" (Globe) and "8" (PLDT) prefixes. Always test your validation logic with various valid and invalid inputs to ensure accuracy.

Best Practices for Phone Number Handling

Follow these best practices when working with Philippine phone numbers:

  1. Store Numbers in E.164 Format: Store all numbers in E.164 format (+63XXXXXXXXXX). This international standard ensures consistency and simplifies integration with various telecommunications systems. Also maintain original format metadata for display and user interaction purposes. Include carrier information where available, but update it regularly due to MNP. For area code reference, see our complete area code guides.

  2. Integrate MNP Carrier Lookup: Integrate a carrier lookup mechanism to handle ported numbers.

    javascript
    async function checkNumberPortability(phoneNumber) {
      // Remove any formatting
      const cleanNumber = phoneNumber.replace(/\D/g, '');
    
      // Implement carrier lookup using a reliable API or database
      const carrierInfo = await lookupCarrier(cleanNumber);
    
      // Handle ported numbers – default to current carrier if original is unknown
      return {
        originalCarrier: carrierInfo.original || carrierInfo.current,
        currentCarrier: carrierInfo.current,
        isPorted: carrierInfo.original !== carrierInfo.current,
        portedDate: carrierInfo.portedDate || null // Track porting date if available
      };
    }
    
    // Example usage:
    checkNumberPortability("+639171234567").then(info => console.log(info));

    This code snippet demonstrates how to check number portability. Replace lookupCarrier with your actual carrier lookup implementation using HLR queries or MNP database APIs. This function also handles cases where the original carrier is unknown, defaulting to the current carrier, and tracks porting dates.

  3. Maintain Updated Database: Regularly validate your number database against National Telecommunications Commission (NTC) updates. Ensure your database supports both 7 and 8-digit landlines and implements carrier detection logic that accounts for MNP. Monitor NTC announcements for new prefix allocations.

Implement Dialing Procedures

Understand Philippine dialing patterns for accurate call routing.

Domestic Call Routing

Handle these scenarios in your system:

  1. Landline to Landline: Include area codes and account for varying lengths (7 or 8 digits).

    python
    import re
    
    def validate_landline_call(number):
        # Pattern accepts 8-digit Metro Manila (area 02) or 7-digit provincial
        pattern = r'^0(2[78]\d{7}|[3-9]\d{8})$'
        match = re.match(pattern, number)
    
        if not match:
            return False
    
        # Verify digit count based on area code
        if number.startswith('02'):
            return len(number) == 10  # 02 + 8 digits
        else:
            return len(number) == 10  # 0XX + 7 digits
    
    print(validate_landline_call("0321234567"))    # True (Cebu, 7 digits)
    print(validate_landline_call("02812345678"))   # True (Metro Manila PLDT, 8 digits)
    print(validate_landline_call("02712345678"))   # True (Metro Manila Globe, 8 digits)

    This Python code validates both 8-digit Metro Manila landlines (with "7" or "8" prefix) and 7-digit provincial landlines, ensuring accuracy post-October 2019 migration.

  2. Landline to Mobile: Include the '0' prefix before the mobile number.

    python
    import re
    
    def validate_mobile_call(number):
        pattern = r'^09\d{9}$'
        return bool(re.match(pattern, number))
    
    print(validate_mobile_call("09171234567")) # True
  3. Mobile to Mobile: Direct dialing is used; no area code is required. Carrier routing is automatic based on the prefix (but remember MNP implications – current carrier may differ from prefix-indicated carrier).

International Call Routing

For international calls to the Philippines, use the format +63 <area code/mobile prefix><subscriber number>. Ensure your system correctly handles the country code and removes any leading zeros from the area code or mobile prefix.

Example International Formats:

  • Mobile: +63 917 123 4567 (remove the leading "0" from 0917)
  • Metro Manila landline: +63 2 8123 4567 (area code "2", then 8-digit number)
  • Provincial landline: +63 32 123 4567 (area code "32", then 7-digit number)

Philippines Emergency Numbers and Services

Integrate emergency services correctly.

Emergency Hotline Numbers (911, 117, 143, 160)

  • National Emergency (911): Launched August 1, 2016, as the nationwide emergency hotline, replacing the previous Patrol 117 system. Managed by the Emergency 911 National Office. On September 11, 2025, DILG launched Unified 911, centralizing all local emergency contacts. Sources: Executive Order No. 56; NTC Memorandum Order No. 07-07-2016 (July 20, 2016); E911.gov.ph; Wikipedia 911 Philippines.
  • Police Hotline (117): While 911 is the official emergency number, 117 was the previous national emergency number (July 14, 2003 – August 1, 2016) and may still be recognized in some systems. Handle both for backward compatibility. Source: Executive Order No. 56 (replaced Patrol 117).
  • Red Cross (143): Philippine Red Cross Hotline for disaster response and emergency medical services.
  • Fire Services (160): Bureau of Fire Protection emergency hotline for fire incidents.

Best Practice: Implement priority routing for these numbers to ensure immediate connection. Also, provide location data if possible to aid emergency responders. Per Republic Act No. 11202 Section 4(d), don't impose any charges for calls to emergency numbers. All emergency calls must be free of charge.

Regulatory Requirement: NTC Memorandum Order No. 07-07-2016 officially assigned "911" as the Emergency Hotline Number nationwide, making it available for government use free of interconnection charges.

Implementation Requirements

javascript
const EMERGENCY_NUMBERS = {
  NATIONAL_911: '911',      // Primary national emergency (since 2016)
  POLICE_117: '117',        // Legacy police hotline (pre-2016, may still work)
  RED_CROSS: '143',         // Philippine Red Cross
  FIRE: '160'               // Bureau of Fire Protection
};

// Priority routing implementation
function handleEmergencyCall(number) {
  if (Object.values(EMERGENCY_NUMBERS).includes(number)) {
    // Implement priority routing and location data transmission if available
    // Emergency calls must be free of charge per RA 11202 Section 4(d)
    return setPriorityRoute(number, getCurrentLocation(), { freeOfCharge: true });
  }
  return handleNormalCall(number);
}

This code includes 117 for legacy compatibility and incorporates a placeholder for location data transmission. Replace getCurrentLocation() with your actual location retrieval implementation and ensure emergency calls bypass any billing mechanisms.

NTC Regulatory Compliance and Standards

The National Telecommunications Commission (NTC) oversees several key aspects of the telecommunications landscape. Familiarize yourself with these regulations to ensure compliance.

  • Number Resource Management: This includes allocation of number blocks, prefix assignments, and special number management. Stay updated on NTC pronouncements regarding number allocation and usage. Reference: NTC official website and memorandum orders.
  • Service Quality Standards: The NTC sets standards for network performance metrics, porting completion times (48-hour maximum per RA 11202), and service availability requirements. Consider these standards when designing and testing your applications.
  • Carrier Interconnection: The NTC defines technical specifications, protocol standards, and testing requirements for carrier interconnection. Ensure your systems adhere to these guidelines for seamless communication across different networks. Reference: RA 11202 Section 4(d) mandates non-imposition of interconnection fees for domestic calls and SMS.
  • MNP Implementation: NTC developed and published Implementing Rules and Regulations for RA 11202 on June 11, 2019 (effective July 9, 2019), requiring mobile service providers to establish porting mechanisms within 6 months of rule promulgation. Source: RA 11202 Section 8; NTC IRR June 2019.

Key Regulatory References:

  • Republic Act No. 11202 (Mobile Number Portability Act) – February 8, 2019
  • NTC Implementing Rules and Regulations – June 11, 2019 (effective July 9, 2019)
  • NTC Memorandum Order No. 10-10-2017 (8-digit Metro Manila landlines)
  • NTC Memorandum Order No. 07-07-2016 (911 emergency number designation)
  • Executive Order No. 56 (Institutionalizing Emergency 911)

Key Takeaway: Regularly check the NTC website (www.ntc.gov.ph) for updates to implementation requirements and compliance guidelines.

Frequently Asked Questions About Philippines Phone Numbers

Is the Philippines +63 or +64? The Philippines country code is +63. New Zealand uses +64.

How do you write +63 on a phone number? For mobile: +63 917 123 4567 (remove the leading 0 from 0917). For Manila landline: +63 2 8123 4567.

What is an example of a Philippines phone number? Mobile: 0917 123 4567 (domestic) or +63 917 123 4567 (international). Manila landline: 02 8123 4567 (domestic) or +63 2 8123 4567 (international).

How many digits is a Philippine mobile number? Philippine mobile numbers are 10 digits including the leading 0 (e.g., 0917 123 4567), or 11 digits with country code (+63 917 123 4567).

What is Manila's area code? Manila and Metro Manila use area code 02 with 8-digit landline numbers (02-8XXX-XXXX or 02-7XXX-XXXX).

Conclusion

This guide provides a detailed overview of the Philippines phone number format, including country code +63, mobile and landline validation, MNP implementation, and regulatory considerations. Follow these guidelines to develop robust and compliant applications that effectively handle Philippine phone numbers. Prioritize user experience and stay updated on the evolving telecommunications landscape.

Developer Checklist:

  • Implement E.164 format storage (+63XXXXXXXXXX)
  • Validate 8-digit Metro Manila landlines (02-7XXX-XXXX or 02-8XXX-XXXX)
  • Validate 7-digit provincial landlines
  • Validate 10-digit mobile numbers (09XX-XXX-XXXX)
  • Integrate MNP/HLR lookup for accurate carrier identification
  • Handle 48-hour porting timeline in application logic
  • Implement emergency number routing (911, 117, 143, 160)
  • Ensure emergency calls are free of charge
  • Monitor NTC updates for new prefix allocations
  • Account for 60-day porting frequency limit in user flows