phone number standards

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

Thailand Phone Numbers: Format, Area Code & Validation Guide

Complete guide to Thailand phone number formats, NBTC regulations, and E.164 compliance. Learn mobile prefixes, landline area codes, MNP system, and validation best practices for developers.

Thailand Phone Numbers: Format, Area Code & Validation Guide

Building an application for Thai users? Understanding Thailand's phone number system is crucial for seamless integration and positive user experience. This comprehensive guide covers Thailand phone number formats, NBTC regulations, E.164 validation, mobile number prefixes, landline area codes, and the Mobile Number Portability (MNP) system—everything developers need for regulatory compliance and accurate routing.

Quick Reference

ComponentValueUsage
CountryThailandGeographic context
Country Code+66International dialing
International Prefix00Outbound international calls
National Prefix0Domestic calls
MCC (Mobile Country Code)520E.212 standard

Thailand's Numbering System Overview

The National Broadcasting and Telecommunications Commission (NBTC) oversees Thailand's telephone numbering system under the ITU-T E.164 international numbering plan. This standardized structure ensures global interoperability and simplifies number handling for developers implementing phone validation in Thailand.

Current Numbering Plan Status (as of January 2025):

  • Implemented: January 21, 2020
  • NSN Length: 8 – 9 digits (varies by service type)
  • Mobile numbers: 9 digits (prefixes 06x, 08x, 09x)
  • Landline numbers: 8 digits (current), 9 digits (future implementation date TBD)
  • VoIP numbers: 9 digits (prefixes 60, 89)

Source: ITU Operational Bulletin, Communication from NBTC dated May 8, 2024; Numbering Plan No. 2 effective March 12, 2024

Key Implementation Considerations

Review these fundamental aspects before diving into technical details:

  1. Numbering Plan Compliance: Adhere to ITU-T E.164 for international compatibility. This standard defines the format for international telephone numbers.
  2. Validation Requirements: Implement robust validation to ensure data integrity and prevent errors. Your system must accurately validate both domestic and international formats.
  3. Portability Support: Account for Thailand's Mobile Number Portability (MNP) system, which allows users to switch carriers while keeping their numbers. This ensures accurate routing.
  4. 10-Digit Transition: Monitor NBTC announcements for the timeline when fixed-line numbers transition to 10 digits (9-digit NSN). Implementation depends on number supply sufficiency.

Note: The original timeline for 10-digit landline implementation (January 1, 2025) has been postponed. Implementation will occur within two years only when number supply becomes insufficient.

Numbering Plan Structure

General Number Format

Thailand uses a closed dialing plan where you must include the area code even for local calls. Design your dialing interface accordingly.

International Format: +66 + NSN (National Significant Number) Domestic Format: 0 + NSN

NSN Length by Service Type (Current Plan: 2020 – 2024+):

  • Fixed-line (landline): 8 digits (1-digit or 2-digit area code + 6 – 7 digit subscriber number)
  • Mobile: 9 digits (2-digit prefix + 7-digit subscriber number)
  • VoIP: 9 digits (2-digit prefix + 7-digit subscriber number)

Source: ITU Operational Bulletin, NBTC Numbering Plan Communication, May 8, 2024

Number Components

Thailand phone numbers contain three components:

  • Country Code (+66): Identifies Thailand in international calls. Use this for international routing but replace with "0" when displaying numbers to Thai users.
  • National (Significant) Number (NSN) (8 – 9 digits): The core routing component, including the area/mobile prefix and subscriber number. Understanding this structure is crucial for accurate routing within Thailand.
  • Subscriber Number (6 – 8 digits): Uniquely identifies individual users within a prefix range. Length varies by number type:
    • Bangkok landlines: 7 digits (area code 2)
    • Provincial landlines: 6 digits (area codes 3x, 4x, 5x, 7x)
    • Mobile/VoIP: 7 digits

💡 Developer Tip: Store numbers in international format (+66) internally. Convert to domestic format (0) only for display purposes within Thailand. This simplifies data management and ensures consistency.

Thailand Mobile Number Prefixes

Active Mobile Prefixes (as of January 2025):

Thailand mobile phone numbers use these prefix ranges:

  • 06x: Mobile services (60 reserved for VoIP)
  • 08x: Mobile services (080 – 088)
  • 09x: Mobile services (090 – 099)

Major Operators and MCC/MNC Codes:

OperatorMCCMNCNetwork TypeMarket Share (2023)
AIS (Advanced Info Service)52001GSM/LTE/5G~46%
TrueMove H (True Corporation)52025GSM/LTE/5G~52.77% (post-merger)*
DTAC52018GSM/LTE/5GMerged with True*

