Understanding US Area Codes & North American Numbering Plan (NANP)
Published: July 10, 2026 | Author: Sarah Jenkins (Telecom API Architect) | Category: Telecommunications
A deep dive into how American telephone numbers are structured under the North American Numbering Plan (NANP) for developer form validation.
### What is the North American Numbering Plan (NANP)?
The **North American Numbering Plan (NANP)** is the telephone numbering system used in 20 North American countries, including the United States, Canada, and Bermuda. Under NANP, all phone numbers consist of 10 digits structured as `NXX-NXX-XXXX`.
---
### Anatomy of a 10-Digit US Phone Number
A standard US phone number comprises three distinct components:
1. **Numbering Plan Area (NPA) / Area Code (3 digits)**: Identifies the geographic state/region or service type (e.g., 212 for Manhattan, NY; 310 for Los Angeles, CA; 800 for Toll-Free).
2. **Central Office Exchange Code (NXX) (3 digits)**: Identifies the specific switching central office within that area code.
3. **Line Number (XXXX) (4 digits)**: Identifies the specific subscriber telephone line.
```
(3 1 0) - 5 5 5 - 0 1 9 9
[Area Code] [Exchange] [Subscriber Line]
```
---
### Syntax Rules & Regex Validation for Developers
Under NANP specifications:
- The first digit of the Area Code (**N**) cannot be `0` or `1` (must be digits `2-9`).
- The first digit of the Central Office Exchange Code (**N**) cannot be `0` or `1` (must be digits `2-9`).
- Special reserved exchange prefixes: `555-0100` through `555-0199` are officially reserved by AT&T and the NANPA for fictional use in media and software testing.
#### Recommended E.164 Regex Pattern:
```regex
^+1[2-9]d{2}[2-9]d{6}$
```
---
### E.164 International Format Standard
For international SMS integration (e.g., Twilio, Plivo, MessageBird), phone numbers must be formatted in **E.164 format**:
- Leading country code prefix: `+1`
- 10-digit subscriber number with no spaces, hyphens, or parentheses.
- Example: `+13105550199`