sms compliance

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

Togo Phone Numbers: +228 Country Code Format & Validation Guide

Complete guide to Togo phone number formats, country code +228, validation patterns, mobile operators, number portability (May 2024), and telecommunications regulations.

Togo Phone Numbers: Complete Format & Validation Guide 2025

Build applications that handle Togolese phone numbers correctly. This guide provides validated number formats, operator prefixes, dialing procedures, number portability details (launched May 2024), and working code examples for the +228 country code.

Master Togo's 8-digit numbering system regulated by ARCEP (Autorité de Régulation des Communications Électroniques et des Postes). You'll find authoritative technical specifications and best practices for implementing phone validation, building telecommunications software, and managing international communications.

Quick Reference: Key Details at a Glance

Essential Information:

  • Country: Togo 🇹🇬
  • Country Code: +228
  • NSN Length: 8 digits (National Significant Number)
  • International Prefix: 00
  • National Prefix: None (direct dialing)
  • Number Portability: ✅ Active since May 9, 2024
  • Regulator: ARCEP (Autorité de Régulation des Communications Électroniques et des Postes)
  • Emergency Numbers: 117 (Gendarmerie), 118 (Fire), 112 (General Emergency)

Typical SMS/API Costs (International Providers):

  • Outbound SMS: $0.05–0.44 USD per message segment (varies by provider)
  • Inbound SMS: Provider-dependent, typically lower than outbound
  • Phone number rental: Starting at $1.15/month for international numbers
  • Note: Prices vary significantly by provider (Twilio, Plivo, etc.), volume commitments, and carrier fees. Local operator retail pricing differs from API costs.

Sources: Twilio SMS Pricing, BudgetSMS Togo rates, multiple SMS gateway providers, January 2025.

Understanding Togo's Telecommunications Landscape

Togo's telecommunications infrastructure adheres to the ITU-T E.164 international standard, as documented in ITU Communication dated January 11, 2021. This standard ensures global interoperability and provides a robust framework for national and international communication.

Key Regulatory Update (2024): ARCEP conducted two national mobile network quality campaigns in 2024, measuring service quality for Togocel (TGC) and Moov Africa Togo (MAT). Results showed national compliance rates of 70.68% for TGC and 44.61% for MAT as of August 2024.

Market Context:

MetricDetails
Major OperatorsTogocel, Moov Africa Togo
Network Quality (Aug 2024)Togocel 70.68% compliant, Moov 44.61% compliant
Customer SatisfactionImproved from 44% (2023) to 51% (2024)
4G/LTE CoverageAvailable in major urban centers, expanding to rural areas

The Core Number Structure: A Consistent Foundation

Every phone number in Togo follows a predictable and standardized format with exactly 8 digits:

+228 XX XX XX XX

Where:

  • +228 is the country code assigned by ITU-T, signifying Togo
  • XX XX XX XX represents the 8-digit subscriber number, unique to each user

ITU-T E.164 Compliance: Togo's numbering plan specifies a fixed NSN length of 8 digits (minimum and maximum), ensuring consistent formatting across all number types.

Deep Dive into Number Formats and Specifications

📞 Landline Numbers: Regional Area Codes (2X Series)

Landline numbers in Togo use geographic area codes that identify specific regions. All landline numbers start with '2' followed by a regional identifier:

Format: 2[2-7]XXXXXX

Regional Area Code Breakdown:

Area CodeRegionExampleKey Cities
22Lomé (capital)22234567Lomé, Aného
23Maritime region23345678Tsévié, Tabligbo
24Plateaux region24456789Atakpamé, Kpalimé
25Central region25567890Sokodé, Tchamba
26Kara region26678901Kara, Bassar
27Savannah region27789012Dapaong, Mango

Source: Wikipedia - Telephone numbers in Togo, verified against ITU-T E.164 documentation.

📱 Mobile Numbers: Operator-Specific Prefixes (7X and 9X Series)

Mobile numbers utilize specific prefixes assigned to the two major operators. Important: Due to number portability (launched May 9, 2024), prefixes no longer guarantee current operator affiliation.

Format: 7[0-39]XXXXXX | 9[0-39]XXXXXX

Operator Prefix Allocation:

OperatorPrefixesNetwork TypeMarket Position
Togocel70, 71, 72, 73, 90, 91, 92, 93GSM 4G/LTELeading operator
Moov Togo78, 79, 96, 97, 98, 99GSM 4G/LTEMajor competitor

