phone number standards
phone number standards
Iraq Phone Number Format: +964 Area Codes & Validation Guide
Master Iraqi phone number validation with our complete +964 format guide. Get area codes for Baghdad, Basra, Mosul, regex patterns, and mobile operator prefixes.
Iraq Phone Numbers: Format, Area Code & Validation Guide
This guide covers everything you need to implement Iraqi phone number handling: the +964 country code (also known as "964 which country code"), area codes for Baghdad and other Iraqi cities, mobile operator prefixes (Korek, Asiacell, Zain), and regex validation patterns. You'll find practical code examples and compliance guidelines for validating Iraqi phone numbers, formatting them for international dialing, and distinguishing between landline and mobile formats. Learn the correct phone number format and validation techniques to ensure reliable communication with Iraqi contacts.
Why You Need Accurate Phone Number Handling
Correct phone number handling delivers:
- Reliable Communication: Accurate formatting ensures your messages and calls reach intended recipients. Incorrect formatting causes failed message delivery, missed calls, and undeliverable SMS notifications.
- Fraud Prevention: Validation blocks spam and account hijacking attempts. Invalid number formats are frequently associated with fraudulent activity and bot registrations.
- Regulatory Compliance: Telecommunications operations must comply with the Iraqi National Numbering Plan administered by the Iraqi Communications and Media Commission (CMC).
- Improved User Experience: Streamlined input and validation create smoother interactions, reducing user frustration from incorrect number entry.
- Data Integrity: Consistent formatting ensures quality data for analysis and reporting across telecommunications systems.
- International Operations: Proper E.164 formatting enables you to reach users globally and integrate with international carriers.
Understanding the Iraqi +964 Numbering Plan
Iraqi phone numbers follow a hierarchical structure defined by the ITU-T E.164 standard (Communication of 26.VI.2025):
- Country Code: +964 (use 00 for international calls from within Iraq)
- National Prefix: 0 (omit when dialing internationally)
- Area/Operator Code:
- Landlines: 1–2 digits (geographically based)
- Mobiles: 3 digits (operator-specific)
- Subscriber Number:
- Landlines: 6–7 digits (varies by region)
- Mobiles: 7 digits
Structure visualization: +964 [National Prefix: 0] [Area/Operator: 1-3 digits] [Subscriber: 6-7 digits]
The Iraqi numbering plan uses a closed numbering system where all digits are significant for routing. The national prefix "0" must be dialed for all national calls except short numbers, but must not be dialed from abroad.
Iraqi Landline Area Codes by City
Landline numbers use geographically assigned area codes.
Format: 0[Area Code][Subscriber Number]
| City | Area Code | Example Format | Subscriber Number Length |
|---|---|---|---|
| Baghdad | 1 | 01-XXXXXXX | 7 |
| Basra | 40 | 040-XXXXXX | 6 |
| Mosul | 60 | 060-XXXXXX | 6 |
| Erbil | 66 | 066-XXXXXX | 6 |
| Dohuk | 62 | 062-XXXXXX | 6 |
| Tikrit | 21 | 021-XXXXXX | 6 |
| Al Kut | 23 | 023-XXXXXX | 6 |
| Ramadi | 24 | 024-XXXXXX | 6 |
| Baquba | 25 | 025-XXXXXX | 6 |
| Hilla | 30 | 030-XXXXXX | 6 |
| Karbala | 32 | 032-XXXXXX | 6 |
| Najaf | 33 | 033-XXXXXX | 6 |
| Diwaniya | 36 | 036-XXXXXX | 6 |
| Samawa | 37 | 037-XXXXXX | 6 |
| Nasiriya | 42 | 042-XXXXXX | 6 |
| Amarah | 43 | 043-XXXXXX | 6 |
| Kirkuk | 50 | 050-XXXXXX | 6 |
| Sulaimaniya | 53 | 053-XXXXXX | 6 |
Important: Baghdad uses area code 1 with 7-digit subscriber numbers, while other regions use 2-digit area codes with 6-digit subscriber numbers. Baghdad's status as the capital and largest city requires a larger number pool to accommodate its telecommunications infrastructure. Always validate based on the specific area code.
Iraqi Mobile Number Operators: Korek, Asiacell, and Zain Prefixes
Iraqi mobile numbers follow a 10-digit format, including the operator prefix. According to the ITU National Numbering Plan (June 2025), Iraq has three major mobile operators plus smaller wireless local loop (WLL) providers. Understanding these mobile prefixes is essential when implementing SMS delivery or 2FA systems for Iraqi users.
Format: 07[Operator Code][Subscriber Number]
| Operator | Mobile Prefix | Example Format | Technology Support | Market Share (2024) |
|---|---|---|---|---|
| Asiacell (Ooredoo) | 77x | 077X-XXXXXXX | GSM/3G/4G | ~35% (Opensignal Jan 2024) |
| Zain Iraq | 78x, 79x | 078X-XXXXXXX, 079X-XXXXXXX | GSM/3G/4G | ~35% (TowerXchange 2025) |
| Korek Telecom | 75x | 075X-XXXXXXX | GSM/3G | ~25%* |
| Alkafeel Omnnea | 760 | 0760-XXXXXXX | WLL (Wireless Local Loop) | <5% |
*Note: According to the ITU document, Korek Telecom's license expired as of June 2025 and is pending renewal. Verify current operational status before implementation.
Number Portability: Iraq has Mobile Number Portability (MNP) regulations (CMC consultation 2015) that allow users to switch operators while retaining their phone number. Note that a 77x prefix may belong to any operator after porting. Use MNP lookup services for routing accuracy.
How to Validate Iraqi Phone Numbers: Regex Patterns and Examples
Use regular expressions for efficient Iraqi phone number validation. These regex patterns handle both mobile and landline formats, ensuring accurate validation for all Iraqi phone number types. Here's a comprehensive JavaScript example:
function validateIraqPhoneNumber(phoneNumber) {
const cleaned = phoneNumber.replace(/\D/g, ''); // Remove non-digit characters
const mobileRegex = /^(?:964|0)7[5-9]\d{7}$/; // Mobile numbers
const landlineBaghdadRegex = /^(?:964|0)1\d{7}$/; // Baghdad landlines (7-digit subscriber)
const landlineOtherRegex = /^(?:964|0)(?:[2-6]\d|40|50|53|60|62|66)\d{6}$/; // Other landlines (6-digit subscriber)
if (mobileRegex.test(cleaned)) {
return { isValid: true, type: 'mobile', normalized: `+964${cleaned.slice(-10)}` };
} else if (landlineBaghdadRegex.test(cleaned)) {
return { isValid: true, type: 'landline', normalized: `+964${cleaned.slice(-8)}` };
} else if (landlineOtherRegex.test(cleaned)) {
const areaCodeLength = cleaned.startsWith('964') ? cleaned.length - 9 : cleaned.length - 7;
return { isValid: true, type: 'landline', normalized: `+964${cleaned.slice(cleaned.startsWith('964') ? 3 : 1)}` };
}
return { isValid: false, error: 'Invalid number format' };
}
// Example usage:
console.log(validateIraqPhoneNumber('+9647901234567')); // Valid mobile
console.log(validateIraqPhoneNumber('01-1234567')); // Valid Baghdad landline
console.log(validateIraqPhoneNumber('040-123456')); // Valid Basra landline
console.log(validateIraqPhoneNumber('060-123456')); // Valid Mosul landline
console.log(validateIraqPhoneNumber('0721234567')); // Invalid mobile prefix
console.log(validateIraqPhoneNumber('01123456789')); // Invalid lengthValidate Iraqi Phone Numbers in Python
import re
def validate_iraq_phone_number(phone_number):
"""Validate Iraqi phone numbers with comprehensive format checking."""
# Remove all non-digit characters
cleaned = re.sub(r'\D', '', phone_number)
# Mobile numbers: 07[5-9]X XXXXXXX
mobile_pattern = r'^(?:964|0)7[5-9]\d{7}$'
# Baghdad landlines: 01 XXXXXXX (7 digits)
baghdad_pattern = r'^(?:964|0)1\d{7}$'
# Other landlines: 0XX XXXXXX (6 digits)
landline_pattern = r'^(?:964|0)(?:[2-6]\d|40|50|53|60|62|66)\d{6}$'
if re.match(mobile_pattern, cleaned):
return {'valid': True, 'type': 'mobile', 'normalized': f'+964{cleaned[-10:]}'}
elif re.match(baghdad_pattern, cleaned):
return {'valid': True, 'type': 'landline', 'normalized': f'+964{cleaned[-8:]}'}
elif re.match(landline_pattern, cleaned):
digits = cleaned[3:] if cleaned.startswith('964') else cleaned[1:]
return {'valid': True, 'type': 'landline', 'normalized': f'+964{digits}'}
return {'valid': False, 'error': 'Invalid Iraqi phone number format'}
# Example usage
print(validate_iraq_phone_number('+964 790 123 4567')) # Valid mobile
print(validate_iraq_phone_number('0771234567')) # Valid mobile
print(validate_iraq_phone_number('01-1234567')) # Valid Baghdad landlineInternational and National Format Standards
- International Format:
+964[Area/Operator Code][Subscriber Number](e.g., +9647901234567) - National Format:
0[Area/Operator Code][Subscriber Number](e.g., 07901234567)
Always validate and format numbers server-side, even with client-side validation.
Handle these edge cases:
- Partial numbers: Reject or prompt user for completion
- Extensions: Iraqi landlines may use extensions – store separately from base number
- Special service numbers: Short codes (3–5 digits) for emergency services (e.g., 112, 104) and customer service
- WLL numbers: Wireless Local Loop numbers (prefix 760, 7435, 7494) may have different routing requirements
E.164 International Phone Number Format for Iraqi Numbers
ITU-T E.164 defines the international standard for phone number formatting. Iraqi numbers follow this format: +964 [area/operator code] [subscriber number] for global compatibility.
Convert Iraqi Numbers to E.164 Format
function toE164Format(phoneNumber, countryCode = '964') {
// Remove all non-digit characters
let cleaned = phoneNumber.replace(/\D/g, '');
// Remove leading country code if present
if (cleaned.startsWith(countryCode)) {
cleaned = cleaned.slice(countryCode.length);
}
// Remove leading zero if present (national prefix)
if (cleaned.startsWith('0')) {
cleaned = cleaned.slice(1);
}
// Validate length (mobile: 10 digits, Baghdad landline: 8, other landline: varies)
if (cleaned.length < 7 || cleaned.length > 10) {
throw new Error('Invalid number length for Iraq');
}
return `+${countryCode}${cleaned}`;
}
// Example usage
console.log(toE164Format('07901234567')); // +9647901234567
console.log(toE164Format('01-1234567')); // +96411234567
console.log(toE164Format('+964 770 123 4567')); // +9647701234567Parse Iraqi Numbers from E.164 Format
function parseE164(e164Number) {
if (!e164Number.startsWith('+964')) {
throw new Error('Not an Iraqi number');
}
const digits = e164Number.slice(4); // Remove +964
// Determine if mobile or landline
if (digits.startsWith('7')) {
return {
type: 'mobile',
operator: digits.slice(0, 3),
subscriber: digits.slice(3),
national: `0${digits}`
};
} else {
// Landline - need to determine area code length
const areaCode = digits.startsWith('1') ? digits[0] : digits.slice(0, 2);
const subscriber = digits.slice(areaCode.length);
return {
type: 'landline',
areaCode: areaCode,
subscriber: subscriber,
national: `0${digits}`
};
}
}Frequently Asked Questions About Iraqi Phone Numbers
What is Iraq's country code? (964 which country code)
Iraq's country code is +964 (sometimes written as "964" in WhatsApp and other messaging apps). To call Iraq from abroad, dial +964 followed by the area or operator code (without the leading 0) and the subscriber number. The Iraq country code 2 letter abbreviation is "IQ" (ISO 3166-1 alpha-2 standard).
What is Baghdad's area code for landline numbers?
Baghdad's area code is 1. Baghdad landline numbers follow the format 01-XXXXXXX with 7-digit subscriber numbers, making them longer than other Iraqi cities.
How do I format an Iraqi mobile number internationally?
Format Iraqi mobile numbers as +964 7X XXXX XXX where 7X represents the operator prefix (75 for Korek, 77 for Asiacell, 78–79 for Zain, 760 for Alkafeel). For example: +964 790 123 4567.
Which mobile operators work in Iraq?
Iraq has four active mobile operators:
- Korek Telecom (prefix 75)* – License status pending renewal as of June 2025
- Asiacell (prefix 77) – Owned by Ooredoo
- Zain Iraq (prefixes 78, 79)
- Alkafeel Omnnea (prefix 760) – Wireless Local Loop provider
*Verify Korek's operational status before implementation as the license was reported expired in the ITU June 2025 communication.
What's the difference between Baghdad and Basra phone numbers?
Baghdad landlines use a single-digit area code (1) with 7-digit subscriber numbers (01-XXXXXXX), while Basra uses a 2-digit area code (40) with 6-digit subscriber numbers (040-XXXXXX).
How do I validate Iraqi phone numbers in my application?
Use regex patterns that account for both mobile and landline formats. Mobile numbers follow ^(?:964|0)7[5-9]\d{7}$, while landlines vary by region. Baghdad requires special handling for its 7-digit subscriber numbers.
Handle these edge cases:
- Partial numbers: Return validation error with expected format hint
- Number portability: Use MNP lookup APIs to verify current operator – don't rely solely on prefix
- Extensions: Strip and validate separately – Iraqi standard supports 2–4 digit extensions
- Short codes: Emergency (112, 104, 115) and service numbers (3–5 digits) require separate validation
Do I need to include the 0 when calling Iraq internationally?
No. The leading 0 is a national prefix used only within Iraq. To dial from abroad, use +964 followed by the area or operator code without the 0.
What is the ITU-T E.164 standard for Iraqi phone numbers?
ITU-T E.164 defines the international standard for phone number formatting. Iraqi numbers follow this format: +964 [area/operator code] [subscriber number] for global compatibility.
Iraqi Telecommunications Regulatory Compliance
The Iraqi Communications and Media Commission (CMC) regulates telecommunications in Iraq under Order 65, which grants CMC sole authority for licensing and regulating telecommunications, broadcasting, and information services.
Compliance Requirements
- Numbering Plan Adherence: Follow the Iraqi National Numbering Plan administered by CMC (updated June 2025).
- Subscriber Records: Maintain accurate subscriber records if your application handles user registration. Use stable parameters for automated customer identification and validation.
- E.164 Formatting: Format numbers per ITU-T E.164 standard for international communications.
- Number Portability Support: If operating as a telecommunications provider, implement Mobile Number Portability (MNP) per CMC regulations (2015 consultation framework).
- Data Retention: Maintain porting records and number assignment data for regulatory compliance and audit purposes.
Registration Requirements
Telecommunications service providers must:
- Register with CMC for number range allocation
- Maintain a Central Reference Database (CRDB) connection for MNP operations
- Report monthly statistics on porting processes and service quality
- Participate in the CMC-chaired telecommunications industry forum
Penalties: Non-compliance results in license suspension, fines, or number range revocation. Contact CMC at itu@cmc.iq for specific requirements.
How to Dial Iraqi Phone Numbers
- From Iraq to International:
00 + [Country Code] + [Number] - To Iraq from Abroad:
+964 + [Area/Operator Code] + [Subscriber Number](omit the leading 0) - Local Calls (Within Same Area): Dial the subscriber number directly
- Local Calls (Between Areas): Use the full national format with area code and leading 0
VoIP Considerations
When implementing VoIP calling to Iraq:
- Use E.164 format for SIP routing:
sip:+9647901234567@yourdomain.com - Implement proper codec negotiation (G.711 widely supported)
- Account for Network Address Translation (NAT) traversal
- Monitor Quality of Service (QoS) metrics due to variable network infrastructure
Common Dialing Issues
- Call fails with fast busy signal: Verify number format excludes national prefix (0) when dialing internationally
- Call connects to wrong number: Check for MNP – number may have been ported to different operator
- Intermittent connection: Iraqi telecommunications infrastructure may experience service interruptions – implement retry logic with exponential backoff
Stay Current with Iraqi Telecommunications
The Iraqi telecommunications landscape evolves constantly. Monitor these changes:
- New operator prefixes
- Number range expansions
- Regulatory updates from CMC
- License status changes (e.g., Korek renewal pending as of June 2025)
Monitoring Best Practices
- Subscribe to ITU notifications: ITU Operational Bulletin publishes numbering plan updates
- CMC announcements: Monitor https://www.cmc.iq/ for regulatory changes
- Set update schedule: Review numbering plan quarterly – verify during major releases
- Version control: Tag validation rules with effective dates – maintain changelog
Handling Legacy Numbers
During transitions:
- Maintain backward compatibility for 6–12 months after numbering changes
- Log unrecognized but structurally valid patterns for investigation
- Provide clear user feedback when you detect deprecated formats
- Test against both old and new formats during validation
Implement version control for your number formats and document all modifications to maintain compatibility.
Additional Resources
- Iraqi Communications and Media Commission (CMC): https://www.cmc.iq/ – Primary regulatory authority
- Email: itu@cmc.iq, ceooffice@cmc.iq
- Fax: +964 7803927640
- International Telecommunication Union (ITU): https://www.itu.int/
- ITU Iraq Numbering Plan – Official document (June 2025)
- ITU E.164 Standard – International numbering standard
- Mobile Operator Resources:
- Developer Tools:
- libphonenumber – Google's phone number parsing library with Iraq support
- ITU National Numbering Plans – Reference database for all countries
This guide provides the foundation you need to handle Iraqi phone numbers correctly. Prioritize accuracy, security, and user experience to ensure seamless communication and maintain compliance with evolving regulations.