phone number standards

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

Guatemala Phone Numbers: +502 Format, Validation & Area Code Guide

Explore Guatemala's phone number system: formats, area codes (+502), and validation. Understand landline (2XXXXXXX, 6XXXXXXX, 7XXXXXXX) & mobile (3-5XXXXXXX) patterns. Includes regex validation examples and regulatory insights.

Guatemala Phone Numbers: Format, Area Code & Validation Guide

This guide covers Guatemala's phone number system – formats, validation, portability, and regulatory requirements for developers building telecommunications solutions.

Quick Reference

  • Country: Guatemala
  • Country Code: +502
  • International Prefix: 00
  • National Prefix: None
  • Emergency Numbers: 110 (Police), 122 (Ambulance), 123 (Fire), 128 (IGSS Social Security Ambulance)

What is Guatemala's Phone Number Format?

Guatemala uses the +502 country code and transitioned to an eight-digit closed numbering plan in the mid-1990s. Before this, the system used variable-length numbers (5-7 digits) with geographic area codes.

A closed numbering plan provides:

  • For end users: All phone numbers within Guatemala have exactly 8 digits (excluding the country code). Dial the 8-digit number directly – no area codes or trunk prefixes needed for domestic calls.
  • For developers: Input validation is simplified since all valid domestic numbers conform to the 8-digit format. The first digit indicates the number type, enabling predictable parsing and routing logic.

The Superintendencia de Telecomunicaciones (SIT), Guatemala's telecommunications regulatory body, manages this structure. SIT allocates number ranges and enforces technical standards per ITU-T E.164 guidelines.

Number Structure and Formats

The following diagram illustrates the basic structure of a Guatemalan phone number:

mermaid
graph TD
    A[Guatemala Phone Number] --> B[Country Code +502]
    B --> C[Number Type Prefix]
    C --> D[Subscriber Number (7 digits)]
    C -- 2: Guatemala City --> D
    C -- 3-5: Mobile --> D
    C -- 6: Guatemala Department --> D
    C -- 7: Rural/Rest of Country --> D

Geographic Numbers (Landlines)

Geographic numbers are tied to specific regions within Guatemala. Mobile phones have reduced their prevalence, but businesses and some residential users still use them.

  • Guatemala City Metropolitan Area:
    • Prefix: 2
    • Format: 2XXXXXXX
    • Example: 22345678
  • Guatemala Department:
    • Prefix: 6
    • Format: 6XXXXXXX
    • Example: 67654321
  • Other Departments/Rural Areas:
    • Prefix: 7
    • Format: 7XXXXXXX
    • Example: 73456789

Mobile Numbers (3, 4, 5 Prefixes)

Mobile numbers dominate in Guatemala, accounting for over 80% of all phone numbers. The leading carriers are Claro, Tigo, and Movistar. While carriers receive specific number range allocations, portability allows users to transfer numbers between carriers. Do not rely solely on prefixes for carrier identification.

Initial Prefix Allocations:

  • Claro Guatemala: Primarily 3xxx-xxxx and 5xxx-xxxx ranges
  • Tigo Guatemala: Primarily 4xxx-xxxx ranges
  • Movistar Guatemala: Shares 5xxx-xxxx ranges

Format: [3-5]XXXXXXX

Examples: 31234567 (Claro), 42345678 (Tigo), 53456789 (Movistar/Claro)

Note on Carrier Identification: Mobile number portability (MNP) allows users to switch carriers while retaining their number. A number beginning with "4" may have been assigned to Tigo originally but could now belong to Claro or Movistar. Query the portability database (see Number Portability section) for accurate carrier routing.

MVNOs: Guatemala has limited Mobile Virtual Network Operator (MVNO) activity. Virtual operators lease network capacity from Claro, Tigo, or Movistar and use number ranges allocated to the parent network. MVNO numbers are indistinguishable from host carrier numbers at the prefix level.