Reserved/Unused Prefixes: 74, 75, 76, 77 are not currently allocated to any operator.

Source: Wikipedia - Telephone numbers in Togo, verified May 2024.

Number Portability Impact: Since May 9, 2024, subscribers can switch operators while retaining their original number. Prefix-based operator identification may no longer be accurate. Implement operator lookup APIs or databases for current assignments.

🚨 Emergency and Special Service Numbers

Emergency services use short codes for quick access:

Format: XXX or XXXX

Official Emergency Numbers:

NumberServiceDetails
117National Gendarmerie (Police)Also: 22 22 21 39
118Fire DepartmentAlso: 22 21 67 06
112General EmergencyPan-European emergency number
1011Customer ServiceExample shortcode

Emergency Number Accessibility: Emergency numbers 112, 117, and 118 work from any mobile phone, including devices without SIM cards or prepaid credit. The pan-European 112 standard is designed to connect even when your operator has no coverage by routing through any available network. This follows GSM standards adopted across most countries globally.

Sources: U.S. State Department travel documentation, Government.nl - 112 Emergency Calls, GSM emergency call standards.

How to Validate Togo Phone Numbers: Regex Patterns & Code Examples

Implement these regex patterns for accurate validation. Note: Post-portability validation focuses on format rather than operator identification.

javascript
// Pre-portability validation (historical accuracy)
const togoPhoneLegacy = /^(2[2-7]\d{6}|7[0-39]\d{6}|9[0-39]\d{6})$/;

// Post-portability validation (May 2024+) - recommended
const togoPhoneRegex = /^(2[2-7]|7[0-39]|9[0-39])\d{6}$/;

// Complete validation with emergency numbers
const togoAllNumbers = /^(2[2-7]\d{6}|7[0-39]\d{6}|9[0-39]\d{6}|11[278]|1011)$/;

// Usage example with cleanup
function validateTogoPhone(phoneNumber) {
  // Remove spaces, dashes, and country code
  const cleaned = phoneNumber.replace(/[\s\-\+]/g, '').replace(/^228/, '');
  return togoPhoneRegex.test(cleaned);
}

// Test cases
console.log(validateTogoPhone('22234567'));    // true (Lomé landline)
console.log(validateTogoPhone('70123456'));    // true (Togocel mobile)
console.log(validateTogoPhone('99876543'));    // true (Moov mobile)
console.log(validateTogoPhone('74123456'));    // false (unused prefix)
console.log(validateTogoPhone('+228 90 12 34 56')); // true (with country code)

Validation Examples in Other Languages:

python
# Python validation
import re

def validate_togo_phone(phone_number):
    """Validate Togo phone number format."""
    # Remove non-digit characters and country code
    cleaned = re.sub(r'[\s\-\+]', '', phone_number)
    cleaned = re.sub(r'^228', '', cleaned)

    # Validate format
    pattern = r'^(2[2-7]|7[0-39]|9[0-39])\d{6}$'
    return bool(re.match(pattern, cleaned))

# Test cases
print(validate_togo_phone('22234567'))      # True
print(validate_togo_phone('+228 70 12 34 56'))  # True
print(validate_togo_phone('74123456'))      # False
php
// PHP validation
function validateTogoPhone($phoneNumber) {
    // Remove spaces, dashes, plus signs, and country code
    $cleaned = preg_replace('/[\s\-\+]/', '', $phoneNumber);
    $cleaned = preg_replace('/^228/', '', $cleaned);

    // Validate format
    return preg_match('/^(2[2-7]|7[0-39]|9[0-39])\d{6}$/', $cleaned) === 1;
}

// Test cases
var_dump(validateTogoPhone('22234567'));           // true
var_dump(validateTogoPhone('+228 90 12 34 56'));   // true
var_dump(validateTogoPhone('74123456'));           // false
java
// Java validation
import java.util.regex.Pattern;
import java.util.regex.Matcher;

public class TogoPhoneValidator {
    private static final Pattern TOGO_PHONE_PATTERN =
        Pattern.compile("^(2[2-7]|7[0-39]|9[0-39])\\d{6}$");

