phone number standards
phone number standards
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:
- 2XX Series (5 digits): Primarily serves Port Vila (22xxx-29xxx in SHEFA Province) and major urban business districts, government institutions, and commercial zones. The 20xxx range goes to Telecom Vanuatu Limited (now Vodafone Vanuatu) for fixed network services.
- 3XX Series (5 digits): Covers secondary urban areas and non-geographic services. 33xxx goes to Digicel for Government Fixed Network, while 340xx-349xx serve Digicel's fixed non-geographic services. 35xxx-36xxx serve Vodafone fixed services in SANMA Province and Luganville.
- 4XX Series (5 digits): Designated for rural and developing areas. 484xx-489xx serve Vodafone fixed services in MALAMPA Province. The 380xx-388xx ranges cover PENAMA and TORBA Provinces.
- 5XX Series (7 digits): Reserved for Digicel mobile services. Valid ranges include 50xxxxx-52xxxxx, 53xxxxx-56xxxxx, 572xxxx-575xxxx, 58xxxxx, and 59xxxxx per the National Numbering Plan.
- 7XX Series (7 digits): Reserved for Vodafone Vanuatu mobile services. Valid ranges include 70xxxxx-71xxxxx, 73xxxxx-77xxxxx per the official allocation table.
- 90X Series (7 digits): Designated for VoIP and nomadic services. 9000xxx-9009xxx go to WanTok Networks, while 901xxxx-909xxxx serve nomadic/Voice over IP services.
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 Service | Number |
|---|---|
| Police | 111 |
| General Emergency | 112 |
| Fire Services | 113 |
| Ambulance Services | 114 |
| 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:
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:
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.
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):
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:
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.
// 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 cacheWhat 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:
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