Special Service Numbers

  • Emergency Services: Three-digit numbers for critical situations.
    • 110: Police (also 120, though less common)
    • 122: Ambulance
    • 123: Fire Department
    • 128: IGSS (Guatemalan Social Security Institute Ambulance)
  • Toll-Free: 1800XXXXXX (10 digits, including the 1800 prefix). Used for calls to businesses outside Guatemala.
  • Local Toll-Free: 1801XXXXXX (10 digits). For toll-free calls within Guatemala.
  • Premium Rate: 19XXXXXX (8 digits, including the 19 prefix). Used for information services or specialized services with higher call charges. Typical charges range from Q2.00 to Q10.00 per minute (approximately $0.25 – $1.30 USD as of 2024).
  • Short Codes (4-digit): Used for various services, including public information and private company lines (e.g., banks, delivery services). Billed at varying rates.
  • Carrier Services (6-digit): Used for operator assistance, collect calls, and other carrier-specific services. Billed at varying rates.

How to Validate Guatemala Phone Numbers

Number Validation in JavaScript and Python

Use regular expressions for accurate validation. Handle the international prefix (+502) and common formatting characters (spaces, dashes, parentheses).

javascript
function validateGuatemalaNumber(number) {
  // Remove international prefix, country code, and common formatting characters
  let cleanNumber = number.replace(/^\+502|^502|^00502/, '');
  cleanNumber = cleanNumber.replace(/[\s\-\(\)\.]/g, '');

  // Remove any leading zeros
  cleanNumber = cleanNumber.replace(/^0+/, '');

  const patterns = {
    geographic: /^[267]\d{7}$/,
    mobile: /^[3-5]\d{7}$/,
    tollFree: /^180[01]\d{6}$/,
    premium: /^19\d{6}$/,
    emergency: /^(110|120|122|123|128)$/,
    shortCode: /^\d{4}$/, // Basic 4-digit validation
    carrierService: /^\d{6}$/ // Basic 6-digit validation
  };

  const result = Object.entries(patterns).find(([type, pattern]) => pattern.test(cleanNumber));

  if (!result) {
    return { valid: false, error: 'Invalid Guatemala phone number format' };
  }

  return {
    valid: true,
    type: result[0],
    cleanNumber: cleanNumber,
    e164: `+502${cleanNumber}`
  };
}

// Example usage:
console.log(validateGuatemalaNumber('+502 2234-5678'));
// Returns {valid: true, type: "geographic", cleanNumber: "22345678", e164: "+50222345678"}

console.log(validateGuatemalaNumber('(502) 4123-4567'));
// Returns {valid: true, type: "mobile", cleanNumber: "41234567", e164: "+50241234567"}

console.log(validateGuatemalaNumber('1800-123-456'));
// Returns {valid: true, type: "tollFree", cleanNumber: "1800123456", e164: "+5021800123456"}

console.log(validateGuatemalaNumber('110'));
// Returns {valid: true, type: "emergency", cleanNumber: "110", e164: "+502110"}

console.log(validateGuatemalaNumber('invalid'));
// Returns {valid: false, error: "Invalid Guatemala phone number format"}

Python Example:

python
import re

def validate_guatemala_number(number: str) -> dict:
    """Validate Guatemala phone number with comprehensive format handling."""
    # Remove international prefix and common formatting
    clean = re.sub(r'^\+502|^502|^00502', '', number)
    clean = re.sub(r'[\s\-\(\)\.]', '', clean)
    clean = re.sub(r'^0+', '', clean)

    patterns = {
        'geographic': r'^[267]\d{7}$',
        'mobile': r'^[3-5]\d{7}$',
        'tollFree': r'^180[01]\d{6}$',
        'premium': r'^19\d{6}$',
        'emergency': r'^(110|120|122|123|128)$',
        'shortCode': r'^\d{4}$',
        'carrierService': r'^\d{6}$'
    }

    for num_type, pattern in patterns.items():
        if re.match(pattern, clean):
            return {
                'valid': True,
                'type': num_type,
                'cleanNumber': clean,
                'e164': f'+502{clean}'
            }

    return {'valid': False, 'error': 'Invalid Guatemala phone number format'}

Guatemala Number Portability (MNP)

