Nepal Phone Numbers: Format, Area Code & Validation Guide
Complete guide to Nepal's phone numbering system including formats, area codes, dialing procedures, and validation regex. Learn about Nepal Telecom, Ncell operators, MNP status, and emergency numbers.
Country Code: +977 (required for international calls)
International Prefix: 00
National Prefix: 0 (for domestic landline calls)
Mobile Number Length: 10 digits (e.g., 9841234567)
Landline Length: 8-9 digits with area code
Overview
Nepal uses the +977 country code for all international calls. The Nepal Telecommunications Authority (NTA) regulates the telephone numbering system, which includes 10-digit mobile numbers and 8-9 digit landline numbers with area codes. As of April 2025, Nepal has approximately 29.7 million voice telephony subscribers (101.8% population penetration) and 25.4 million 4G users. Two major operators serve the market: Nepal Telecom (52.3% market share) and Ncell (47.7% market share). Mobile broadband reaches 90% population penetration (NTA MIS Report, April 2025).
This guide covers Nepal's telephone numbering formats, country code +977 dialing procedures, area codes, mobile number validation, and regulatory requirements for telecom professionals, developers, and businesses working with Nepalese phone numbers.
Number Formats
General Number Structure
Nepal's numbering plan employs a fixed-length format with specific prefixes for various services. The National Significant Number (NSN) length varies by service type:
Country Code: +977
National Significant Number (NSN):
8 digits: Fixed (landline) numbers in most areas
9 digits: Fixed numbers in Kathmandu Valley
10 digits: Mobile numbers (all operators)
11 digits: Toll-free numbers
Geographic (Landline) Numbers
Geographic numbers use 1–2 digit area codes followed by 6–7 digit subscriber numbers.
Format: 0[1-9]XXXXXXX (Kathmandu Valley and major cities – 9 digits total)
Format: 0[1-9]XXXXXX (rural areas – 8 digits total)
Example: 01-1234567 (Kathmandu)
Structure:
Area Code: 1–2 digits (e.g., 01 for Kathmandu)
Subscriber Number: 6–7 digits depending on the region
Note: In 2016, NTA announced plans to standardize all landline numbers to 10 digits. This transition has not been implemented as of 2025. Landlines remain 7 digits in Kathmandu Valley and 6 digits in many other areas (Nepal Telecom).
Mobile Numbers
Nepal mobile numbers use a 10-digit format starting with 9, where the second digit indicates technology (8 for GSM/4G, 7 for legacy CDMA, 6 for defunct operators). When calling from abroad, add the +977 country code before the mobile number.
Format: 98[0-9]XXXXXXX or 97[0-6]XXXXXXX
Example (National): 9841234567
Example (International): +977-9841234567
Structure:
Mobile Prefix: 3 digits (e.g., 984, 985, 980, 981)
Current Status (2025): Only Nepal Telecom and Ncell operate mobile networks. Historic prefixes from revoked operators (Smart Telecom, UTL, Hello Mobile) are no longer in service.
Toll-Free Numbers
Customer service and free-to-call services use toll-free numbers. Callers pay nothing – the receiving business bears the call cost.
The basic numbering structure remains stable, but several significant changes are planned:
Planned Changes (Not Yet Implemented):
10-Digit Landline Conversion: In 2016, NTA announced plans to standardize all landline numbers to 10 digits. As of 2025, this conversion has not been implemented. Landlines currently remain 7 digits in Kathmandu Valley and 6 digits in many other areas.
Mobile Number Portability (MNP): NTA released MNP Regulation 2078 and is preparing to implement number portability through a third-party service provider. Implementation timeline is pending as of 2025.
License Revocations: NTA revoked licenses for Smart Telecom, UTL, Hello Mobile (NSTPL), and CG Telecom. Only Nepal Telecom and Ncell currently operate mobile networks.
Nepal does not currently support Mobile Number Portability (MNP), but implementation is planned. The Nepal Telecommunications Authority (NTA) released Mobile Number Portability Regulation 2078 and plans to implement MNP through a third-party service provider operating a "Number Portability House."
Key Requirements (once implemented):
You must have actively used your mobile number for over 90 days to be eligible for MNP
No outstanding liabilities with current operator
Number must not be blocked or reported as lost
User will lose remaining balance when porting
Service charges may differ with new operator
Government-issued ID required (National ID, Citizenship, Driving License, or Passport for foreigners)
Current Status: As of 2025, the regulatory framework is in place, but full deployment is pending. NTA is expected to issue a tender for interested firms to operate the number portability service. No specific implementation date has been announced.
Implications for Developers: Until MNP launches, mobile number prefixes reliably indicate the operator. After MNP deployment, do not assume operator identity based on number prefix alone.
Total Voice Subscribers: 29.7 million (101.8% population penetration)
4G Users: 25.4 million (Nepal Telecom: 13.7M, Ncell: 11.6M)
Mobile Broadband Penetration: 90% of population
Fixed Broadband: 3.1 million subscriptions (primarily FTTH)
Note: As of 2025, only Nepal Telecom (NTC) and Ncell operate mobile networks in Nepal. The Nepal Telecommunications Authority (NTA) revoked Smart Telecom's license. Historic Smart Telecom numbers (961, 962 prefixes) are no longer active.
Nepal's telephone numbering system complies with the ITU-T E.164 international phone number format standard, ensuring global uniqueness and international dialing capability. The ITU officially allocated country code +977 to Nepal.
Relevant ITU Recommendations:
E.164: International public telecommunication numbering plan (defines Nepal's +977 country code and NSN structure)
E.123: Notation for national and international telephone numbers (recommended format: +977 1 1234567)
E.212: International identification plan for mobile terminals (Mobile Country Code 429 for Nepal)
E.118: International telecommunication charge card numbering
Twilio: Supports Nepal (+977) with both SMS and Voice capabilities
Plivo: Full support for Nepal mobile and landline numbers
MessageBird: Supports SMS to Nepal mobile numbers
Validation APIs: Use libphonenumber (Google) for robust international validation
7. Performance Optimization:
Cache compiled regex patterns (don't recompile on each validation)
Use indexed database columns for phone number lookups
Implement rate limiting for SMS/OTP to prevent abuse
Consider using phone number hashing for privacy compliance
8. Common Pitfalls and Solutions:
Issue
Problem
Solution
Leading zeros
01234567 vs 1234567
Normalize by checking length and adding/removing prefix
International format
+977, 977, or no prefix
Accept all formats, normalize to E.164 for storage
Operator identification post-MNP
Assuming 984 = NTC
Use HLR lookup APIs instead of prefix-based detection
Landline length variation
6 vs 7 digit subscriber numbers
Validate against both patterns based on area code
Toll-free format confusion
11 digits vs standard formats
Separate validation path for toll-free numbers
Decision Tree for Number Type Identification:
Code
Start
├─ Starts with 1660? → Toll-Free (11 digits)
├─ Starts with 1XX? → Emergency/Special (3–4 digits)
├─ Starts with 9[78]? → Mobile (10 digits)
└─ Starts with 0 or area code? → Landline (8–9 digits with prefix)
Recommended Phone Validation Libraries:
JavaScript: libphonenumber-js - Lightweight Nepal phone number validator
Python: phonenumbers (port of Google's libphonenumber)
Dial the full landline number, including the area code, directly from your mobile phone. For example, if the landline number is 01-1234567, dial exactly that. No additional prefixes are needed for domestic calls within Nepal from mobile to landline.
The country code for Nepal is +977. This code is required when dialing a Nepalese number from outside the country. Always include the plus sign (+) before the country code for international calls.
Nepal, like all countries, is assigned a unique country code by the International Telecommunication Union (ITU). +977 is Nepal's designated code, essential for routing international calls correctly. This ensures global interoperability in telecommunications.
Use the international prefix 00 when dialing from Nepal to another country. Dial 00, followed by the destination country code, area code, and the subscriber's number.
Nepali mobile numbers follow a specific format: 98[4-9]XXXXXX, totaling 10 digits. The first three digits (98X, where X is 4 to 9) represent the mobile prefix, and the remaining seven digits are the subscriber number. For instance, 9841234567 is a valid mobile number.
No, Mobile Number Portability (MNP) is currently not available in Nepal. This means that your mobile number is tied to the specific operator you signed up with and cannot be transferred to a different operator.
To call Nepal from the United States, first dial the US international access code (011), then Nepal's country code (+977), followed by the area code (without the leading 0) and the subscriber number. For instance, to call Kathmandu (area code 01), you would dial 011-977-1-XXXXXXX.
Use regular expressions to validate Nepali phone numbers effectively. For example, the regex /^0[1-9]\d{7}$/ validates landline numbers, and /^98[4-9]\d{7}$/ validates mobile numbers. This ensures data accuracy in applications.
The area code for Kathmandu, Nepal is 01. When dialing a Kathmandu landline from within Nepal, include the 01 prefix before the 7-digit subscriber number. For international calls, omit the leading 0 and use only 1 after the country code.
Nepal toll-free numbers begin with the prefix 1660 followed by seven digits, totaling 10 digits. An example of a toll-free number is 16601234567. These numbers are free to call from within Nepal.
Nepal Telecom uses the mobile prefixes 984 and 985. Ncell utilizes 980 and 981, while Smart Telecom uses 961 and 962. These prefixes help identify the mobile operator associated with a specific number.
The Nepal Telecommunications Authority (NTA) is the governing body responsible for allocating and managing phone numbers in Nepal. They ensure efficient distribution and adherence to international telecommunication standards.
The recommended format for storing Nepal phone numbers, and international numbers in general, is the E.164 format. This format includes the plus sign (+) followed by the country code, area code, and subscriber number, ensuring consistent and globally recognized number representation.
Quick Reference Guide
Overview
Nepal uses the +977 country code for all international calls. The Nepal Telecommunications Authority (NTA) regulates the telephone numbering system, which includes 10-digit mobile numbers and 8-9 digit landline numbers with area codes. As of April 2025, Nepal has approximately 29.7 million voice telephony subscribers (101.8% population penetration) and 25.4 million 4G users. Two major operators serve the market: Nepal Telecom (52.3% market share) and Ncell (47.7% market share). Mobile broadband reaches 90% population penetration (NTA MIS Report, April 2025).
This guide covers Nepal's telephone numbering formats, country code +977 dialing procedures, area codes, mobile number validation, and regulatory requirements for telecom professionals, developers, and businesses working with Nepalese phone numbers.
Number Formats
General Number Structure
Nepal's numbering plan employs a fixed-length format with specific prefixes for various services. The National Significant Number (NSN) length varies by service type:
Geographic (Landline) Numbers
Geographic numbers use 1–2 digit area codes followed by 6–7 digit subscriber numbers.
0[1-9]XXXXXXX(Kathmandu Valley and major cities – 9 digits total)0[1-9]XXXXXX(rural areas – 8 digits total)01-1234567(Kathmandu)Structure:
Major Area Codes (source):
Note: In 2016, NTA announced plans to standardize all landline numbers to 10 digits. This transition has not been implemented as of 2025. Landlines remain 7 digits in Kathmandu Valley and 6 digits in many other areas (Nepal Telecom).
Mobile Numbers
Nepal mobile numbers use a 10-digit format starting with 9, where the second digit indicates technology (8 for GSM/4G, 7 for legacy CDMA, 6 for defunct operators). When calling from abroad, add the +977 country code before the mobile number.
98[0-9]XXXXXXXor97[0-6]XXXXXXX9841234567+977-9841234567Structure:
Mobile Number Prefixes by Operator (source):
Current Status (2025): Only Nepal Telecom and Ncell operate mobile networks. Historic prefixes from revoked operators (Smart Telecom, UTL, Hello Mobile) are no longer in service.
Toll-Free Numbers
Customer service and free-to-call services use toll-free numbers. Callers pay nothing – the receiving business bears the call cost.
1660[Area Code][Subscriber]16601234567(Kathmandu area)Structure:
Registration Information (Nepal Telecom Toll-Free Service):
Special Services Numbers
Special services include emergency and premium-rate numbers.
[1-9]XX100(for police)Structure:
Emergency Numbers:
Note: All emergency numbers are free to call from both mobile and landline networks across Nepal.
Dialing Procedures
Domestic Dialing
When dialing within Nepal, use the national prefix (0) for landlines but omit it for mobile-to-mobile calls:
12345670+ area code + subscriber number, e.g.,01-12345670+ area code + subscriber number, e.g.,01-123456798412345679841234567Common Mistake: Include the
0prefix when calling landlines from mobiles, but omit it when dialing mobile numbers.International Dialing
From Nepal to Abroad
0091for India)00-91-11-12345678(calling Delhi, India)From Abroad to Nepal
011from USA,00from most countries, or use+)977+977-1-1234567(Kathmandu)+977-9841234567Phone Number Validation: Regular Expressions for Nepal
Use these regex patterns to validate Nepal phone numbers in your applications:
Landline Numbers (7-digit subscriber, Kathmandu Valley):
Landline Numbers (6-digit subscriber, rural areas):
Mobile Numbers (National Format):
Mobile Numbers (International E.164 Format):
Toll-Free Numbers (11 digits):
Emergency Numbers (3 digits):
Combined Validation Pattern (Any Nepal Number):
Implementation Example (JavaScript):
function validateNepalPhone(number) { // Remove spaces and hyphens const cleaned = number.replace(/[\s-]/g, ''); // Mobile number validation const mobileRegex = /^(\+977|977)?9[78]\d{8}$/; if (mobileRegex.test(cleaned)) { return { valid: true, type: 'mobile' }; } // Landline validation const landlineRegex = /^(\+977|977)?0?[1-9]\d{6,7}$/; if (landlineRegex.test(cleaned)) { return { valid: true, type: 'landline' }; } // Toll-free validation const tollfreeRegex = /^(\+977|977)?1660\d{7}$/; if (tollfreeRegex.test(cleaned)) { return { valid: true, type: 'tollfree' }; } return { valid: false, type: null }; }Implementation Example (Python):
import re def validate_nepal_phone(number): """Validate Nepal phone numbers""" # Remove spaces and hyphens cleaned = re.sub(r'[\s-]', '', number) # Mobile number validation if re.match(r'^(\+977|977)?9[78]\d{8}$', cleaned): return {'valid': True, 'type': 'mobile'} # Landline validation if re.match(r'^(\+977|977)?0?[1-9]\d{6,7}$', cleaned): return {'valid': True, 'type': 'landline'} # Toll-free validation if re.match(r'^(\+977|977)?1660\d{7}$', cleaned): return {'valid': True, 'type': 'tollfree'} return {'valid': False, 'type': None}Recent Changes to the Numbering Plan
The basic numbering structure remains stable, but several significant changes are planned:
Planned Changes (Not Yet Implemented):
10-Digit Landline Conversion: In 2016, NTA announced plans to standardize all landline numbers to 10 digits. As of 2025, this conversion has not been implemented. Landlines currently remain 7 digits in Kathmandu Valley and 6 digits in many other areas.
Mobile Number Portability (MNP): NTA released MNP Regulation 2078 and is preparing to implement number portability through a third-party service provider. Implementation timeline is pending as of 2025.
License Revocations: NTA revoked licenses for Smart Telecom, UTL, Hello Mobile (NSTPL), and CG Telecom. Only Nepal Telecom and Ncell currently operate mobile networks.
For the latest updates, visit the Nepal Telecommunications Authority.
Number Portability
Nepal does not currently support Mobile Number Portability (MNP), but implementation is planned. The Nepal Telecommunications Authority (NTA) released Mobile Number Portability Regulation 2078 and plans to implement MNP through a third-party service provider operating a "Number Portability House."
Key Requirements (once implemented):
Current Status: As of 2025, the regulatory framework is in place, but full deployment is pending. NTA is expected to issue a tender for interested firms to operate the number portability service. No specific implementation date has been announced.
Implications for Developers: Until MNP launches, mobile number prefixes reliably indicate the operator. After MNP deployment, do not assume operator identity based on number prefix alone.
Major Telecom Operators and Number Ranges
Market Statistics (April 2025) (NTA MIS Report):
Note: As of 2025, only Nepal Telecom (NTC) and Ncell operate mobile networks in Nepal. The Nepal Telecommunications Authority (NTA) revoked Smart Telecom's license. Historic Smart Telecom numbers (961, 962 prefixes) are no longer active.
Operator Contact Information:
ITU Standards and Recommendations
Nepal's telephone numbering system complies with the ITU-T E.164 international phone number format standard, ensuring global uniqueness and international dialing capability. The ITU officially allocated country code +977 to Nepal.
Relevant ITU Recommendations:
Mobile Network Codes (MNC) for Nepal:
Number Allocation and Management
The Nepal Telecommunications Authority (NTA) oversees all number allocation, ensuring efficient distribution and adherence to international standards as outlined in the National Numbering Plan.
Allocation Process:
Number Block Sizes:
Technical Restrictions and Special Cases
Golden Numbers (Premium Numbers):
Number Blocking and Fraud Prevention:
SIM Registration Requirements:
VoIP and Virtual Numbers:
Number Reservation and Transfer:
Technical Considerations for Developers
1. Validation Best Practices:
2. Formatting and Storage:
+977XXXXXXXXXX)01-1234567for landlines,984-1234567for mobiles)VARCHAR(15)to accommodate international format with country code3. Dialing Logic Implementation:
function formatForDialing(number, callingFrom = 'nepal', callingTo = 'nepal') { const cleaned = number.replace(/[\s\-\(\)]/g, ''); if (callingFrom === 'nepal' && callingTo === 'nepal') { // Domestic: mobile numbers as-is, landlines with 0 prefix if (/^9[78]\d{8}$/.test(cleaned)) return cleaned; // Mobile if (/^[1-9]\d{6,7}$/.test(cleaned)) return '0' + cleaned; // Landline } if (callingFrom !== 'nepal' && callingTo === 'nepal') { // International to Nepal: add +977 return '+977' + cleaned.replace(/^0+/, ''); } return cleaned; }4. Error Handling and Edge Cases:
5. Testing Strategy:
# Test cases for Nepal phone validation test_cases = [ # Valid cases ('+977-984-1234567', True, 'mobile'), ('9801234567', True, 'mobile'), ('01-1234567', True, 'landline'), ('061-123456', True, 'landline'), ('16601123456', True, 'tollfree'), # Invalid cases ('961-1234567', False, None), # Revoked operator ('98412345', False, None), # Too short ('99912345678', False, None), # Invalid prefix ]6. API Integration:
7. Performance Optimization:
8. Common Pitfalls and Solutions:
01234567vs1234567+977,977, or no prefixDecision Tree for Number Type Identification:
Recommended Phone Validation Libraries: