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.
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.
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.
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:
Metric
Details
Major Operators
Togocel, Moov Africa Togo
Network Quality (Aug 2024)
Togocel 70.68% compliant, Moov 44.61% compliant
Customer Satisfaction
Improved from 44% (2023) to 51% (2024)
4G/LTE Coverage
Available 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:
Code
+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:
📱 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.
Code
Format: 7[0-39]XXXXXX | 9[0-39]XXXXXX
Operator Prefix Allocation:
Operator
Prefixes
Network Type
Market Position
Togocel
70, 71, 72, 73, 90, 91, 92, 93
GSM 4G/LTE
Leading operator
Moov Togo
78, 79, 96, 97, 98, 99
GSM 4G/LTE
Major competitor
Reserved/Unused Prefixes: 74, 75, 76, 77 are not currently allocated to any operator.
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:
Code
Format: XXX or XXXX
Official Emergency Numbers:
Number
Service
Details
117
National Gendarmerie (Police)
Also: 22 22 21 39
118
Fire Department
Also: 22 21 67 06
112
General Emergency
Pan-European emergency number
1011
Customer Service
Example 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.
// Note: Prefix-based identification is unreliable post-May 2024functiongetOriginalOperator(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)';
} elseif (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.
-- PostgreSQL/MySQL: Find user by phone numberSELECT*FROM users WHERE phone_number ='+22870123456';
-- PostgreSQL: Find all Togo numbersSELECT*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
✅ 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.
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.
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
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.
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
asyncfunctiongetCurrentOperator(phoneNumber) {
// Check cache firstconst 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.tgconst response = awaitfetch(`https://e-services.arcep.tg/api/portability/${phoneNumber}`);
const data = await response.json();
// Cache for 24 hoursawait operatorCache.set(phoneNumber, data.operator, 86400);
return data.operator;
} catch (error) {
// Fallback to prefix-based guess with disclaimerreturngetOriginalOperator(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:
Issue
Cause
Solution
VoIP calls fail
Some VoIP providers don't support all Togo prefixes
Test with multiple providers, contact support
International SMS rejected
Sender ID restrictions
Use approved sender IDs, register with local operators
Calls to emergency numbers fail from VoIP
Emergency numbers route through cellular only
Use 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
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
Eligibility check: Ensure your account is in good standing with your current operator (no outstanding debts)
Initiate request: Visit the new operator (Togocel or Moov Togo) retail location or customer service
Provide documentation: Valid national ID, current phone number, proof of ownership (SIM card, account details)
Processing time: Estimated 3-10 business days (typical for West African MNP implementations)
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.
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:
Ensure your account has no outstanding debts
Visit the new operator with valid ID and proof of account ownership
Wait 3-10 business days for processing
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.
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.
The Togo country code is +228. This code, essential for dialing Togolese numbers from abroad, precedes the 8-digit subscriber number and follows the international prefix (00 if applicable).
Togolese phone numbers follow the E.164 international standard, formatted as +228 XX XX XX XX. This format includes the country code (+228) followed by the 8-digit subscriber number, separated by spaces for readability.
Use the regex /^(2[2-7]\d{6}|7[019]\d{6}|9[0-36-9]\d{6})$/ for basic validation or /^(228)?[2-9]\d{7}$/ for a future-proof approach that considers number portability. Remember to remove non-digit characters before validation.
Togo landline numbers begin with '2', followed by a second digit ranging from 2 to 7, and then six additional digits (2[2-7]XXXXXX). For example, a landline number in the Lom?? region might look like 22234567.
Mobile numbers use prefixes like 7[019]XXXXXX and 9[0-36-9]XXXXXX. Togocel uses prefixes 70, 71, and 90, while Moov Togo uses 79, 96, and 97. However, number portability may affect the accuracy of operator identification.
Number portability was introduced in Togo in May 2024. If your application deals with identifying operators or routing calls based on prefixes, you must consider number portability to maintain accuracy.
E.164 formatting (+228 XX XX XX XX) ensures international compatibility, simplifies data processing, and allows seamless integration with various communication systems. It is crucial for storing and transmitting Togolese phone numbers.
ARCEP (Autorit?? de R??gulation des Communications ??lectroniques et des Postes) regulates Togo's telecommunications sector. They oversee number allocation, compliance with national/international standards, and customer data handling.
Emergency numbers in Togo use shorter formats (XXX or XXXX) and do not require the country code. For instance, the police can be reached by dialing 117 and the fire department by dialing 118.
Yes, store numbers in E.164 format using VARCHAR(15) to accommodate the full length, including the '+' and country code. This simplifies querying and ensures consistency.
For better user experience, display numbers with spaces (+228 XX XX XX XX), considering local and international contexts. Implement click-to-call functionality for mobile users.
Togo is actively improving its digital infrastructure, with initiatives like the World Bank's $11 million funding in 2021 for improved connectivity and development of its digital economy, signifying a growing market for digital services.
Understanding Togo's phone number system, including its format, validation, and regulatory aspects, is crucial for building applications that seamlessly integrate with Togolese and international communication systems.
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:
Typical SMS/API Costs (International Providers):
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:
The Core Number Structure: A Consistent Foundation
Every phone number in Togo follows a predictable and standardized format with exactly 8 digits:
Where:
+228is the country code assigned by ITU-T, signifying TogoXX XX XX XXrepresents the 8-digit subscriber number, unique to each userITU-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:
Regional Area Code Breakdown:
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.
Operator Prefix Allocation:
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:
Official Emergency Numbers:
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.
// 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 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 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 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:
// 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 APIARCEP 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.
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')); // +22890987654Database Storage Recommendations:
VARCHAR(13)phone_number VARCHAR(13) NOT NULLCREATE INDEX idx_phone ON users(phone_number);VARCHAR(13)phone_number VARCHAR(13) NOT NULLCREATE INDEX idx_phone ON users(phone_number);StringphoneNumber: { type: String, required: true }db.users.createIndex({ phoneNumber: 1 })Sample Query Examples:
-- 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%';// 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:
VARCHAR(13)for Togo numbers (+228 + 8 digits)2. Input Validation:
3. Display Formatting:
+228 XX XX XX XXClick-to-Call Implementation:
<!-- 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: 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:
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
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:
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:
Number Portability Regulations:
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:
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:
Best Practices for SMS Compliance:
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
Troubleshooting Common Issues: Practical Solutions for Developers
1. Invalid Number Format
Problem: Number validation fails unexpectedly
Solutions:
Debug helper:
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:
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:
Implementation example:
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:
Common Routing Issues:
4. Emergency Number Handling
Problem: Emergency numbers fail validation or routing
Solutions:
/^(11[278]|112)$/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
Source: African Wireless Communications - Togo Launches Mobile Number Portability
Consumer Porting Process
General Porting Requirements:
During Porting:
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:
After May 2024:
Adaptation Strategies:
// 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
// Find all prefix-based operator logic // Search for: hardcoded prefix arrays, operator routing decisionsStep 2: Replace Direct Operator Mapping
// 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
// 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
// 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:
Market Context (2024):
Digital Ecosystem Development:
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:
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?
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:
Does Togo use area codes?
Yes, for landlines only. Togo uses geographic area codes 22-27:
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:
Next Steps:
Recommended Tools and Libraries:
Stay Informed:
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.