sms compliance

Sent logo
Sent TeamMar 8, 2026 / sms compliance / vietnam

Vietnam Phone Numbers: Format, Validation & Country Code +84 Guide

Master Vietnamese phone number validation with E.164 formatting, operator prefixes for Viettel, MobiFone, Vinaphone, and 2025 regulatory compliance requirements.

Vietnam Phone Numbers: Complete Format & Validation Guide

Implement Vietnamese phone number validation and formatting correctly in your application. This guide provides production-ready code examples, regulatory compliance requirements, and network operator details for Vietnam's telecommunications system.

Quick Reference

  • Country: Vietnam 🇻🇳
  • Country Code: +84
  • International Prefix: 00
  • National Prefix (Trunk Code): 0
  • Number Length: 10 digits (mobile and landline)
  • Format Standard: ITU-T E.164
  • Major Operators: Viettel (54.2% market share), Vinaphone (23.1%), MobiFone (18.6%)

Key Regulatory Dates:

  • 2G Network Shutdown: October 15, 2024 (update your fallback logic)
  • Current Telecom Law: No. 24/2023/QH15 (effective July 1, 2024)
  • Implementation Decree: 163/2024/ND-CP (effective January 1, 2025)

Understanding Vietnam's Phone Number System

Vietnam's telecommunications sector has undergone a rapid transformation, evolving from a fragmented system to a modern, standardized infrastructure. This modernization has brought about significant changes in number formats and regulations, impacting how developers handle phone number integration. As a developer, you need to be aware of these changes to ensure your applications remain compliant and functional.

Vietnam Phone Number Format: E.164 Standard

Vietnam's phone numbering plan adheres to the ITU-T Recommendation E.164 standard, utilizing the country code +84. This standardization is essential for international compatibility and allows your applications to seamlessly connect with users globally. The system has progressed through several phases:

  • Pre-2008: Varied number lengths and formats existed, creating complexities for developers.
  • 2008-2018: A mix of 10 and 11-digit mobile numbers were used, requiring more intricate validation logic.
  • Post-2018: Standardized 10-digit mobile numbers were implemented, simplifying validation and integration. This standardization, as detailed in Circular No. 22/2014/TT-BTTTT, significantly streamlined the numbering system.

Geographic (Landline) Numbers

Geographic numbers are tied to specific administrative regions within Vietnam. Major cities have distinct area codes, which are essential for routing calls correctly. You should consider these area codes when validating user input and formatting numbers for display.

Format: 0AA XXXXXXX AA: Area code (2-3 digits) X: Subscriber number (7-8 digits)

Key Area Codes:

  • Ho Chi Minh City: 028
  • Hanoi: 024
  • Da Nang: 0236

Important Considerations for Geographic Numbers:

When working with geographic numbers, remember that area codes can vary in length (2 or 3 digits), impacting the overall number structure. You'll need to account for this variability in your validation logic. Additionally, some area codes are further subdivided, as seen in Hanoi where different prefixes exist for various telecommunication providers (e.g., 0242 for Viettel landlines, 0243 for VNPT landlines). This level of detail is crucial for accurate routing and validation.

Mobile Numbers

Mobile numbers in Vietnam are now standardized to 10 digits, simplifying implementation for developers. This standardization is a key improvement over the previous mix of 10 and 11-digit numbers.

Format: 0XX XXXXXXXX XX: Network prefix (2 digits) X: Subscriber number (8 digits)

Network Prefix Guide

OperatorPrefix RangesNetworkMarket Share
Viettel032-039, 096-0984G/5G54.2%
Vinaphone081-088, 091, 0944G/5G23.1%
MobiFone070, 076-079, 089, 090, 0934G/5G18.6%
Vietnamobile052, 056, 058, 0924G<5%
Gmobile059, 0994G<5%

Network Prefix Usage:

Use network prefixes to identify the mobile carrier and optimize message routing. The three major operators (Viettel, Vinaphone, MobiFone) cover 95.9% of Vietnam's mobile market.

Toll-Free and Premium Rate Numbers

Vietnam uses toll-free (1800) and premium rate (1900) numbers for customer service and value-added services.

Toll-Free Numbers

Toll-free numbers allow callers within Vietnam to contact businesses without incurring charges. They are typically used for customer support and services.

Format: 1800 XXXX or 1800 XXXXXX X: Subscriber number (4-6 digits)

Premium Rate Numbers

Premium-rate numbers are used for value-added services and often incur higher charges for the caller. They are commonly used for contests, voting lines, and entertainment services.

Format: 1900 XXXX or 1900 XXXXXX X: Subscriber number (4-6 digits)

Implementation Best Practices for Developers

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

Validation Patterns

Use these regular expressions to validate Vietnamese phone numbers efficiently. Each pattern matches specific number types based on current 2025 operator allocations.

javascript
// Geographic landline numbers (2–3 digit area codes + 7–8 digit subscriber numbers)
const geoPattern = /^0([2-9]\d{1,2})\d{7,8}$/;

// Mobile numbers (updated for 2025 operator prefixes including 089 and 081-088 ranges)
const mobilePattern = /^0(3[2-9]|5[2689]|7[06-9]|8[1-9]|9[0-4689])\d{7}$/;

// Toll-free numbers (1800 prefix)
const tollFreePattern = /^1800\d{4,6}$/;

// Premium rate numbers (1900 prefix)
const premiumPattern = /^1900\d{4,6}$/;

function validateVietnameseNumber(number) {
  // Remove all non-digit characters
  const cleaned = number.replace(/\D/g, '');
  
  // Check against validation patterns
  if (geoPattern.test(cleaned)) {
    return { valid: true, type: 'geographic', carrier: null };
  }
  
  if (mobilePattern.test(cleaned)) {
    const carrier = identifyCarrier(cleaned);
    return { valid: true, type: 'mobile', carrier };
  }
  
  if (tollFreePattern.test(cleaned)) {
    return { valid: true, type: 'toll-free', carrier: null };
  }
  
  if (premiumPattern.test(cleaned)) {
    return { valid: true, type: 'premium', carrier: null };
  }
  
  return { valid: false, type: null, carrier: null, error: 'Invalid Vietnamese phone number format' };
}

// Identify mobile carrier from prefix
function identifyCarrier(number) {
  const prefix = number.substring(1, 3);
  
  // Viettel: 032-039, 096-098
  if (/^(03[2-9]|09[6-8])/.test(number.substring(0, 3))) {
    return 'Viettel';
  }
  
  // MobiFone: 070, 076-079, 089, 090, 093
  if (/^(070|07[6-9]|089|090|093)/.test(number.substring(0, 3))) {
    return 'MobiFone';
  }
  
  // Vinaphone: 081-088, 091, 094
  if (/^(08[1-8]|091|094)/.test(number.substring(0, 3))) {
    return 'Vinaphone';
  }
  
  // Vietnamobile: 052, 056, 058, 092
  if (/^(052|056|058|092)/.test(number.substring(0, 3))) {
    return 'Vietnamobile';
  }
  
  // Gmobile: 059, 099
  if (/^(059|099)/.test(number.substring(0, 3))) {
    return 'Gmobile';
  }
  
  return 'Unknown';
}

Testing Your Validation:

Always thoroughly test your validation patterns with various valid and invalid inputs, including edge cases and potential user errors. This will help you identify and fix any vulnerabilities.

Number Formatting

Consistent formatting improves user experience and readability. Implement formatting functions to standardize how phone numbers are displayed in your application.

javascript
function formatVietnameseNumber(number) {
  // Strip all non-numeric characters
  const cleaned = number.replace(/\D/g, '');

  // Format based on number type (add more cases as needed)
  if (cleaned.length === 10 && mobilePattern.test(`0${cleaned}`)) { // Check for mobile format
    return `${cleaned.slice(0, 3)} ${cleaned.slice(3, 6)} ${cleaned.slice(6)}`; // Format: 0XX XXX XXX
  } else if (cleaned.length >= 9 && cleaned.length <= 11 && geoPattern.test(`0${cleaned.slice(cleaned.length - 9, cleaned.length)}`)) { // Check for geographic format
    return `${cleaned.slice(0, 3)} ${cleaned.slice(3)}`; // Format: 0AA XXXXXXX (adjust as needed)
  } else if ((cleaned.startsWith('1800') || cleaned.startsWith('1900')) && cleaned.length >= 8 && cleaned.length <= 10) { // Check for toll-free/premium format
    return `${cleaned.slice(0, 4)} ${cleaned.slice(4)}`; // Format: 1XXX XXXX (adjust as needed)
  }
  return cleaned; // Return cleaned number if no format matches
}

Adapting to Different Formats:

Be prepared to handle different input formats from users. Your formatting function should be able to gracefully handle numbers with or without spaces, hyphens, and other non-numeric characters.

Number Normalization

Normalize phone numbers to the E.164 format (+84XXXXXXXXXX) for consistent storage and international compatibility. This is particularly important when dealing with user input, which can vary in format.

javascript
function normalizeVNNumber(number) {
  // Remove all non-numeric characters
  number = number.replace(/\D/g, '');

  // Add country code if missing
  return number.startsWith('0')
    ? '+84' + number.substring(1)
    : (number.startsWith('+84') ? number : `+84${number}`); // Handle cases with and without +84
}

Why E.164 Matters:

Storing numbers in the E.164 format ensures consistency and simplifies integration with international systems. It also facilitates accurate number lookup and validation.

Regulatory Compliance and Recent Changes

Monitor these regulatory changes to maintain compliance with Vietnam's telecommunications requirements.

Key Regulatory Updates

2G Network Sunset (October 15, 2024)

Originally scheduled for September 16, 2024, the 2G shutdown was postponed to October 15, 2024 due to Storm Yagi damage. Over 10 million users must transition to 4G/5G networks. Implement fallback mechanisms and user notifications now.

