US Phone Number Validator

Instantly check whether a US phone number is structurally valid under NANP rules.

Ad placeholder (leaderboard)
Enjoying the tools? Go Pro for £4.99 (one-time) and remove all ads — forever, on this device. Remove ads — £4.99

A US phone number validator that checks every digit of your number against the North American Numbering Plan (NANP) — the official framework that governs how telephone numbers are structured in the United States (and 25 other NANP territories). Paste in a number in any common format and the tool breaks it down into its three components, explains any rule that fails, and delivers two normalised outputs ready to copy: the standard US display format and the international E.164 string.

How it works

NANP divides every US telephone number into exactly 10 digits in three groups:

  • NPA (Numbering Plan Area) — the 3-digit area code, such as 212 for Manhattan or 415 for San Francisco.
  • NXX (Exchange code) — the next 3 digits, originally the central-office exchange identifier.
  • XXXX (Subscriber number) — the final 4 digits assigned to the individual line.

The validator strips every non-digit character from your input (spaces, dashes, parentheses, dots) and then strips a leading 1 if you included the country code, leaving a bare 10-digit string. It then enforces four rules:

  1. Length — exactly 10 digits (or 11 with a leading 1).
  2. NPA first digit — must be 2–9; 0 is the international access prefix and 1 is the NANP country code, so neither can open an area code.
  3. NPA not an N11 code — 211 through 911 (where the second digit is 1 and the third is also 1) are reserved for abbreviated services and are never assigned as geographic area codes.
  4. NXX first digit — must be 2–9 for the same reason as the NPA.

The tool also recognises the 555 exchange and specifically labels numbers in the 555-0100 through 555-0199 range as the permanently unassigned “fictitious number” block that film and television productions use to avoid involving real subscribers.

Worked example

Suppose you receive the string +1 (212) 555-0142 from a web form.

  • Strip non-digits: 12125550142
  • Strip leading country code 1: 2125550142
  • NPA: 212 — first digit 2, valid; not an N11 code; not reserved.
  • NXX: 555 — first digit 5, valid; but this is the 555 exchange.
  • Subscriber: 0142 — numeric value 142, which falls in 100–199.
  • Result: structurally valid — 555-01xx unassigned fiction range.
  • Formatted: (212) 555-0142
  • E.164: +12125550142

Now try 911-555-0100:

  • NPA: 911 — this is an N11 service code.
  • Result: invalid — N11 codes are not geographic area codes.
InputNPANXXResult
(212) 555-0142212555Valid (fiction range)
415-867-5309415867Valid
1-800-555-1234800555Valid (800 toll-free)
911-555-0100911555Invalid — N11 code
012-345-6789012345Invalid — NPA starts with 0

Every check runs locally in your browser — nothing is sent to any server.

Ad placeholder (rectangle)