phone number standards

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

Vanuatu Phone Numbers: Format, Area Code & Validation Guide

Master Vanuatu phone number validation with our complete developer guide. Implement +678 country code handling, 7-digit mobile formats, operator identification, E.164 formatting, and regex patterns for reliable SMS and voice applications.

Vanuatu Phone Numbers: Format, Area Code & Validation Guide

Introduction

Vanuatu phone numbers follow a structured format using the +678 country code with 7-digit mobile numbers and 5-digit landlines. This comprehensive guide provides developers with practical phone number validation techniques, formatting patterns, and implementation details for building SMS verification systems, customer registration forms, and call routing applications. You'll learn to handle Vanuatu's telecommunications network accurately, validate numbers using regex patterns, identify operators (Digicel and Vodafone), implement E.164 international formatting, and integrate with regional platforms serving Oceania markets.

What Is Vanuatu's Telecommunications Landscape?

Vanuatu's telecommunications sector has transformed rapidly since independence in 1980. The nation now operates a robust network combining fiber optic cables in urban centers with satellite and microwave links that extend connectivity to even the most remote islands. Competition between Vodafone Vanuatu (formerly Telecom Vanuatu) and Digicel (acquired by Telstra in 2022) drives this modernization, as the BuddeComm report on the Vanuatu telecoms market highlights. This competition has spurred investment and innovation, improving service quality and affordability.

As of early 2025, mobile penetration reached 95.1%, with 315,000 cellular mobile connections serving a population of 331,000. GSMA Intelligence data indicates that 96.4% of mobile connections support broadband (3G, 4G, or 5G), though actual mobile data access varies by subscription plan. Internet penetration stands at 45.7% (151,000 users), with significant urban-rural disparities reflecting the archipelago's geographic challenges. Fixed broadband services remain limited, with approximately 3,952 subscriptions as of 2023, making mobile data the primary internet access method for most users.

What Is the Vanuatu Phone Number Format?

Vanuatu uses a streamlined numbering system designed for simplicity and scalability:

  • Fixed Length: All numbers follow a consistent 7-digit format (5 digits for some landlines)
  • Country Code: The international dialing code for Vanuatu is +678. Always include this prefix when storing or processing international numbers
  • Service-Specific Ranges: Number ranges allocate by service type (landline, mobile, special services), enabling easy identification and routing

Complete Format Examples:

  • Mobile (International): +6785123456 (country code + 7-digit number)
  • Landline (International): +67824567 (country code + 5-digit number for fixed lines)
  • Local Format: 5123456 (mobile) or 24567 (landline)

Regional Number Allocation

Number allocation within Vanuatu follows a geographic pattern based on the official National Numbering Plan managed by TRBR:

This regional distribution helps identify the general location of a number's origin and the service type.

What Are the Emergency Numbers in Vanuatu?

Vanuatu operates a standardized emergency response system with dedicated shortcodes:

Emergency ServiceNumber
Police111
General Emergency112
Fire Services113
Ambulance Services114
ProMedical (Private Ambulance)115

Important: While these numbers provide nationwide access, coverage may vary in extremely remote areas. Always confirm local emergency procedures when traveling within Vanuatu. Note that these shortcodes differ from the standard "911" used in many other countries, as the U.S. State Department's guide on emergency numbers abroad outlines.

How Do You Validate Vanuatu Phone Numbers?

This section provides practical guidance on integrating Vanuatu phone number validation and processing into your applications using standard validation techniques.

Prerequisites for Implementation

Before you begin, ensure you have:

  • Understanding of Regular Expressions: You'll use regular expressions extensively for validation
  • Familiarity with Asynchronous Operations: Many operations, like database lookups, run asynchronously
  • Access to TRBR's Numbering Database (optional): For verification against the official National Numbering Plan allocation tables. Contact TRBR at +678 27621 or via their website (PO Box 3547, Port Vila, Efate, Vanuatu) for access to official numbering resources and regulatory guidance.
  • Node.js version 12 or higher (for provided examples): The code examples use JavaScript with Node.js

Note: TRBR (Telecommunications, Radiocommunications and Broadcasting Regulator) does not offer a public real-time validation API. Validate against the published National Numbering Plan patterns, which TRBR updates periodically as new ranges are allocated.

Core Validation Patterns