    public static boolean validateTogoPhone(String phoneNumber) {
        // Remove spaces, dashes, plus signs, and country code
        String cleaned = phoneNumber.replaceAll("[\\s\\-\\+]", "")
                                    .replaceFirst("^228", "");

        Matcher matcher = TOGO_PHONE_PATTERN.matcher(cleaned);
        return matcher.matches();
    }

    // Test cases
    public static void main(String[] args) {
        System.out.println(validateTogoPhone("22234567"));        // true
        System.out.println(validateTogoPhone("+228 90 12 34 56")); // true
        System.out.println(validateTogoPhone("74123456"));        // false
    }
}

Operator Identification Post-Portability:

javascript
// Note: Prefix-based identification is unreliable post-May 2024
function getOriginalOperator(number) {
  const cleaned = number.replace(/\D/g, '').replace(/^228/, '');
  const prefix = cleaned.substring(0, 2);

  const togocelPrefixes = ['70', '71', '72', '73', '90', '91', '92', '93'];
  const moovPrefixes = ['78', '79', '96', '97', '98', '99'];

  if (togocelPrefixes.includes(prefix)) {
    return 'Togocel (original allocation - may have ported)';
  } else if (moovPrefixes.includes(prefix)) {
    return 'Moov Togo (original allocation - may have ported)';
  }
  return 'Unknown or landline';
}

// For accurate current operator, use ARCEP's portability database API

ARCEP Portability Database Access: As of January 2025, ARCEP has not publicly documented a developer API for querying the portability database. Developers requiring real-time operator identification should contact ARCEP directly at their e-services platform (e-services.arcep.tg) or via their official contact channels to inquire about database access, API availability, or bulk data provisions for commercial telecommunications applications.

Source: Togo First - ARCEP E-Services Platform Launch, August 2024.

E.164 Formatting: Convert Togo Numbers to International Format

Always store and transmit phone numbers in the international E.164 format. This ensures consistency and compatibility across different systems.

javascript
function formatToE164(phoneNumber) {
  // Remove all non-digit characters
  const cleaned = phoneNumber.replace(/\D/g, '');

  // Add country code if not present
  if (cleaned.startsWith('228')) {
    return '+' + cleaned;
  }

  // Validate 8-digit format
  if (cleaned.length === 8) {
    return '+228' + cleaned;
  }

  throw new Error('Invalid Togo phone number format');
}

// Examples
console.log(formatToE164('22234567'));      // +22822234567
console.log(formatToE164('228 70 12 34 56')); // +22870123456
console.log(formatToE164('+228 90 98 76 54')); // +22890987654

Database Storage Recommendations:

DatabaseData TypeExample SchemaIndex Strategy
PostgreSQLVARCHAR(13)phone_number VARCHAR(13) NOT NULLCREATE INDEX idx_phone ON users(phone_number);
MySQLVARCHAR(13)phone_number VARCHAR(13) NOT NULLCREATE INDEX idx_phone ON users(phone_number);
MongoDBStringphoneNumber: { type: String, required: true }db.users.createIndex({ phoneNumber: 1 })

Sample Query Examples:

sql
-- PostgreSQL/MySQL: Find user by phone number
SELECT * FROM users WHERE phone_number = '+22870123456';

-- PostgreSQL: Find all Togo numbers
SELECT * FROM users WHERE phone_number LIKE '+228%';
javascript
// MongoDB: Find user by phone number
db.users.findOne({ phoneNumber: '+22870123456' });

// MongoDB: Find all Togo numbers
db.users.find({ phoneNumber: /^\+228/ });

Best Practices for Togo Phone Number Implementation

1. Number Storage:

  • ✅ Always store in E.164 format with '+' prefix
  • ✅ Use VARCHAR(13) for Togo numbers (+228 + 8 digits)
  • ✅ Create database indexes on phone number columns for performance
  • ❌ Don't store with inconsistent formatting (spaces, dashes, parentheses)

2. Input Validation:

  • ✅ Strip all whitespace and special characters before validation
  • ✅ Verify 8-digit length after removing country code
  • ✅ Check prefix against current allocation (2[2-7], 7[0-39], 9[0-39])
  • ✅ Handle emergency numbers separately (117, 118, 112)
  • ❌ Don't rely solely on prefix for operator identification post-May 2024

3. Display Formatting:

  • ✅ Use spaces for readability: +228 XX XX XX XX
  • ✅ Consider local vs. international display contexts
  • ✅ Implement click-to-call formatting for mobile devices
  • ❌ Don't display raw E.164 format to end users