Note: TrueMove H and DTAC merged in 2023 under True Corporation, but both brands maintain separate spectrum holdings, branding, and customer service as of January 2025.

Sources: MCC-MNC.org; Thailand Telecom Operators Intelligence Report 2024-2025

Example Mobile Numbers:

  • Domestic format: 08-1234-5678 or 0812345678
  • International format: +66812345678

Thailand Landline Area Codes

Geographic Area Code Structure:

Area CodeRegionsNSN Length (Current)Subscriber Number Length
2x (20 – 29)Bangkok, Nonthaburi, Pathum Thani, Samut Prakan8 digits7 digits
3x (30 – 39)Central, Eastern, Western regions8 digits6 digits
4x (40 – 49)Northeastern region8 digits6 digits
5x (50 – 59)Northern region8 digits6 digits
7x (70 – 79)Southern region8 digits6 digits

Specific Area Code Examples:

  • 02: Bangkok and vicinity (Nonthaburi, Pathum Thani, Samut Prakan)
  • 32: Ratchaburi, Phetchaburi, Prachuap Khirikhan
  • 33, 38: Chacheongsao, Rayong, Chon Buri (Eastern region)
  • 42: Udon Thani, Nong Khai, Loei (Northeastern region)
  • 53: Chiang Mai, Lamphun, Chiang Rai (Northern region)
  • 76: Phuket, Phang-nga (Southern region)

Source: ITU Operational Bulletin, NBTC Numbering Plan 2020 – 2024+

Example Landline Numbers:

  • Bangkok: 02-123-4567 or 021234567 (domestic), +6621234567 (international)
  • Phuket: 076-12345 or 07612345 (domestic), +6676123456 (international)

Thailand VoIP Number Prefixes

VoIP Services:

  • 60: Non-geographic VoIP numbers (9 digits total)
  • 89: Non-geographic VoIP numbers (9 digits total, future implementation)

Example VoIP Number:

  • Domestic format: 060-1234567
  • International format: +66601234567

Source: ITU Operational Bulletin, NBTC Numbering Plan 2024

Thailand's Digital Transformation and the Telecom Sector

Thailand's telecommunications sector drives the country's "Thailand 4.0" initiative, transforming the economy through innovation and technology. The NBTC plays a vital role by fostering advanced infrastructure, streamlining regulations, enhancing cybersecurity, and managing spectrum allocation. These initiatives create a dynamic environment for telecom operators and developers.

Thailand Mobile Number Portability (MNP) System

Thailand implemented its Mobile Number Portability (MNP) system in 2014, allowing users to switch telecom carriers while keeping their numbers. Understanding how Thailand's MNP system works is crucial for accurate carrier identification, routing, and data integrity in telecommunications applications.

Source: Thailand telecommunications regulatory history, NBTC MNP implementation records

Current MNP Features

The MNP system provides:

  • Faster Porting Process: Reduced from 5 days to 24 hours, minimizing user disruption.
  • Digital Verification: Enhanced security through biometric authentication, protecting users from fraud.
  • Automated Systems: Real-time porting status updates, providing transparency and efficiency.
  • Cross-Carrier Integration: Seamless database synchronization, ensuring accurate routing across networks.

Important for Developers: Because of MNP, you cannot reliably determine the current carrier from a mobile number prefix alone. Prefixes indicate the original carrier when the number was issued, not the current carrier. Always query the MNP database for accurate carrier information.

Consumer Benefits

MNP provides consumers with:

  • Increased Market Competition: Carriers offer better services and pricing.
  • Better Service Quality: Users easily switch to providers offering superior network performance.
  • More Competitive Pricing: Competition drives down prices and offers more value.
  • Enhanced Consumer Choice: Users choose the provider that best meets their needs.

Thailand's Major Telecom Operators

Thailand's telecommunications market has three major mobile operators: AIS (Advanced Info Service), TrueMove H, and DTAC. In 2023, TrueMove H and DTAC merged under True Corporation, creating a combined entity with over 52% market share, while AIS maintains approximately 46% of mobile users. Despite the merger, both TrueMove H and DTAC operate separate brands, spectrum holdings, and customer service as of January 2025.

Source: Thailand Telecom Operators Intelligence Report 2024 – 2025

Market Innovations

The market continues to evolve through:

  • 5G Implementation: Expanding coverage in major urban centers, offering faster speeds. A multi-band spectrum auction is scheduled for June 29, 2025, releasing 450 MHz across seven bands including 2100 MHz and 2300 MHz for 5G expansion.
  • Infrastructure Sharing: Cost-effective network deployment, maximizing resource utilization.
  • Digital Services: Enhanced value-added offerings, such as mobile payments and entertainment.
  • IoT Integration: Smart city initiatives and industrial applications, driving new connectivity use cases.

Sources: Thailand telecommunications market reports 2024; NBTC spectrum auction announcements

Thailand Phone Number Implementation Guide

NBTC Regulatory Standards

Follow these NBTC regulatory standards for Thailand phone number handling:

  1. Network Operations Standards: Comply with ITU-T requirements, maintain Quality of Service (QoS) metrics, ensure network reliability, and provide emergency service provisions.
  2. Security Protocols: Implement end-to-end encryption, robust data protection measures, anti-fraud mechanisms, and regular security audits. These protect user data and maintain trust.

Premium Number Management

The NBTC regulates premium number allocation through a tiered system (Platinum, Gold, Silver, Standard) and a transparent auction process. Review these regulations if your application uses premium numbers.

Data Protection Requirements

The NBTC enforces strict data protection regulations. Ensure your application complies with these requirements.

Security Requirements

  • Data Encryption: Implement end-to-end encryption for number storage using industry-standard algorithms like AES-256. Use regular key rotation and secure key management.
  • Access Control: Employ role-based access control (RBAC) and multi-factor authentication for sensitive operations. Maintain detailed audit logs of all access attempts.
  • Compliance Monitoring: Implement automated compliance checking, regular security assessments, and real-time violation alerts.

⚠️ Important: Ensure your implementation aligns with the latest NBTC data protection guidelines, including the 2023 updates on user data handling and storage.

Example Security Configuration

javascript
// Example security configuration
const securityConfig = {
    encryption: {
        algorithm: "AES-256-GCM", // Strong encryption algorithm
        keyRotationPeriod: "30d", // Rotate keys every 30 days
        saltRounds: 12 // Sufficient salt rounds for bcrypt
    },
    audit: {
        logLevel: "INFO", // Log all relevant events
        retentionPeriod: "90d", // Retain logs for 90 days
        alertThreshold: "MEDIUM" // Trigger alerts for medium-severity events
    }
};

Adapt this configuration to your specific needs and verify it meets current NBTC requirements. Always prioritize security when handling user data.

Thailand Phone Number Format Validation

Validate all Thailand phone number input to prevent errors and maintain data integrity.

Input Sanitization

javascript
/**
 * Sanitizes and validates Thai phone numbers.
 * @param {string} number - Raw phone number input.
 * @param {Object} options - Validation options (e.g., allowInternational).
 * @returns {string} Sanitized phone number in [E.164 format](https://www.sent.dm/resources/e164-phone-format) (+66...).
 * @throws {Error} If validation fails.
 */
const sanitizePhoneNumber = (number, options = { allowInternational: true }) => {
    // Remove all non-numeric characters except "+"
    let sanitized = number.replace(/[^\d+]/g, "");

    // Validate basic format
    if (!sanitized) {
        throw new Error("Empty phone number provided.");
    }

    // Handle international format
    if (options.allowInternational && sanitized.startsWith("+66")) {
        // +66 followed by 8 or 9 digits (landline 8, mobile/VoIP 9)
        if (sanitized.length < 11 || sanitized.length > 12) {
            throw new Error("Invalid international phone number length.");
        }
        return sanitized;
    }

    // Handle domestic format (convert to international)
    if (sanitized.startsWith("0")) {
        // 0 followed by 8 or 9 digits (landline 8, mobile/VoIP 9)
        if (sanitized.length < 9 || sanitized.length > 10) {
            throw new Error("Invalid domestic phone number length.");
        }
        sanitized = "+66" + sanitized.slice(1);
        return sanitized;
    }

    throw new Error("Invalid phone number format.");
};


// Test cases
console.log(sanitizePhoneNumber("+66812345678")); // +66812345678 (mobile)
console.log(sanitizePhoneNumber("0812345678")); // +66812345678 (mobile)
console.log(sanitizePhoneNumber("021234567")); // +6621234567 (Bangkok landline)
try {
    console.log(sanitizePhoneNumber("123")); // Throws error: Invalid phone number format.
} catch (e) {
    console.error(e.message);
}

try {
    console.log(sanitizePhoneNumber("+661234567")); // Throws error: Invalid international phone number length.
} catch (e) {
    console.error(e.message);
}

This function removes non-numeric characters and validates length and format. It converts both international and domestic formats to E.164 for consistent processing. Add more test cases to cover edge cases specific to your use case.

Format Patterns

Use regular expressions to validate specific number patterns:

javascript
const THAI_NUMBER_PATTERNS = {
    LANDLINE_BANGKOK: /^0[2]\d{7}$/,      // 02 + 7 digits
    LANDLINE_PROVINCE: /^0[3-57]\d{7}$/,  // 03x – 05x, 07x + 6 digits
    MOBILE: /^0[689]\d{8}$/,              // 06x, 08x, 09x + 7 digits
    VOIP: /^0(60|89)\d{7}$/,              // 060 or 089 + 7 digits
};

These patterns provide granular validation for different number types based on the verified NBTC numbering plan. Use these patterns with the sanitizePhoneNumber function for comprehensive validation.

Note: These patterns reflect the current numbering plan (2020 – 2024+). Update patterns if the 10-digit landline implementation is announced by NBTC.

Thailand MNP System Integration

Integrate with Thailand's Mobile Number Portability (MNP) system to ensure accurate carrier identification and routing.

javascript
class ThaiMNPService {
    constructor(config) {
        this.mnpEndpoint = config.mnpEndpoint;
        this.updateInterval = config.updateInterval || 3600000; // 1 hour
        this.cache = new Map();
    }

    async checkPortabilityStatus(phoneNumber) {
        const sanitized = sanitizePhoneNumber(phoneNumber);

        // Check cache first for performance
        if (this.cache.has(sanitized)) {
            const cached = this.cache.get(sanitized);
            if (Date.now() - cached.timestamp < this.updateInterval) {
                return cached.status;
            }
        }

        // Real-time MNP database check (replace with your actual API call)
        const status = await this.queryMNPDatabase(sanitized);

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

        return status;
    }

    // Placeholder for your actual MNP database query function
    async queryMNPDatabase(phoneNumber) {
        // Replace this with your actual API call to the MNP database
        // Example:
        // const response = await fetch(`${this.mnpEndpoint}?number=${phoneNumber}`);
        // const data = await response.json();
        // return data.status;

        // This example returns a dummy status for demonstration purposes
        return "ACTIVE";
    }
}

This example demonstrates basic MNP integration with caching for performance. Replace the queryMNPDatabase function with your actual MNP database API call. Implement error handling and retry logic for production use.

Best Practices

Follow these practices for robust implementation:

  1. Error Handling: Implement comprehensive error handling and provide meaningful error messages to aid debugging and improve user experience. Log errors for monitoring and analysis.
  2. Performance Optimization: Cache frequently accessed data, implement batch processing for bulk operations, and use connection pooling for database interactions. These optimizations significantly improve application performance.
  3. Testing Strategy: Develop a thorough testing strategy including unit tests for validation logic, integration tests for MNP functionality, and load testing for performance verification. Regular testing maintains system reliability and compliance.

Future Developments in Thailand's Telecom Sector

Thailand's telecommunications sector evolves continuously. The NBTC's short-term goals (2023 – 2024) focus on nationwide 5G coverage, advanced MNP features, enhanced cybersecurity, and expanded IoT infrastructure. Long-term plans (2025 – 2027) include 6G research, smart city integration, and advanced digital services. Monitor these NBTC developments to future-proof your phone number validation systems.

Key Upcoming Changes:

  • 10-Digit Landline Implementation: Timeline postponed from January 1, 2025. Will be implemented within two years when number supply becomes insufficient. NBTC will announce the exact timeframe in advance.
  • 5G Spectrum Auction: June 29, 2025 – Multi-band spectrum auction releasing 450 MHz across seven bands
  • New Mobile Prefixes: Prefixes 4x – 5x, 6x – 6x, 7x – 7x planned for future mobile number expansion (implementation date TBD)

Source: ITU Operational Bulletin, NBTC Communication May 8, 2024; NBTC 2025 spectrum announcements

Frequently Asked Questions (FAQ)

What is the country code for Thailand phone numbers?

The country code for Thailand is +66, assigned under the ITU-T E.164 international numbering standard. When dialing internationally, prefix Thai numbers with +66 and remove the leading 0 from the domestic format. For example, the domestic number 0812345678 becomes +66812345678 internationally.

How many digits are in a Thai phone number?

Thai phone numbers have 8 – 9 digits after the leading 0 (domestic) or +66 (international). Specifically:

  • Landline numbers: 8 digits total (area code + subscriber number)
  • Mobile numbers: 9 digits total (2-digit prefix + 7-digit subscriber number)
  • VoIP numbers: 9 digits total (prefixes 60 or 89)