Use these regular expressions to validate Vanuatu phone numbers based on the official ITU and TRBR numbering allocations:

javascript
const VANUATU_PATTERNS = {
  landline: /^(?:2[0-9]|3[0-8]|48[4-9]|88)\d{3}$/,  // 5-digit fixed numbers
  mobile: /^(?:5[0-6]|572|573|574|575|58|59|7[0-1]|7[3-7])\d{5}$/,  // 7-digit mobile
  emergency: /^11[1-5]$/,  // Emergency short codes 111-115
  tollFree: /^081[18]\d{2}$/,  // Toll-free numbers
  voip: /^90[0-9]\d{4}$/  // VoIP/nomadic services
};

function stripCountryCode(number) {
  // Remove country code if present
  const cleaned = number.replace(/\D/g, '');
  if (cleaned.startsWith('678')) {
    return cleaned.substring(3);
  }
  return cleaned;
}

function validateVanuatuNumber(number, type) {
  const cleanNumber = stripCountryCode(number);
  return VANUATU_PATTERNS[type] && VANUATU_PATTERNS[type].test(cleanNumber);
}

// Example usage:
console.log(validateVanuatuNumber('22345', 'landline'));        // true (Port Vila)
console.log(validateVanuatuNumber('+67850123456', 'mobile'));   // true (Digicel)
console.log(validateVanuatuNumber('70123456', 'mobile'));       // true (Vodafone)
console.log(validateVanuatuNumber('113', 'emergency'));         // true (Fire)
console.log(validateVanuatuNumber('9012345', 'voip'));          // true (WanTok)
console.log(validateVanuatuNumber('8001234', 'landline'));      // false (invalid)

Explanation: The validateVanuatuNumber function takes a phone number and its type as input. The stripCountryCode helper removes the +678 country code if present, then the appropriate regular expression validates the remaining digits against official TRBR allocation patterns.

Potential Pitfalls and Adaptations: Users often enter numbers with spaces, hyphens, or the +678 country code. The stripCountryCode function handles international format by removing non-digits and stripping the 678 prefix before validation.

Operator Identification

Identify the operator associated with a number for routing or billing purposes. Based on the official TRBR numbering allocation:

javascript
const OPERATOR_PREFIXES = {
  // Digicel mobile prefixes (7-digit)
  '50': 'Digicel', '51': 'Digicel', '52': 'Digicel',
  '53': 'Digicel', '54': 'Digicel', '55': 'Digicel', '56': 'Digicel',
  '572': 'Digicel', '573': 'Digicel', '574': 'Digicel', '575': 'Digicel',
  '58': 'Digicel', '59': 'Digicel',

  // Vodafone (TVL) mobile prefixes (7-digit)
  '70': 'Vodafone', '71': 'Vodafone',
  '73': 'Vodafone', '74': 'Vodafone', '75': 'Vodafone',
  '76': 'Vodafone', '77': 'Vodafone',

  // Fixed line prefixes (5-digit) - Vodafone
  '2': 'Vodafone', '30': 'Vodafone', '35': 'Vodafone', '36': 'Vodafone',
  '37': 'Vodafone', '38': 'Vodafone', '48': 'Vodafone', '88': 'Vodafone',

  // Fixed line prefixes - Digicel
  '33': 'Digicel', '34': 'Digicel',

  // VoIP - WanTok
  '90': 'WanTok'
};

function identifyOperator(number) {
  const cleanNumber = stripCountryCode(number);

  // Check longer prefixes first (3 digits)
  if (cleanNumber.length >= 3) {
    const prefix3 = cleanNumber.substring(0, 3);
    if (OPERATOR_PREFIXES[prefix3]) return OPERATOR_PREFIXES[prefix3];
  }

  // Then check 2-digit prefixes
  if (cleanNumber.length >= 2) {
    const prefix2 = cleanNumber.substring(0, 2);
    if (OPERATOR_PREFIXES[prefix2]) return OPERATOR_PREFIXES[prefix2];
  }

  // Finally check 1-digit prefix
  const prefix1 = cleanNumber.substring(0, 1);
  return OPERATOR_PREFIXES[prefix1] || 'Unknown';
}