Click-to-Call Implementation:

html
<!-- HTML: Basic click-to-call link -->
<a href="tel:+22870123456">+228 70 12 34 56</a>

<!-- HTML: With descriptive text -->
<a href="tel:+22870123456" class="phone-link">
  Call +228 70 12 34 56
</a>

<!-- CSS: Style the phone link -->
<style>
.phone-link {
  color: #007bff;
  text-decoration: none;
  font-weight: 500;
}
.phone-link:hover {
  text-decoration: underline;
}
</style>
javascript
// JavaScript: Programmatic click-to-call
function initiateCall(phoneNumber) {
  // Ensure E.164 format
  const e164 = formatToE164(phoneNumber);
  window.location.href = `tel:${e164}`;
}

// React: Click-to-call component
function PhoneLink({ number, displayText }) {
  const e164 = formatToE164(number);
  return (
    <a href={`tel:${e164}`} className="phone-link">
      {displayText || number}
    </a>
  );
}

4. Number Portability Considerations:

  • ✅ Assume any mobile number may have ported since May 9, 2024
  • ✅ Use ARCEP's official portability database for current operator lookup
  • ✅ Cache operator lookups with reasonable TTL (24-48 hours)
  • ❌ Don't hardcode operator routing based on prefix alone

Regulatory Compliance: ARCEP Rules & Data Protection Laws

The Autorité de Régulation des Communications Électroniques et des Postes (ARCEP) governs Togo's telecommunications sector. Official website: https://arcep.tg/

ARCEP Responsibilities

  • Number allocation and management: Assigns and manages all telephone number ranges
  • Quality of service monitoring: Conducts biannual network quality assessments
  • Number portability oversight: Manages the portability database and regulations
  • Consumer protection: Handles complaints and enforces service standards
  • Licensing and compliance: Issues operator licenses and ensures regulatory adherence

Data Protection and Privacy

Law No. 2019-014 Relating to the Protection of Personal Data (adopted October 29, 2019) regulates the collection, processing, transmission, storage, and use of personal data in Togo. This GDPR-inspired legislation applies to telecommunications providers and applications handling Togolese phone numbers.

Key Requirements:

  • Consent and legitimacy: Processing phone numbers requires data subject consent or legal basis
  • Purpose limitation: Data collected for specific purposes cannot be repurposed without consent
  • Data retention: Phone numbers must be deleted when no longer necessary for original purpose
  • Security and confidentiality: Implement appropriate technical and organizational measures
  • Data subject rights: Users have rights to access, rectify, delete, and object to processing
  • Cross-border transfers: Transfers to third countries require adequate protection levels
  • Breach notification: While the law does not mandate specific breach notification timelines, data controllers must inform the Instance de Protection des Données à Caractère Personnel (IPDCP)

Data Protection Authority: The law established the IPDCP (Instance de Protection des Données à Caractère Personnel), though as of January 2025 it has not yet been formally constituted. Once operational, the IPDCP will have authority to impose fines ranging from XOF 1 million ($1,749 USD) to XOF 25 million ($43,860 USD) and imprisonment from 1 to 5 years for violations.

Sources:

Key Regulations and Standards

National Numbering Plan:

  • ITU-T E.164 compliance mandatory
  • 8-digit NSN (National Significant Number) enforced
  • Geographic area codes (22-27) for landlines
  • Mobile prefixes allocated by operator

Number Portability Regulations:

  • Launched: May 9, 2024
  • Enabling regulation: Adopted July 2022, government-approved August 2022
  • Consumer survey: 95% of Togolese consumers favored portability (October 2021)
  • Technical implementation: Began April 2023

Porting Process Details: While specific consumer-facing porting procedures (timeline, costs, required documentation) have not been publicly detailed by ARCEP as of January 2025, number portability typically requires: (1) initiating a porting request with the new operator, (2) providing proof of identity and account ownership, (3) ensuring no outstanding debts with current operator. Standard porting timelines in West African markets range from 3-10 business days. Contact Togocel or Moov Togo directly for current porting procedures, fees, and turnaround times.

Source: African Wireless Communications - Togo MNP Launch, comparison with regional MNP implementations.

2024 Quality of Service Standards:

  • Decree N°005/MENTD/CAB of August 12, 2022 defines quality indicators
  • ARCEP conducts two annual network quality campaigns
  • Operators must meet regulatory compliance thresholds or face penalties
  • Most recent assessment (July-August 2024): TGC 70.68% compliant, MAT 44.61% compliant