Number portability allows users to switch carriers while keeping their existing number. Since Guatemala's mobile number portability (MNP) system launched, users can freely move between Claro, Tigo, and Movistar. Implement this carefully:

Portability Database Providers:

Guatemala's number portability is managed through a centralized database operated by SIT. Third-party providers offering portability lookup APIs include:

  • LSMS (Local Service Management System): The official SIT-mandated portability database. Access requires regulatory approval and a service agreement.
  • Carrier APIs: Claro, Tigo, and Movistar each provide portability lookup endpoints for authorized partners. Contact carrier wholesale departments for API access.
  • HLR Lookup Services: International providers like HLRLookupAPI and Twilio Lookup API offer Guatemala portability checks via Home Location Register queries.

Implementation Steps:

  1. Database Integration: Integrate with a portability lookup service. SIT mandates a maximum 24-hour porting window, so cache portability data for no more than 12 hours to ensure accuracy.

  2. Routing Protocol: Query the portability database before routing calls or SMS to ensure delivery to the correct carrier.

    Incoming Request → Normalize Number → Query Portability DB → Route to Current Carrier
  3. Error Handling: Implement robust error handling for:

    • Invalid number formats (return validation error)
    • Portability query failures (fallback to original prefix-based routing with warning flag)
    • Timeout conditions (default timeout: 3 seconds, then fallback)
    • Rate limiting (implement exponential backoff for API calls)

Code Example:

javascript
async function getCarrierInfo(phoneNumber) {
  const validation = validateGuatemalaNumber(phoneNumber);

  if (!validation.valid || validation.type !== 'mobile') {
    throw new Error('Invalid mobile number');
  }

  try {
    // Query portability database (example using hypothetical API)
    const response = await fetch(`https://api.portability.sit.gob.gt/lookup`, {
      method: 'POST',
      headers: { 'Authorization': `Bearer ${API_KEY}` },
      body: JSON.stringify({ msisdn: validation.e164 }),
      timeout: 3000
    });

    const data = await response.json();

    return {
      number: validation.e164,
      currentCarrier: data.carrier,
      originalCarrier: data.originalCarrier,
      portedDate: data.portedDate,
      confidence: 'high'
    };

  } catch (error) {
    // Fallback to prefix-based estimation
    const prefix = validation.cleanNumber.charAt(0);
    const estimatedCarrier = prefix === '3' ? 'Claro' :
                             prefix === '4' ? 'Tigo' : 'Movistar/Claro';

    return {
      number: validation.e164,
      currentCarrier: estimatedCarrier,
      confidence: 'low',
      note: 'Portability lookup failed, using prefix estimation'
    };
  }
}

Regulatory Compliance (SIT)

SIT regulates all telecommunications activities in Guatemala. Key compliance aspects include:

Number Allocation Process

Application Requirements:

  1. Legal entity registration in Guatemala (Registro Mercantil documentation)
  2. Technical documentation package:
    • Network topology diagram
    • Interconnection agreements with existing carriers
    • Quality of Service (QoS) compliance plan
    • Emergency services routing plan (110, 122, 123, 128)
  3. Financial capacity demonstration (bank guarantees or capital proof)
  4. Spectrum license (if operating own infrastructure)

Timeline: Number allocation approval typically takes 45-90 business days from complete application submission. Expedited processing (30 days) is available for established carriers requesting additional range allocations.

Application Process:

  1. Submit initial application via SIT's online portal
  2. Technical review and site inspection (if applicable)
  3. Public comment period (15 days)
  4. Final approval and number range assignment

Network Operation Requirements

Configure your infrastructure, implement monitoring systems, and establish reporting mechanisms according to SIT regulations:

  • Interconnection: Mandatory interconnection with all licensed carriers within 90 days of license activation
  • Emergency Services: 99.9% uptime requirement for emergency number routing (110, 122, 123, 128)
  • Network Monitoring: Real-time monitoring with 24/7 NOC (Network Operations Center)

Ongoing Reporting Requirements

Monthly Reports (due by 10th of following month):

  • Total minutes originated and terminated
  • SMS/MMS message volumes
  • Number portability requests processed
  • Customer complaint statistics