5G Network Rollout

Leverage increased bandwidth and reduced latency in your applications as 5G deployment continues across major urban centers.

Telecommunications Law No. 24/2023/QH15 (Effective July 1, 2024)

New regulations govern data centers, cloud computing, and Over-The-Top (OTT) services. Decree 163/2024/ND-CP (effective January 1, 2025) provides implementation guidelines.

Compliance Requirements:

  • Register OTT services with the Ministry of Information and Communications
  • Implement data protection obligations for all digital service providers
  • Review telecommunications licensing requirements annually

Technical Implementation Checklist

  • Implement E.164 format storage for consistency and international compatibility.
  • Add network prefix validation to identify mobile carriers and optimize routing.
  • Support number portability to handle number changes between carriers.
  • Include area code validation for accurate routing of landline calls.
  • Implement formatting consistency for improved user experience.

Future-Proofing Your Implementation

Prepare for upcoming changes:

  • Number Portability: Design your systems to handle carrier changes without breaking number validation.
  • 5G Evolution: Plan for increased bandwidth and reduced latency requirements.
  • IoT Integration: Consider M2M number ranges and specific formatting needs.
  • Enhanced Security: Implement additional verification methods for premium services.

Stay Informed:

Monitor the Ministry of Information and Communications for regulatory updates and technical requirements.

Frequently Asked Questions

What is the country code for Vietnam phone numbers?

The country code for Vietnam is +84. When dialing internationally, replace the leading 0 with +84. For example, 0987 654 321 becomes +84 987 654 321.

How many digits are in a Vietnamese phone number?

All Vietnamese phone numbers contain 10 digits after removing the country code. This includes both mobile and landline numbers. The format is standardized as of 2018.

How do I validate a Vietnam mobile number?

Use the regex pattern /^0(3[2-9]|5[2689]|7[06-9]|8[1-9]|9[0-4689])\d{7}$/ for national format, or store numbers in E.164 format (+84XXXXXXXXX). Check the Network Prefix Guide above for current 2025 operator allocations.

Which mobile network is the largest in Vietnam?

Viettel is the largest mobile operator with 54.2% market share, followed by Vinaphone (23.1%) and MobiFone (18.6%). Together, these three operators serve 95.9% of Vietnam's mobile market.

Does Vietnam support number portability?

Number portability is not currently implemented in Vietnam as of 2025. Users cannot keep their phone number when switching between carriers.

What is the format for Vietnam toll-free numbers?

Vietnam toll-free numbers use the 1800 prefix followed by 4–6 digits (e.g., 1800 1234 or 1800 123456). These numbers are free for callers within Vietnam.

When did Vietnam's 2G network shut down?

Vietnam's 2G network shut down on October 15, 2024. Originally scheduled for September 16, 2024, the shutdown was postponed due to Storm Yagi damage and to allow over 10 million users to transition to 4G/5G.

How do I identify a Vietnamese mobile carrier from the phone number?

Check the first three digits (network prefix). Viettel uses 032-039, 096-098; Vinaphone uses 081-088, 091, 094; MobiFone uses 070, 076-079, 089, 090, 093. See the complete Network Prefix Guide table above.

Source Citations

Regulatory Bodies and Official Sources:

  • Ministry of Information and Communications (MIC) Vietnam: https://www.mic.gov.vn/
  • Circular No. 22/2014/TT-BTTTT (December 22, 2014): Mobile number standardization from 11 to 10 digits
  • Telecommunications Law No. 24/2023/QH15 (Effective July 1, 2024): Updated telecommunications regulations
  • Decree 163/2024/ND-CP (December 24, 2024, Effective January 1, 2025): Implementation guidelines for Telecommunications Law

International Standards:

Network Infrastructure and Operators:

  • 2G Network Sunset (October 15, 2024): Postponed from September 16, 2024 due to Storm Yagi
  • Viettel Mobile: Network prefix ranges 032-039, 096-098 (54.2% market share)
  • MobiFone: Network prefix ranges 070, 076-079, 089, 090, 093 (18.6% market share)
  • Vinaphone (VNPT): Network prefix ranges 081-088, 091, 094 (23.1% market share)
  • Vietnamobile: Network prefix ranges 052, 056, 058, 092
  • Gmobile: Network prefix ranges 059, 099

Technical Resources:

Conclusion

Implement Vietnamese phone number validation using E.164 format storage, current operator prefix validation (updated for 2025), and regulatory compliance checks. Review the Technical Implementation Checklist in vn.md:187-192 to ensure your application handles all number types correctly.

Next Steps:

  1. Copy the validation code examples from this guide into your project
  2. Test with valid Vietnamese numbers: +84 987 654 321 (Viettel), +84 812 345 678 (Vinaphone)
  3. Implement 2G network fallback logic before October 15, 2024
  4. Subscribe to MIC updates for regulatory changes

For questions about E.164 formatting, see the E.164 Phone Number Format Guide.