Sources:

SMS Marketing and Anti-Spam Compliance

Togo-Specific SMS Regulations: As of January 2025, Togo has not enacted comprehensive SMS marketing or anti-spam legislation comparable to the U.S. TCPA or EU ePrivacy Directive. However, general data protection principles under Law No. 2019-014 apply to commercial SMS:

  • Consent required: Obtain explicit consent before sending marketing messages
  • Opt-out mechanism: Provide clear opt-out instructions in every commercial message
  • Purpose limitation: Use phone numbers only for stated purposes
  • Data security: Protect subscriber lists from unauthorized access

Best Practices for SMS Compliance:

  • Implement double opt-in for marketing campaigns
  • Maintain detailed consent records with timestamps
  • Honor opt-out requests immediately (within 24 hours maximum)
  • Avoid excessive message frequency
  • Clearly identify sender in message content
  • Include customer service contact information

International Standards: If your SMS application serves international users or uses international SMS gateways, consider compliance with TCPA (USA), GDPR/ePrivacy (EU), and CASL (Canada) for comprehensive protection.

Note: Regulatory frameworks evolve. Monitor ARCEP announcements for potential SMS-specific regulations.

Compliance Checklist for Developers

  • ✅ Store numbers in ITU-T E.164 format
  • ✅ Validate against current numbering plan patterns
  • ✅ Handle emergency numbers (117, 118, 112) appropriately
  • ✅ Respect number portability (don't assume operator from prefix)
  • ✅ Implement proper international dialing formats
  • ✅ Stay updated on ARCEP number allocation changes
  • ✅ Obtain consent before processing phone numbers (Law No. 2019-014)
  • ✅ Implement data retention and deletion policies
  • ✅ Provide users with access, rectification, and deletion rights
  • ✅ Secure phone number data with appropriate technical measures
  • ✅ Obtain explicit consent before sending marketing SMS
  • ✅ Provide opt-out mechanisms in all commercial messages

Troubleshooting Common Issues: Practical Solutions for Developers

1. Invalid Number Format

Problem: Number validation fails unexpectedly

Solutions:

  • Verify the prefix: Check against current allocations (2[2-7], 7[0-39], 9[0-39])
  • Confirm 8-digit length: Togo uses exactly 8 digits (excluding country code +228)
  • Check for reserved prefixes: 74, 75, 76, 77 are not allocated
  • Strip formatting: Remove all spaces, dashes, parentheses before validation

Debug helper:

javascript
function debugTogoNumber(number) {
  const original = number;
  const cleaned = number.replace(/\D/g, '').replace(/^228/, '');
  const prefix = cleaned.substring(0, 2);

  console.log('Original:', original);
  console.log('Cleaned:', cleaned);
  console.log('Length:', cleaned.length);
  console.log('Prefix:', prefix);
  console.log('Is 8 digits?', cleaned.length === 8);
  console.log('Valid prefix?', /^(2[2-7]|7[0-39]|9[0-39])/.test(cleaned));
}

Common User Input Errors:

Error TypeExampleCorrect FormatSolution
Leading zeros07012345670123456Strip leading zeros beyond country code
Country code confusion+229 70123456 (Benin)+228 70123456Validate country code is +228
Spacing variations+228 7012 3456+228 70 12 34 56Normalize to standard spacing
Missing digits7012345 (7 digits)70123456 (8 digits)Reject and prompt for complete number

Handling Strategy: Normalize inputs by stripping all non-digits, then validate length and prefix patterns.

2. Operator Identification Post-Portability

Problem: Prefix-based operator detection is unreliable after May 2024

Solutions:

  • Use ARCEP's portability database: Contact ARCEP for API access or database integration
  • Implement caching: Cache operator lookups with 24-48 hour TTL
  • Display original allocation with disclaimer: "Originally allocated to Togocel (may have ported)"
  • Avoid hard assumptions: Don't route calls or SMS based solely on prefix

Implementation example:

javascript
async function getCurrentOperator(phoneNumber) {
  // Check cache first
  const cached = await operatorCache.get(phoneNumber);
  if (cached && !cached.isExpired()) {
    return cached.operator;
  }

  // Query ARCEP portability database (contact ARCEP for actual endpoint)
  try {
    // Note: This endpoint is illustrative - contact ARCEP at e-services.arcep.tg
    const response = await fetch(`https://e-services.arcep.tg/api/portability/${phoneNumber}`);
    const data = await response.json();

    // Cache for 24 hours
    await operatorCache.set(phoneNumber, data.operator, 86400);
    return data.operator;
  } catch (error) {
    // Fallback to prefix-based guess with disclaimer
    return getOriginalOperator(phoneNumber);
  }
}

Note on API Access: The endpoint shown above is illustrative. ARCEP has launched an e-services platform at e-services.arcep.tg, but public API documentation for portability lookups was not available as of January 2025. Contact ARCEP directly for integration options.

3. International Dialing Issues

Problem: Calls fail to connect or route incorrectly

Solutions:

  • Confirm international prefix: Use 00 when dialing from Togo, or + for mobile devices
  • Verify country code: Ensure +228 is included for inbound international calls
  • Check E.164 format: Use full international format for API calls: +228XXXXXXXX
  • Test emergency numbers separately: 117, 118, 112 don't follow standard 8-digit rules

Common Routing Issues:

IssueCauseSolution
VoIP calls failSome VoIP providers don't support all Togo prefixesTest with multiple providers, contact support
International SMS rejectedSender ID restrictionsUse approved sender IDs, register with local operators
Calls to emergency numbers fail from VoIPEmergency numbers route through cellular onlyUse alternative landline numbers (22 22 21 39, 22 21 67 06)

4. Emergency Number Handling

Problem: Emergency numbers fail validation or routing

Solutions:

  • Validate separately: Use dedicated regex for emergency numbers: /^(11[278]|112)$/
  • Don't apply E.164 formatting: Emergency numbers are not internationalized
  • Provide alternate contact numbers: 117 → 22 22 21 39, 118 → 22 21 67 06
  • Test locally: Emergency numbers may only work within Togo's network

Number Portability in Togo: Adapting to a Changing Landscape

Togo launched mobile number portability on May 9, 2024, enabling subscribers to switch between Togocel and Moov Togo while retaining their phone numbers.

Implementation Timeline

  • October 2021: ARCEP market study shows 95% consumer support for portability
  • July 2022: Portability regulations adopted by ARCEP
  • August 2022: Government approval of regulations
  • April 2023: Technical implementation begins
  • May 9, 2024: Official portability launch

Source: African Wireless Communications - Togo Launches Mobile Number Portability

Consumer Porting Process

General Porting Requirements:

  1. Eligibility check: Ensure your account is in good standing with your current operator (no outstanding debts)
  2. Initiate request: Visit the new operator (Togocel or Moov Togo) retail location or customer service
  3. Provide documentation: Valid national ID, current phone number, proof of ownership (SIM card, account details)
  4. Processing time: Estimated 3-10 business days (typical for West African MNP implementations)
  5. Costs: Porting fees not publicly disclosed; contact operators for current charges

During Porting:

  • Service continues with your current operator until transfer completes
  • Brief service interruption (typically <2 hours) during final switch
  • SMS notification confirms completion

Note: Specific procedures, timelines, and fees should be confirmed directly with Togocel or Moov Togo, as official consumer-facing documentation was not publicly available as of January 2025.

Sources: African Wireless Communications, regional MNP standards, operator contact recommended for current details.

Impact on Developers

Before May 2024:

  • Prefix reliably identified operator
  • Simple prefix-based routing worked
  • Operator-specific features could be hardcoded

After May 2024:

  • Prefix indicates original allocation only
  • Current operator requires database lookup
  • Dynamic operator detection necessary for routing

Adaptation Strategies:

  1. Use future-proof validation: Focus on format correctness, not operator identification
  2. Integrate portability database: Access ARCEP's official database via API
  3. Cache operator lookups: Reduce API calls with reasonable TTL (24-48 hours)
  4. Update legacy systems: Replace hardcoded prefix-to-operator mappings
  5. Provide user feedback: Display "Original operator: Togocel (may have ported)"
javascript
// Future-proof validation approach
class TogoPhoneValidator {
  constructor() {
    this.landlinePattern = /^2[2-7]\d{6}$/;
    this.mobilePattern = /^[79][0-39]\d{6}$/;
    this.emergencyPattern = /^(11[278]|112)$/;
  }

  validate(number) {
    const cleaned = number.replace(/\D/g, '').replace(/^228/, '');
    return {
      isValid: this.landlinePattern.test(cleaned) ||
               this.mobilePattern.test(cleaned) ||
               this.emergencyPattern.test(cleaned),
      type: this.getNumberType(cleaned),
      originalOperator: this.getOriginalOperator(cleaned),
      portabilityNote: 'Current operator may differ (portability since May 2024)'
    };
  }

  getNumberType(cleaned) {
    if (this.landlinePattern.test(cleaned)) return 'landline';
    if (this.mobilePattern.test(cleaned)) return 'mobile';
    if (this.emergencyPattern.test(cleaned)) return 'emergency';
    return 'unknown';
  }

  getOriginalOperator(cleaned) {
    const prefix = cleaned.substring(0, 2);
    if (['70','71','72','73','90','91','92','93'].includes(prefix)) {
      return 'Togocel (original allocation)';
    }
    if (['78','79','96','97','98','99'].includes(prefix)) {
      return 'Moov Togo (original allocation)';
    }
    if (prefix.startsWith('2')) {
      return 'Fixed line';
    }
    return 'Unknown';
  }
}

Migration Guide for Existing Codebases:

Step 1: Audit Current Implementation

javascript
// Find all prefix-based operator logic
// Search for: hardcoded prefix arrays, operator routing decisions

Step 2: Replace Direct Operator Mapping

javascript
// Before (pre-portability)
function getOperator(number) {
  const prefix = number.substring(0, 2);
  if (['70','71','72','73','90','91','92','93'].includes(prefix)) {
    return 'Togocel';
  }
  return 'Moov';
}

// After (portability-aware)
async function getOperator(number) {
  const originalOperator = getOriginalOperator(number);
  const currentOperator = await getCurrentOperator(number); // API lookup
  return {
    original: originalOperator,
    current: currentOperator,
    mayHavePortted: originalOperator !== currentOperator
  };
}

Step 3: Update Routing Logic

javascript
// Before: Route SMS based on prefix
function routeSMS(number, message) {
  const operator = getOperatorFromPrefix(number);
  return sendViaOperator(operator, number, message);
}

// After: Use intelligent routing with fallback
async function routeSMS(number, message) {
  const operator = await getCurrentOperator(number);
  try {
    return await sendViaOperator(operator, number, message);
  } catch (error) {
    // Fallback to multi-operator gateway
    return await sendViaGateway(number, message);
  }
}

Step 4: Add Caching Layer

javascript
// Implement Redis or in-memory cache
const operatorCache = new Map();
const CACHE_TTL = 24 * 60 * 60 * 1000; // 24 hours

async function getCachedOperator(number) {
  const cached = operatorCache.get(number);
  if (cached && Date.now() - cached.timestamp < CACHE_TTL) {
    return cached.operator;
  }

  const operator = await fetchOperatorFromARCEP(number);
  operatorCache.set(number, { operator, timestamp: Date.now() });
  return operator;
}

Togo's Digital Transformation: A Broader Context

Togo is actively investing in digital infrastructure to support economic growth and improve connectivity.

Major Initiatives:

  • World Bank Funding (2021): $11 million approved to improve connectivity and develop Togo's digital economy
  • Broadband Expansion: Extending high-speed internet access to underserved areas
  • Data Center Development: Building carrier-neutral infrastructure for regional services
  • Mobile Network Quality: ARCEP conducts biannual quality assessments to maintain standards

Market Context (2024):

IndicatorValue/Status
Major OperatorsTogocel, Moov Togo
Customer SatisfactionImproved from 44% (2023) to 51% (2024)
Network QualityTogocel 70.68%, Moov 44.61% (Aug 2024)
Number PortabilityActive since May 9, 2024
Mobile PenetrationGrowing steadily with 4G expansion
Internet AccessExpanding to rural areas via broadband initiatives

Digital Ecosystem Development:

SectorGrowth Areas
Mobile BankingM-Pesa, Flooz, T-Money widely adopted for transactions
E-commerceGrowing online retail and delivery services
FintechDigital wallets, mobile payments, microloans
AgtechMobile apps for farmers, weather alerts, market prices

Sources:

This context signals a growing market for digital services and applications in Togo, with improved regulatory oversight and consumer protection.

Frequently Asked Questions (FAQ)

What is Togo's country code?

Togo's country code is +228. Use this prefix when calling Togo from abroad, followed by the 8-digit local number.

How long are Togo phone numbers?

Togo phone numbers are exactly 8 digits long (excluding the +228 country code). This applies to both landline and mobile numbers. Emergency numbers (117, 118, 112) are exceptions with 3 digits.

Can I port my number between operators in Togo?

Yes, Togo launched mobile number portability on May 9, 2024. You can switch between Togocel and Moov Togo while keeping your phone number. Follow these steps:

  1. Ensure your account has no outstanding debts
  2. Visit the new operator with valid ID and proof of account ownership
  3. Wait 3-10 business days for processing
  4. Receive SMS notification when porting completes

Porting fees may apply—confirm costs with the new operator before initiating.

Which mobile operator has the best network quality in Togo?

According to ARCEP's August 2024 assessment, Togocel has better network quality with 70.68% regulatory compliance, compared to Moov Togo's 44.61%. Togocel also showed significant improvement (+17.37%) from December 2023.

What are the emergency numbers in Togo?

  • 117 – National Gendarmerie (Police), also 22 22 21 39
  • 118 – Fire Department, also 22 21 67 06
  • 112 – General Emergency (pan-European standard)

All emergency numbers work from any phone, including mobiles without SIM cards or credit, per GSM standards.

How do I validate Togo phone numbers programmatically?

Use regex pattern /^(2[2-7]|7[0-39]|9[0-39])\d{6}$/ for 8-digit format validation. Always convert to E.164 format (+228XXXXXXXX) for storage. Remember that prefixes 74, 75, 76, 77 are not allocated. See code examples above in JavaScript, Python, PHP, and Java for complete validation logic.

Best Practices for SMS Delivery:

  • Use E.164 format for all API calls
  • Validate numbers before sending to reduce failures
  • Implement retry logic for temporary network issues
  • Monitor delivery reports and adjust for undeliverable numbers
  • Register sender IDs with local operators for better deliverability
  • Test with both Togocel and Moov networks
  • Respect local time zones (GMT+0) for scheduled sends

Does Togo use area codes?

Yes, for landlines only. Togo uses geographic area codes 22-27:

  • 22 = Lomé (capital)
  • 23 = Maritime region
  • 24 = Plateaux region
  • 25 = Central region
  • 26 = Kara region
  • 27 = Savannah region

Mobile numbers (7X and 9X) do not use area codes.

Conclusion: Key Takeaways and Next Steps

You now have comprehensive knowledge of Togo's phone number system, including validated formats, operator prefixes, number portability implications, and regulatory compliance requirements.

Quick Reference Summary:

  • Country code: +228
  • Number length: 8 digits (NSN)
  • Format: Store in E.164 (+228XXXXXXXX)
  • Regulator: ARCEP (arcep.tg)
  • Emergency: 117, 118, 112
  • Operators: Togocel, Moov Togo
  • Number Portability: ✅ Active since May 9, 2024
  • Data Protection: Law No. 2019-014 (2019)

Next Steps:

  1. Implement validation functions from the code examples above
  2. Convert existing data to E.164 format for consistency
  3. Update operator logic to account for number portability
  4. Monitor ARCEP updates for numbering plan changes at arcep.tg
  5. Test across operators to ensure compatibility with Togocel and Moov networks
  6. Integrate portability database for accurate operator identification
  7. Ensure data protection compliance with Law No. 2019-014 requirements
  8. Obtain explicit consent before sending marketing SMS

Recommended Tools and Libraries:

Tool/LibraryLanguageFeaturesLink
libphonenumberJava, C++, JavaScriptInternational phone validation, formattingGitHub
phonenumbersPythonPython port of libphonenumberPyPI
phoneRubyPhone number validation and formattingGitHub
Twilio Lookup APIREST APINumber validation, carrier lookup, caller IDTwilio Docs

Stay Informed:

  • Monitor ARCEP announcements for regulatory updates
  • Check ARCEP e-services for developer resources
  • Review ITU-T documentation for international standard changes
  • Track operator network quality reports (published biannually by ARCEP)
  • Join West African telecommunications developer communities

By applying this knowledge and adapting to number portability, you can confidently integrate Togolese phone numbers into your applications and contribute to Togo's growing digital economy.

Need help with other West African country phone systems? Explore our related guides for Benin phone numbers, Ghana phone numbers, and comprehensive E.164 formatting.