phone number standards
phone number standards
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.
Nepal Phone Numbers: Format, Area Code & Validation Guide
Quick Reference Guide
- Country: Nepal
- 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
Major Area Codes (source):
| City/Region | Area Code | City/Region | Area Code |
|---|---|---|---|
| Kathmandu/Bhaktapur/Lalitpur | 01 | Biratnagar | 021 |
| Pokhara | 061 | Hetauda | 057 |
| Birgunj | 051 | Janakpur | 041 |
| Nepalgunj | 081 | Dharan | 025 |
| Butwal/Bhairahawa | 071 | Dhangadhi | 091 |
| Bharatpur | 056 | Mahendranagar | 099 |
| Ilam | 027 | Surkhet | 083 |
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]XXXXXXXor97[0-6]XXXXXXX - Example (National):
9841234567 - Example (International):
+977-9841234567
Structure:
- Mobile Prefix: 3 digits (e.g., 984, 985, 980, 981)
- Subscriber Number: 7 digits
- Total Length: 10 digits (without country code)
Mobile Number Prefixes by Operator (source):
| Operator | Prefixes | Technology | Status |
|---|---|---|---|
| Nepal Telecom (NTC) | 984, 985, 986, 976 | GSM/4G | Operational |
| Nepal Telecom (NTC) | 974, 975 | CDMA/GSM | Operational (converted to GSM) |
| Ncell | 980, 981, 982, 970 | GSM/4G | Operational |
| Smart Telecom | 961, 962, 988 | GSM | License Revoked |
| UTL | 972 | CDMA | Service Discontinued |
| Hello Mobile | 963 | GSM | License Revoked |
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.
- Format:
1660[Area Code][Subscriber] - Example:
16601234567(Kathmandu area)
Structure:
- Toll-Free Prefix: 1660 (4 digits)
- Area Code: 2 digits (e.g., 01 for Kathmandu)
- Subscriber Number: 5 digits
- Total Length: 11 digits
Registration Information (Nepal Telecom Toll-Free Service):
- Registration Charge: NPR 1,000
- Monthly Rental: NPR 1,000 (includes 400 free minutes)
- STD Facility Deposit: NPR 15,000 (if required)
- Call Charges: Receiving party pays normal voice tariff rates
- Features: 10 simultaneous calls, welcome voice message, nationwide availability
- Eligibility: Businesses must submit PAN, office registration letter, and application form
Special Services Numbers
Special services include emergency and premium-rate numbers.
- Format:
[1-9]XX - Example:
100(for police)
Structure:
- Prefix: 1–3 digits depending on the service
Emergency Numbers:
- 100: Police (free from all networks)
- 101: Fire Brigade (free from all networks)
- 102: Ambulance (free from all networks)
- 103: Traffic Control
- 104: Child Missing Emergency
- 1115: Health Emergency
- 1144: Tourist Police
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:
- Landline to Landline (same area): Dial the subscriber number only, e.g.,
1234567 - Landline to Landline (different area): Dial
0+ area code + subscriber number, e.g.,01-1234567 - Mobile to Landline: Dial
0+ area code + subscriber number, e.g.,01-1234567 - Landline to Mobile: Dial the full 10-digit mobile number, e.g.,
9841234567 - Mobile to Mobile: Dial the full 10-digit mobile number directly, e.g.,
9841234567
Common Mistake: Include the 0 prefix when calling landlines from mobiles, but omit it when dialing mobile numbers.
International Dialing
From Nepal to Abroad
- Dial international prefix:
00 - Dial country code (e.g.,
91for India) - Dial area code and subscriber number
- Example:
00-91-11-12345678(calling Delhi, India)
From Abroad to Nepal
- Dial your country's international access code (e.g.,
011from USA,00from most countries, or use+) - Dial Nepal country code:
977 - Dial area code without the leading 0 (for landlines) or full mobile number
- Examples:
- Landline:
+977-1-1234567(Kathmandu) - Mobile:
+977-9841234567
- Landline:
Phone 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):
regex/^0[1-9]\d{7}$/ -
Landline Numbers (6-digit subscriber, rural areas):
regex/^0[1-9]\d{6}$/ -
Mobile Numbers (National Format):
regex/^9(8[0-9]|7[0-6])\d{7}$/ -
Mobile Numbers (International E.164 Format):
regex/^\+977(9(8[0-9]|7[0-6])\d{7})$/ -
Toll-Free Numbers (11 digits):
regex/^1660\d{7}$/ -
Emergency Numbers (3 digits):
regex/^1\d{2,3}$/ -
Combined Validation Pattern (Any Nepal Number):
regex/^(\+977|977|0)?((1\d{2,3})|(1660\d{7})|([1-9]\d{6,7})|(9[78]\d{8}))$/
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):
- 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.
Major Telecom Operators and Number Ranges
| Operator | Service Type | Number Range | Subscribers (Apr 2025) | Market Share | Coverage | Status |
|---|---|---|---|---|---|---|
| Nepal Telecom (NTC) | Landline | 01, 02, 03, etc. | 412,030 fixed | 52.3% (voice) | Nationwide, 4G in major cities | Operational |
| Nepal Telecom (NTC) | Mobile | 984, 985, 986, 976, 974, 975 | 15.1M mobile | 52.3% (voice) | 90%+ population, 4G available | Operational |
| Ncell | Mobile | 980, 981, 982, 970 | 14.2M mobile | 47.7% (voice) | 92%+ population, 4G available | Operational |
| Smart Telecom | Mobile | 961, 962, 988 | - | - | - | License Revoked |
| UTL | Mobile | 972 | - | - | - | Service Discontinued |
| Hello Mobile | Mobile | 963 | - | - | - | License Revoked |
Market Statistics (April 2025) (NTA MIS Report):
- 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.
Operator Contact Information:
- Nepal Telecom: www.ntc.net.np | Customer Care: 198 (toll-free)
- Ncell: www.ncell.axiata.com | Customer Care: 9010 (toll-free from Ncell)
- NTA (Regulator): www.nta.gov.np | Phone: +977-1-5355474
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:
- 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
Mobile Network Codes (MNC) for Nepal:
- MCC: 429 (Mobile Country Code for Nepal)
- MNC: 01 (Nepal Telecom GSM)
- MNC: 02 (Ncell)
- MNC: 03 (Nepal Telecom CDMA – legacy)
- MNC: 04 (Smart Cell – inactive)
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:
- Operator Applications: Telecom operators request number blocks from NTA based on projected subscriber growth
- Assignment Policy: NTA assigns contiguous number blocks to minimize routing complexity
- Conservation Measures: NTA monitors utilization rates and may reclaim unused number blocks
- Public Documentation: All allocations are documented in periodic MIS reports
Number Block Sizes:
- Mobile operators receive blocks of 1 million numbers (e.g., 984-0000000 to 984-9999999)
- Landline allocations vary by region based on population density
Technical Restrictions and Special Cases
Golden Numbers (Premium Numbers):
- Definition: Memorable numbers with repeated digits or patterns (e.g., 9841111111, 9848888888)
- Pricing: Available at premium costs (typically 5–10x standard SIM price)
- Acquisition: Available through operator retail channels on first-come basis
- Purpose: Preferred by businesses for marketing and brand recognition
Number Blocking and Fraud Prevention:
- Operators may block numbers involved in spam, fraud, or illegal activities
- Temporary suspension for unpaid bills (prepaid: automatic; postpaid: after notice period)
- Permanent deactivation after 90 days of inactivity on prepaid SIMs
- Anti-spam measures include call rate limiting and reported number databases
SIM Registration Requirements:
- Mandatory: All SIM cards must be registered with valid government-issued ID
- Biometric Verification: Required for new SIM activation (fingerprint and photo)
- Documents Accepted: National ID, Citizenship Certificate, Passport (foreigners)
- Corporate SIMs: Require company registration documents and authorized signatory ID
- Limit: Maximum SIMs per person varies by operator policy (typically 5–10)
VoIP and Virtual Numbers:
- Nepal's technology-neutral telecom regulations permit VoIP services (ITU DataHub)
- International providers offer virtual Nepal numbers for business use
- General ICT laws provide regulatory oversight with no specific VoIP-only restrictions
- VoIP providers need a telecom operator license from NTA to receive local number allocations
Number Reservation and Transfer:
- Prepaid numbers: Deactivated after 90 days of inactivity; reactivation possible within grace period
- Postpaid numbers: Require formal cancellation request
- Number transfer between individuals not officially supported – you must maintain original registration
- Corporate number transfers require documentation of business ownership change
Technical Considerations for Developers
1. Validation Best Practices:
- Use the regular expressions provided in the Regex section above
- Strip formatting characters (spaces, hyphens, parentheses) before validation
- Accept both national (0-prefixed) and international (+977) formats
- Validate length before pattern matching for better performance
2. Formatting and Storage:
- Storage Format: Store numbers in E.164 format (
+977XXXXXXXXXX) - Display Format: Format for user display according to local conventions (
01-1234567for landlines,984-1234567for mobiles) - Database Schema: Use
VARCHAR(15)to accommodate international format with country code
3. 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:
- Invalid Prefixes: Reject numbers with revoked operator prefixes (961, 962, 972, 963)
- Length Validation: Mobile must be exactly 10 digits (national) or 13 (+977)
- Area Code Validation: Cross-reference area codes with official list
- Future-Proofing: Design for MNP – don't hard-code operator detection by prefix
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:
- 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:
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)
- Java: Google libphonenumber - Industry-standard validation
- Go: nyaruka/phonenumbers