// Example usage:
console.log(identifyOperator('+67850123456')); // Digicel
console.log(identifyOperator('70123456'));      // Vodafone
console.log(identifyOperator('22345'));         // Vodafone (Port Vila fixed)
console.log(identifyOperator('9012345'));       // WanTok (VoIP)

Explanation: The identifyOperator function checks progressively shorter prefixes (3-digit, 2-digit, 1-digit) to match against the official operator allocation table.

Important Considerations: While Vanuatu's telecommunications sector supports number portability according to ITU data standards, specific implementation details and the activation date are not publicly documented in TRBR resources. Prefix-based identification remains generally accurate but may have exceptions. For mission-critical operator routing, maintain an updated number portability database or consult directly with TRBR.

How Should You Format and Store Vanuatu Phone Numbers?

E.164 Format: Always store phone numbers in international format (E.164), which includes the plus sign (+) followed by the country code and the national number. For example, store a Vanuatu mobile number as +6785123456 or a landline as +67822345. This ensures consistency and simplifies international communication.

javascript
function formatToE164(number, numberType = 'mobile') {
  const cleanNumber = stripCountryCode(number);

  // Validate the number format
  if (!VANUATU_PATTERNS[numberType] || !VANUATU_PATTERNS[numberType].test(cleanNumber)) {
    throw new Error(`Invalid Vanuatu ${numberType} number format`);
  }

  return `+678${cleanNumber}`;
}

// Example usage:
console.log(formatToE164('50123456', 'mobile'));      // +67850123456
console.log(formatToE164('+67822345', 'landline'));   // +67822345
console.log(formatToE164('678 701 23456', 'mobile')); // +67870123456

// Error handling example
try {
  formatToE164('invalid', 'mobile');
} catch (error) {
  console.error(error.message); // Invalid Vanuatu mobile number format
}

Metadata: Store additional metadata with the phone number, such as the identified operator, number type (landline, mobile), and validation status. This data provides value for analytics and reporting.

Example Database Schema (SQL):

sql
CREATE TABLE phone_numbers (
  id SERIAL PRIMARY KEY,
  phone_number VARCHAR(15) NOT NULL,  -- E.164 format: +67850123456
  country_code VARCHAR(4) DEFAULT '+678',
  number_type VARCHAR(20),  -- 'mobile', 'landline', 'voip', 'tollFree'
  operator VARCHAR(50),  -- 'Digicel', 'Vodafone', 'WanTok'
  validated_at TIMESTAMP,
  is_active BOOLEAN DEFAULT true,
  created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP,
  UNIQUE(phone_number)
);

Error Handling

Implement robust error handling to gracefully manage invalid input or unexpected situations:

javascript
function formatVanuatuNumber(rawInput, numberType = 'mobile') {
  try {
    // Validate input exists
    if (!rawInput || typeof rawInput !== 'string') {
      throw new Error('Phone number input is required and must be a string');
    }

    // Format to E.164
    const formatted = formatToE164(rawInput, numberType);

    // Identify operator for metadata
    const operator = identifyOperator(formatted);

    return {
      success: true,
      formatted: formatted,
      operator: operator,
      numberType: numberType
    };
  } catch (error) {
    return {
      success: false,
      error: error.message,
      originalInput: rawInput
    };
  }
}

// Usage with error handling
const result = formatVanuatuNumber('50123456', 'mobile');
if (result.success) {
  console.log(`Formatted: ${result.formatted}, Operator: ${result.operator}`);
} else {
  console.error(`Error: ${result.error}`);
}

Performance Optimization

For high-volume applications, implement a caching mechanism to store validation results for frequently used numbers. This significantly reduces processing time. Optimize database queries and use efficient data structures.

javascript
// Example: Simple in-memory cache with TTL
class NumberValidator {
  constructor(cacheTTL = 3600000) { // 1 hour default
    this.cache = new Map();
    this.cacheTTL = cacheTTL;
  }

  getCacheKey(number, type) {
    return `${number}:${type}`;
  }

  validateWithCache(number, type) {
    const key = this.getCacheKey(number, type);
    const cached = this.cache.get(key);

    if (cached && Date.now() - cached.timestamp < this.cacheTTL) {
      return cached.result;
    }

    // Perform validation
    const result = validateVanuatuNumber(number, type);

    // Cache the result
    this.cache.set(key, {
      result: result,
      timestamp: Date.now()
    });

    return result;
  }

  clearCache() {
    this.cache.clear();
  }
}

// Usage
const validator = new NumberValidator();
console.log(validator.validateWithCache('+67850123456', 'mobile')); // First call: validates
console.log(validator.validateWithCache('+67850123456', 'mobile')); // Second call: from cache

What Are the Best Practices for Handling Vanuatu Phone Numbers?

  • Regular Updates: Keep your validation patterns and operator information up-to-date. The TRBR periodically allocates new number ranges, so check the official National Numbering Plan at least quarterly.
  • Thorough Testing: Test your implementation thoroughly with various valid and invalid number formats, including edge cases. Use a test suite with automated tests covering all number types (mobile, landline, VoIP, toll-free, emergency).
  • Security Measures to Implement:
    • Input Sanitization: Always sanitize and validate phone number input to prevent injection attacks
    • Rate Limiting: Implement rate limiting on validation endpoints to prevent abuse and DoS attacks
    • Encryption: Store phone numbers encrypted at rest using AES-256 or equivalent
    • Access Controls: Restrict database access to phone numbers with role-based permissions
    • Audit Logging: Log all access and modifications to phone number records for compliance
    • Data Minimization: Only collect and retain phone numbers when necessary for business purposes
  • Privacy Compliance: Phone numbers are personal data under most privacy frameworks. Implement appropriate safeguards:
    • Consent: Obtain clear user consent before collecting phone numbers, explaining the purpose
    • Retention Policies: Define and enforce data retention periods; delete numbers when no longer needed
    • Right to Erasure: Provide mechanisms for users to request deletion of their phone numbers
    • Cross-Border Transfers: If transferring data internationally, ensure adequate safeguards per applicable law
    • Security Breach Notifications: Establish procedures for notifying users and authorities in case of data breaches

Example Test Suite Structure:

javascript
describe('Vanuatu Phone Number Validation', () => {
  describe('Mobile Numbers', () => {
    it('should validate Digicel mobile numbers', () => {
      expect(validateVanuatuNumber('50123456', 'mobile')).toBe(true);
      expect(validateVanuatuNumber('55123456', 'mobile')).toBe(true);
    });

    it('should validate Vodafone mobile numbers', () => {
      expect(validateVanuatuNumber('70123456', 'mobile')).toBe(true);
      expect(validateVanuatuNumber('77123456', 'mobile')).toBe(true);
    });

    it('should reject invalid mobile numbers', () => {
      expect(validateVanuatuNumber('60123456', 'mobile')).toBe(false);
      expect(validateVanuatuNumber('5012345', 'mobile')).toBe(false);
    });
  });

  describe('E.164 Formatting', () => {
    it('should format local numbers to E.164', () => {
      expect(formatToE164('50123456', 'mobile')).toBe('+67850123456');
    });

    it('should handle numbers already with country code', () => {
      expect(formatToE164('+67850123456', 'mobile')).toBe('+67850123456');
    });
  });
});

Frequently Asked Questions

What is the country code for Vanuatu phone numbers?

The country code for Vanuatu is +678. Include this prefix when dialing Vanuatu numbers from abroad or when storing numbers in international E.164 format. For example, to call a Vanuatu mobile number 5123456 from overseas, dial +678 5123456.

How many digits are in a Vanuatu phone number?

Vanuatu phone numbers have either 5 digits (landlines) or 7 digits (mobile and VoIP services), not counting the country code. Mobile numbers (starting with 5 or 7) always have 7 digits, while fixed landline numbers typically have 5 digits. When stored in international E.164 format with the +678 country code, complete numbers have either 8 digits (landlines) or 10 digits (mobile) total.

How can you tell if a Vanuatu number is mobile or landline?

Mobile numbers in Vanuatu have 7 digits and start with 5 or 7 (e.g., 5012345 or 7012345). Landline numbers have 5 digits and start with 2, 3, 4, or 8 (e.g., 22345, 33456, or 48567). The first digit and length immediately identify the service type.

What mobile network operators serve Vanuatu?

Vanuatu has two main mobile network operators: Digicel Vanuatu (operating GSM-900 MHz, GPRS, EDGE networks) and Vodafone Vanuatu (formerly Telecom Vanuatu Limited, operating GSM-900 MHz networks). Digicel uses 7-digit number prefixes starting with 5 (50-56, 572-575, 58-59), while Vodafone uses prefixes starting with 7 (70-71, 73-77). A third operator, WanTok Networks, provides VoIP and nomadic services using the 90x prefix range. As of early 2025, mobile penetration reached 95.1% with 315,000 active connections.

Does Vanuatu support mobile number portability?

While number portability technology exists and appears in ITU telecommunications standards, specific implementation details and the activation date for mobile number portability in Vanuatu are not publicly documented in official TRBR resources. Prefix-based operator identification remains generally reliable, but for mission-critical applications requiring precise operator routing, consult TRBR directly at +678 27621 for current number portability status and access to any available portability databases.

How do you dial emergency numbers in Vanuatu?

Vanuatu uses three-digit emergency numbers: 111 for Police, 112 for General Emergency, 113 for Fire Services, 114 for Ambulance Services, and 115 for ProMedical (Private Ambulance). These numbers work from both mobile and landline phones throughout most of the country, though coverage may vary in extremely remote areas.

How do you format Vanuatu phone numbers for international use?

Format Vanuatu numbers in E.164 international format: +678 followed by the 5-digit (landline) or 7-digit (mobile) local number, with no spaces or special characters. For example, the local mobile number 5123456 becomes +6785123456, and the landline 22345 becomes +67822345. This format ensures compatibility across international phone systems and databases.

Why does my Vanuatu phone number validation fail?

Common validation failures occur when: (1) the number includes formatting characters like spaces, hyphens, or parentheses, (2) the country code is included without proper handling, (3) the number doesn't match the correct digit length (5 for landlines, 7 for mobile), or (4) the first digit(s) don't correspond to a valid service type per the official TRBR allocation. Clean the input by removing non-digit characters and stripping the +678 country code before validation.

Can you send SMS to Vanuatu landline numbers?

No, SMS messaging only works with mobile numbers in Vanuatu. Landline numbers (5-digit numbers starting with 2, 3, 4, or 8) cannot receive text messages. Only send SMS to 7-digit numbers starting with 5 or 7, which are mobile numbers capable of receiving text messages. Attempting to send SMS to landlines will result in delivery failure.

What is the TRBR and why is it important for Vanuatu phone numbers?

The Telecommunications, Radiocommunications and Broadcasting Regulator (TRBR) is Vanuatu's telecommunications regulatory authority responsible for managing the telecommunications sector. TRBR manages number allocation, assigns new ranges to operators through the National Numbering Plan, and maintains the official numbering records. Contact TRBR at +678 27621, PO Box 3547, Port Vila, Efate, Vanuatu, or via their website. Keep your validation patterns updated with TRBR announcements to ensure accuracy as new number ranges are allocated.

How do you handle the +678 country code in validation?

Strip the country code before validating the local number format. First, check if the input starts with +678 or 678, remove this prefix, then validate the remaining digits against your patterns. For example, convert +6785123456 to 5123456 before applying validation regex. The stripCountryCode() function provided in this guide handles this automatically, allowing validation to work with both local and international formats.

What regex pattern validates Vanuatu mobile numbers?

Use the pattern /^(?:5[0-6]|572|573|574|575|58|59|7[0-1]|7[3-7])\d{5}$/ to validate Vanuatu mobile numbers according to the official TRBR allocation. This matches 7-digit numbers starting with valid Digicel prefixes (50-56, 572-575, 58-59) or Vodafone prefixes (70-71, 73-77). Apply this pattern only after cleaning the input to remove the country code and non-digit characters using the stripCountryCode() function.

Conclusion

Follow the guidelines and best practices in this guide to ensure accurate and efficient handling of Vanuatu phone numbers in your applications. Monitor the TRBR public register and announcements to maintain compliance with the latest National Numbering Plan allocations. With a well-structured approach incorporating proper validation, E.164 formatting, operator identification, and privacy safeguards, you can confidently integrate Vanuatu's telecommunications infrastructure into your projects.

Next Steps:

  • Bookmark the TRBR numbering allocation page for reference
  • Review the complete National Numbering Plan documentation for detailed specifications
  • Implement automated tests using the patterns provided in this guide
  • Set quarterly reminders to check for numbering plan updates
  • Consider integrating with international phone validation libraries like libphonenumber for additional validation layers