Quarterly QoS Metrics:

  • Call Setup Success Rate (CSSR): minimum 98%
  • Call Drop Rate: maximum 2%
  • Network Availability: minimum 99.5%
  • SMS Delivery Rate: minimum 95% within 10 seconds

Annual Filings:

  • Financial statements
  • Network expansion plans
  • Customer satisfaction survey results
  • Spectrum utilization reports (if applicable)

Failure to meet reporting deadlines may result in fines of Q10,000-Q50,000 (approximately $1,300-$6,500 USD) per violation.

Penalties and Enforcement

Non-compliance leads to penalties or license suspension. Recent enforcement actions (2023-2024) include:

  • Fines of Q50,000-Q500,000 for repeated QoS violations
  • 30-day operating suspensions for failure to route emergency calls
  • License revocation for fraud or unauthorized number range usage

Refer to the official SIT website for the latest regulations and consult with local legal counsel for compliance guidance.

Best Practices for Developers

  • Number Storage: Store numbers in E.164 format (+502XXXXXXXX). This international standard ensures consistent formatting and simplifies international calling. For more details on E.164 formatting standards, see our complete E.164 phone format guide. Include carrier metadata if needed, but portability can make this information unreliable over time.

  • Integration Testing: Test your implementation thoroughly, including:

    • Input validation with various formats (international, national, formatted with spaces/dashes)
    • Number type checking (mobile, geographic, special services)
    • Carrier identification with portability scenarios
    • Edge cases: numbers at range boundaries, newly allocated prefixes, ported numbers

    Test Case Examples:

    javascript
    const testCases = [
      { input: '+50231234567', expected: { valid: true, type: 'mobile' } },
      { input: '502-2234-5678', expected: { valid: true, type: 'geographic' } },
      { input: '(502) 4123 4567', expected: { valid: true, type: 'mobile' } },
      { input: '110', expected: { valid: true, type: 'emergency' } },
      { input: '1800123456', expected: { valid: true, type: 'tollFree' } },
      { input: '19123456', expected: { valid: true, type: 'premium' } },
      { input: '12345', expected: { valid: false } },
      { input: '+50312345678', expected: { valid: false } } // Wrong country code
    ];
  • Error Handling: Implement graceful fallbacks for various error conditions:

    • Invalid Format (4xx errors): Return clear validation messages: "Phone number must be 8 digits" or "Invalid Guatemala country code"
    • Portability Lookup Failures (5xx errors): Log the failure, use prefix-based routing as fallback, flag the transaction for manual review
    • Rate Limiting (429 errors): Implement exponential backoff with jitter (initial delay: 1s, max: 32s)
    • Timeout Conditions: Set appropriate timeouts (validation: 100ms, portability lookup: 3s, call routing: 5s)
  • Logging: Maintain audit logs including:

    • Validation failures with input samples (sanitized)
    • Portability lookup success/failure rates
    • Carrier routing decisions
    • Error conditions and fallback activations

Guatemala Mobile Network Coverage

Guatemala's network infrastructure is primarily GSM/UMTS based, with expanding 4G LTE coverage and initial 5G rollout in major cities.

Frequency Bands by Technology:

TechnologyFrequency BandsPrimary Carriers
2G (GSM/EDGE)850 MHz, 1900 MHzClaro, Tigo, Movistar
3G (UMTS/HSPA+)850 MHz, 1900 MHzClaro, Tigo, Movistar
4G (LTE)Band 2 (1900 MHz), Band 4 (AWS 1700/2100 MHz), Band 28 (700 MHz)Claro, Tigo, Movistar
5GBand n78 (3.5 GHz) - limited deploymentClaro (Guatemala City only, as of 2024)

Coverage Statistics (2024):

  • Population Coverage: 95% (2G/3G), 85% (4G LTE), <5% (5G)
  • Geographic Coverage: 70% (2G/3G), 50% (4G LTE), <2% (5G)
  • Urban areas (Guatemala City, Antigua, Quetzaltenango): Near-universal 4G coverage
  • Rural/mountain regions: Primarily 2G/3G, limited 4G