Source: NBTC Numbering Plan No. 2, effective March 12, 2024

How can I identify which mobile operator a Thai number belongs to?

You cannot reliably determine the current carrier from the prefix alone due to Thailand's Mobile Number Portability (MNP) system implemented in 2014. Prefixes indicate the original carrier when issued, not the current carrier. Always query the MNP database for accurate carrier information. Original prefix allocations: AIS uses various prefixes under MCC 520 MNC 01, TrueMove H uses MCC 520 MNC 25, and DTAC uses MCC 520 MNC 18.

What's the difference between Bangkok and provincial landline numbers?

Bangkok landline numbers (area code 2x) have 7-digit subscriber numbers for a total 8-digit NSN. Provincial landline numbers (area codes 3x, 4x, 5x, 7x) have 6-digit subscriber numbers for a total 8-digit NSN. For example: Bangkok 02-123-4567 vs Phuket 076-12345. Both use the same total NSN length but differ in subscriber number length.

Source: ITU Operational Bulletin, NBTC Numbering Plan 2020 – 2024+

How do I convert Thai phone numbers to E.164 format?

To convert to E.164 format: Remove all non-numeric characters, strip the leading 0 if present, prepend +66, and ensure the result has 11 – 12 total characters (+66 + 8 – 9 digits). For example: "08-1234-5678" becomes "+66812345678" and "02 123 4567" becomes "+6621234567". The complete format is always +66 followed by the NSN.

Which mobile prefixes are active in Thailand?

Active mobile prefixes in Thailand (as of January 2025):

  • 06x series: Mobile services (080 – 088, 090 – 099)
  • 08x series: Mobile services (080 – 088)
  • 09x series: Mobile services (090 – 099)

Note: Prefix 60 within the 06x range is reserved specifically for VoIP services, not mobile. Prefix 89 is also designated for VoIP.

Source: NBTC Numbering Plan, ITU Operational Bulletin May 8, 2024

What is Thailand's MCC and MNC for mobile networks?

Thailand's Mobile Country Code (MCC) is 520 under the E.212 standard. Mobile Network Codes (MNC) are:

  • AIS (Advanced Info Service): MCC 520, MNC 01 (~46% market share)
  • TrueMove H (True Corporation): MCC 520, MNC 25 (~52.77% post-merger)
  • DTAC: MCC 520, MNC 18 (merged with True in 2023)

These codes identify networks in GSM/LTE/5G systems.

Source: MCC-MNC.org; Thailand Telecom Operators Intelligence Report 2024 – 2025

When will Thailand implement 10-digit landline numbers?

The 10-digit landline implementation (9-digit NSN) timeline has been postponed from the original January 1, 2025 date. Under NBTC Numbering Plan No. 2 (effective March 12, 2024), implementation will occur within two years only when number supply becomes insufficient. The NBTC will announce the exact timeframe in advance. Monitor the NBTC portal (nbtc.go.th) for official announcements.

Source: ITU Operational Bulletin, NBTC Communication dated May 8, 2024

How does Thailand's closed dialing plan work?

Thailand uses a closed dialing plan, meaning you must always dial the area code even for local calls within the same area. Unlike open dialing plans where local calls omit the area code, Thai users must dial the full number including the leading 0 (domestic) or +66 (international) for all calls. This simplifies number handling but differs from systems like the US where local calls don't require area codes.

What regex pattern validates Thai phone numbers?

Use these regex patterns for validation:

javascript
// Bangkok landlines: 02 + 7 digits
LANDLINE_BANGKOK: /^0[2]\d{7}$/

// Provincial landlines: 03x-05x, 07x + 6 digits
LANDLINE_PROVINCE: /^0[3-57]\d{7}$/

// Mobile: 06x, 08x, 09x + 7 digits
MOBILE: /^0[689]\d{8}$/

// VoIP: 060 or 089 + 7 digits
VOIP: /^0(60|89)\d{7}$/

These patterns reflect the NBTC numbering plan (2020 – 2024+). Update when the 10-digit landline implementation is announced.


Conclusion

For detailed technical specifications and current regulations, visit the NBTC Official Portal. Contact: numbering@nbtc.go.th for numbering plan inquiries.

Implement Thai phone number handling using the guidelines and best practices in this guide. Prioritize data security, regulatory compliance, and user experience throughout development.

Last Updated: January 5, 2025 Primary Sources: ITU Operational Bulletin (May 8, 2024), NBTC Numbering Plan No. 2 (March 12, 2024), MCC-MNC.org