Performance Metrics:

  • Urban download speeds: 25-45 Mbps (4G LTE), 100-200 Mbps (5G where available)
  • Rural download speeds: 10-20 Mbps (4G LTE), 1-5 Mbps (3G)
  • Urban latency: 20-35ms (4G), 15-25ms (5G)
  • Rural latency: 35-50ms (4G), 80-150ms (3G)

These metrics are subject to change as network infrastructure evolves. Source: Opensignal Guatemala Mobile Network Experience Report 2024.

SMS and MMS Capabilities

SMS Technical Specifications:

  • Character Encoding: GSM 7-bit default alphabet (160 characters/message) and UCS-2/UTF-16 for Unicode (70 characters/message)
  • Concatenated SMS: Supported up to 10 segments (1,530 GSM-7 characters or 670 Unicode characters)
  • Delivery Reports: Available via SMSC (Short Message Service Center) status codes
  • Flash SMS: Supported (Class 0 messages, displayed immediately)

Character Set Considerations:

  • Spanish characters (á, é, í, ó, ú, ñ, ü, ¡, ¿) are included in the GSM 7-bit extended table
  • Extended characters (|, ^, €, {, }, [, ], ~, \) each count as 2 characters in GSM-7 encoding
  • Q (Quetzal symbol) requires Unicode encoding, reducing message length to 70 characters

MMS Specifications:

  • Maximum Size: 300 KB – 600 KB depending on carrier
    • Claro: 600 KB
    • Tigo: 500 KB
    • Movistar: 300 KB
  • Supported Formats: JPEG, PNG, GIF (images); MP3, AMR (audio); 3GP, MP4 (video up to 30 seconds); vCard, vCalendar
  • Resolution Recommendations: 640x480 px for maximum compatibility

Best Practices for SMS/MMS:

  1. Encoding Detection: Automatically detect if message contains non-GSM-7 characters and switch to UCS-2
  2. Segmentation: Split long messages properly, accounting for UDH (User Data Header) overhead in concatenated messages
  3. Delivery Confirmation: Implement retry logic for failed deliveries (3 retries with exponential backoff)
  4. MMS Fallback: If MMS fails, send SMS with link to hosted content
  5. Testing: Test with all three carriers as MMS handling varies by network

Example Implementation:

python
def calculate_sms_segments(message: str) -> dict:
    """Calculate SMS segments accounting for GSM-7 and Unicode encoding."""
    gsm_basic = set("@£$¥èéùìòÇØøÅåΔ_ΦΓΛΩΠΨΣΘΞÆæßÉ !\"#¤%&'()*+,-./0123456789:;<=>?¡ABCDEFGHIJKLMNOPQRSTUVWXYZÄÖÑܧ¿abcdefghijklmnopqrstuvwxyzäöñüà")
    gsm_extended = set("|^€{}[~]\\")

    char_count = 0
    needs_unicode = False

    for char in message:
        if char not in gsm_basic and char not in gsm_extended:
            needs_unicode = True
            break
        char_count += 2 if char in gsm_extended else 1

    if needs_unicode:
        length = len(message)
        segments = (length + 69) // 70  # 70 chars per segment for Unicode
        return {'encoding': 'UCS-2', 'segments': segments, 'chars_per_segment': 70}
    else:
        segments = (char_count + 159) // 160  # 160 chars per segment for GSM-7
        return {'encoding': 'GSM-7', 'segments': segments, 'chars_per_segment': 160}

Conclusion

Guatemala's telecommunications system provides a well-structured, regulated environment for developers building voice and messaging solutions. Key takeaways:

  • Validate and store numbers in E.164 format (+502XXXXXXXX)
  • Implement portability database lookups for accurate carrier routing
  • Handle various input formats (spaces, dashes, parentheses) gracefully
  • Test thoroughly across all three major carriers (Claro, Tigo, Movistar)
  • Stay current with SIT regulations via https://www.sit.gob.gt
  • Account for SMS/MMS encoding differences and carrier-specific limitations

For questions or support, consult the SIT regulations portal or contact carriers directly for technical integration assistance.