Guides

US phone numbers: format, area codes, validation and texting rules

US phone number format: +1 plus 10 digits (NPA-NXX-XXXX), US vs Canada area codes, tested validation code, porting, 10DLC, TCPA and the FCC reassigned database.

By Published 18 min read

On this page

A US phone number has 10 digits: a three-digit area code, a three-digit exchange code and a four-digit line number, written (NPA) NXX-XXXX. The country code is +1, so in E.164 a number looks like +1 201 555 0123. Canada, Bermuda and 17 Caribbean countries share +1, mobile and landline numbers share the same area codes, and numbers can be ported between them, so the digits never tell you the line type or the current carrier.

This guide is part of our phone numbers by country series. For the other +1 countries and the rest of the world, see our international formats table. The tables are generated from libphonenumber's metadata, our MNP atlas and our public catalog. Example numbers are masked with X or come from the fictional 555-01XX range. We read the sources from the North American Numbering Plan Administrator (NANPA), the Federal Communications Commission (FCC), CTIA and ATIS on 2026-11-02. This is a summary, not legal advice.

What does a US phone number look like?

The US is part of the North American Numbering Plan (NANP). NANPA describes NANP numbers as "ten-digit numbers consisting of a three-digit Numbering Plan Area (NPA) code, commonly called an area code, followed by a seven-digit local number", in the format NXX-NXX-XXXX, "where N is any digit from 2 through 9 and X is any digit from 0 through 9" (NANPA). So neither the area code nor the exchange code can start with 0 or 1.

PartDigitsExampleRule
Area code (NPA)3201First digit 2–9
Exchange code (NXX, central office code)3555First digit 2–9
Line number40123Any digits
ItemValue
Country calling code+1
International call prefix (dialling out)011
Trunk prefix (dialling at home)1
Mobile: digits after +110
Fixed line: digits after +110
Toll-free: digits after +110
Premium rate: digits after +110
Personal number: digits after +110
Mobile, national format (masked)(20X) XXX-XXXX
Mobile, international (masked)+1 20X XXX XXXX
Mobile, E.164 (masked)+120XXXXXXXX

The table lists no separate fixed-line example because there is no separate pattern: libphonenumber's metadata gives US mobile numbers the same pattern as landlines (see below). The 1 trunk prefix is what you dial before a long-distance number inside the NANP (1-201-555-0123); it is not part of the number, so strip it. Calls out of the US start with 011, not 00.

Store only the E.164 form, +1 followed by the ten digits. US forms collect numbers as (201) 555-0123, 201.555.0123, 1-201-555-0123 or +1 201 555 0123; a numbering-plan library with the default region US turns all of them into +12015550123.

A card splits +1 and ten digits into area code, exchange and line-number groups marked 2-9; a hub links +1 to US, CA and JM pins; a phone and a handset feed a lookup tile; a 10DLC sheet, a shield and a 555-01 pill.A card splits +1 and ten digits into area code, exchange and line-number groups marked 2-9; a hub links +1 to US, CA and JM pins; a phone and a handset feed a lookup tile; a 10DLC sheet, a shield and a 555-01 pill.
Ten digits, one shared +1: the area code names the country, but only a lookup tells mobile from landline.

How do I tell a US number from a Canadian or Caribbean one?

By the area code. The NANP is "an integrated telephone numbering plan serving 20 North American countries": the United States and its territories, Canada, Bermuda and 17 Caribbean countries (NANPA). Each area code belongs to one of them, so +1 alone doesn't mean "US". NANPA's area-code database, dated 2 November 2026, lists these geographic codes in service outside the 50 states and DC (NANPA NPA database):

Country or territoryArea codes
Canada55 codes, for example 204, 416, 437, 514, 604, 647, 778, 905
Puerto Rico (US)787, 939
US Virgin Islands, Guam, Northern Mariana Islands, American Samoa340, 671, 670, 684
Dominican Republic809, 829, 849
Jamaica876, 658
Bahamas, Barbados, Bermuda, Cayman Islands242, 246, 441, 345
Trinidad and Tobago, Grenada, St. Lucia, Dominica868, 473, 758, 767
Antigua and Barbuda, St. Kitts and Nevis, St. Vincent and the Grenadines268, 869, 784
Anguilla, British Virgin Islands, Montserrat, Sint Maarten, Turks and Caicos264, 284, 664, 721, 649

The Caribbean countries are separate countries with their own regulators, even though their numbers look domestic. Treat them as international destinations in your pricing, routing and fraud rules. libphonenumber gives the US territories their own region codes (PR, VI, GU, MP, AS), so a check for US alone rejects them; add those codes if you serve the territories.

Which area codes are in use?

The generator counted the area codes that libphonenumber's US pattern accepts (metadata 9.0.39). Because mobile and fixed numbers share the pattern, the same list covers both:

Area codes starting withArea codes in United States numbers (mobile and fixed line alike)Count
2201–203, 205–209, 210, 212–219, 220, 223–225, 227–229, 231, 234, 235, 239, 240, 248, 251–254, 256, 260, 262, 267, 269, 270, 272, 274, 276, 279, 281, 28346
3301–305, 307–309, 310, 312–319, 320, 321, 323–327, 329, 330–332, 334, 336, 337, 339, 341, 346, 347, 350–353, 360, 361, 363, 364, 369, 380, 385, 38647
4401, 402, 404–409, 410, 412–415, 417, 419, 423–425, 430, 432, 434, 435, 440, 442, 443, 445, 447, 448, 458, 463, 464, 469, 470, 472, 475, 478, 479, 480, 48439
5501–505, 507–509, 510, 512, 513, 515–518, 520, 530, 531, 534, 539, 540, 541, 551, 557, 559, 561–564, 567, 570–575, 580, 582, 585, 58640
6601–603, 605–609, 610, 612, 614–619, 620, 623, 626, 628, 629, 630, 631, 636, 640, 641, 645, 646, 650, 651, 656, 657, 659, 660–662, 667, 669, 678, 680–682, 686, 68944
7701–704, 706–708, 712–719, 720, 724–728, 730–732, 734, 737, 738, 740, 743, 747, 748, 754, 757, 760, 762, 763, 765, 769, 770–775, 779, 781, 785, 78648
8801–806, 808, 810, 812–818, 820, 821, 826, 828, 830–832, 835, 838, 839, 840, 843, 845, 847, 848, 850, 854, 856–859, 860, 862–865, 870, 872, 87844
9901, 903, 904, 906–909, 910, 912–919, 920, 925, 928, 929, 930, 931, 934, 936–938, 940, 941, 943, 945, 947–949, 951, 952, 954, 956, 959, 970–973, 975, 978, 979, 980, 983–986, 98951
All—359

NANPA's database lists 372 geographic area codes in service for the 50 states and DC, 13 more than the 359 above. The 13 are overlays: new area codes added on top of an existing one, which receive numbers only as the old code runs out. libphonenumber (Python 9.0.40 and libphonenumber-js 1.13.13 alike) rejected numbers in all 13 when we tested them on 2026-11-02: 357 and 837 (California), 436 (Ohio), 457 (Louisiana), 465 and 624 (New York), 471 (Mississippi), 483 (Alabama), 621 (Texas), 679 (Michigan), 729 (Tennessee), 861 (Illinois) and 924 (Minnesota). If your sign-up form rejects a number in one of these codes, update your library, and don't hard-reject a number only because the area code is new to you.

New codes keep arriving. NANPA's database shows ten US area codes that went into service in 2025 or 2026, from 621 (Texas, 23 January 2025) to 465 (New York, 18 June 2026). 565 (Georgia) is planned for 6 December 2027, and 451 (North Carolina) and 761 (Kentucky) are assigned with no in-service date yet (NANPA, planned area codes).

Some area codes aren't geographic at all. Toll-free numbers use 800, 833, 844, 855, 866, 877 and 888, premium-rate numbers 900, and NANPA lists 5XX codes such as 500 and 533 as non-geographic services; libphonenumber types them PERSONAL_NUMBER. None of them belongs to a place.

Can you tell a mobile from a landline by its number?

No. In the FCC's words, "blocks of telephone numbers used by both wireline and wireless carriers are assigned to particular rate centers" (FCC news release, 2003), so mobile and landline carriers draw on the same area codes. libphonenumber's metadata therefore has no separate mobile pattern for the US: it types every valid geographic number FIXED_LINE_OR_MOBILE. Our mobile-vs-landline research found the same overlap in 23 of 238 regions, including Canada.

Porting widens the gap further. Since 2003-2004 a landline number can move to a mobile carrier and back (next section). So when you need to know whether a number can receive SMS, for 10DLC campaigns, OTP or appointment reminders, the answer has to come from a line-type lookup, not from the digits. Our carrier and line-type lookup guide shows what such a lookup returns.

How do I validate a US number in code?

Use a libphonenumber port with full metadata and the default region US, keep only geographic numbers, and flag the fictional 555-01XX range. The second helper tells you which NANP country a +1 number belongs to.

Python (pip install phonenumbers):

us_numbers.py
import re

import phonenumbers
from phonenumbers import PhoneNumberType as T

CALLABLE = {T.FIXED_LINE_OR_MOBILE, T.MOBILE, T.FIXED_LINE}
FICTIONAL = re.compile(r"^\d{3}55501\d{2}$")  # NPA-555-0100 to NPA-555-0199


def normalize_us(raw: str) -> str | None:
    """E.164 for a US geographic number (mobile or landline), or None."""
    try:
        n = phonenumbers.parse(raw, "US")
    except phonenumbers.NumberParseException:
        return None
    if (not phonenumbers.is_valid_number(n) or phonenumbers.region_code_for_number(n) != "US"
            or phonenumbers.number_type(n) not in CALLABLE):
        return None
    return phonenumbers.format_number(n, phonenumbers.PhoneNumberFormat.E164)


def is_fictional(e164: str) -> bool:
    """True for the 555-01XX range NANPA keeps for films and ads."""
    return bool(FICTIONAL.match(e164[2:]))


def nanp_country(raw: str) -> str | None:
    """Which NANP country an area code belongs to: 'US', 'CA', 'JM', ..."""
    try:
        return phonenumbers.region_code_for_number(phonenumbers.parse(raw, "US"))
    except phonenumbers.NumberParseException:
        return None


for raw in ["(201) 555-0123", "1-201-555-0123", "+1 201 555 0123", "001 201 555 0123",
            "291 555 0123", "(800) 555-0123", "+1 416 555 0123", "+1 876 555 0123"]:
    e164 = normalize_us(raw)
    note = " (fictional)" if e164 and is_fictional(e164) else ""
    print(f"{raw:18} {nanp_country(raw)!s:5} {e164}{note}")

JavaScript (npm install libphonenumber-js):

us_numbers.mjs
import { parsePhoneNumberFromString } from "libphonenumber-js/max";

const CALLABLE = new Set(["FIXED_LINE_OR_MOBILE", "MOBILE", "FIXED_LINE"]);
const FICTIONAL = /^\d{3}55501\d{2}$/; // NPA-555-0100 to NPA-555-0199

/** E.164 for a US geographic number (mobile or landline), or null. */
export function normalizeUs(raw) {
  const phone = parsePhoneNumberFromString(String(raw), "US");
  return phone?.isValid() && phone.country === "US" && CALLABLE.has(phone.getType()) ? phone.number : null;
}

/** True for the 555-01XX range NANPA keeps for films and ads. */
export const isFictional = (e164) => FICTIONAL.test(e164.slice(2));

/** Which NANP country an area code belongs to: "US", "CA", "JM", ... */
export const nanpCountry = (raw) => {
  const phone = parsePhoneNumberFromString(String(raw), "US");
  return phone?.isValid() ? (phone.country ?? null) : null;
};

for (const raw of ["(201) 555-0123", "1-201-555-0123", "+1 201 555 0123", "001 201 555 0123",
  "291 555 0123", "(800) 555-0123", "+1 416 555 0123", "+1 876 555 0123"]) {
  const e164 = normalizeUs(raw);
  console.log(raw.padEnd(18), String(nanpCountry(raw)).padEnd(5), `${e164}${e164 && isFictional(e164) ? " (fictional)" : ""}`);
}

We ran both on 2026-11-02 (Python 3.12 with phonenumbers 9.0.40, Node.js 24 with libphonenumber-js 1.13.13). They printed the same results; Python writes None where JavaScript writes null:

Text
(201) 555-0123     US    +12015550123 (fictional)
1-201-555-0123     US    +12015550123 (fictional)
+1 201 555 0123    US    +12015550123 (fictional)
001 201 555 0123   None  None
291 555 0123       None  None
(800) 555-0123     US    None
+1 416 555 0123    CA    None
+1 876 555 0123    JM    None

Three things stand out. The fictional 555-0123 number is valid to the library, so only your own check catches it. 001 201 …, the way a caller in Europe dials a US number, fails with the region US, because the US exit code is 011; strip the 00 or parse such inputs with the caller's region. And the Canadian and Jamaican numbers are valid +1 numbers that normalize_us correctly refuses.

The shape regex column tests the pattern most tutorials give, after spaces, dashes and brackets are removed:

#CaseInput (masked)Shape regex ^(?:\+1|001|1)?[2-9]\d{9}$libphonenumber (US)
1National format (no trunk prefix written)(20X) XXX-XXXXpassesvalid, FIXED_LINE_OR_MOBILE
2International, with spaces+1 20X XXX XXXXpassesvalid, FIXED_LINE_OR_MOBILE
3International dialling prefix 00001 (20X) XXX-XXXXpassesinvalid
4E.164+120XXXXXXXXpassesvalid, FIXED_LINE_OR_MOBILE
5Digits and spaces only20X XXX XXXXpassesvalid, FIXED_LINE_OR_MOBILE
6One digit short20XXXXXXXfailsinvalid
7One digit too many20XXXXXXXXXfailsinvalid
8Mobile shape, unused block 2929XXXXXXXXpassesinvalid
9Personal number range(50X) XXX-XXXXpassesvalid, PERSONAL_NUMBER

Rows 3, 8 and 9 are the ones to remember. The regex accepts the 00 form that the library rejects, an area code in the unused 29X block and a 500 personal-services number that isn't geographic. The regex also can't tell 416 (Canada) from 212 (New York). Our post on why an E.164 regex is not enough shows the same problem in other countries, and our Python and JavaScript guides cover more languages.

What about 555 numbers?

Only 555-0100 through 555-0199 are fictional. NANPA says these "fictitious, non-working numbers … will remain reserved for entertainment/advertising" in every area code. The other 555 line numbers were returned to the general inventory after the FCC approved the change in September 2016, except 555-1212 (directory assistance) and 555-4334 (NANPA, 555 line numbers). So (212) 555-0142 is a safe placeholder for tests and docs, while a number such as (212) 555-2XXX isn't guaranteed to be fictional.

Does number portability change the carrier?

Yes, and in both directions between mobile and landline. Under 47 CFR 52.31, wireless carriers had to support number portability in the 100 largest metropolitan statistical areas by 24 November 2003 (eCFR). The FCC said that date enabled "both wireless-to-wireless and intermodal porting in those markets", and that wireline carriers outside those areas had to port numbers to wireless carriers from 24 May 2004 (FCC news release, 2003). "Intermodal" means between wireline and wireless, and the porting rules also cover interconnected VoIP.

How fast a port happens is set by 47 CFR 52.35 (eCFR):

  • One business day for a simple wireline-to-wireline or simple intermodal port, unless the customer or new provider asks for longer. The FCC adopted this interval in May 2009 (FCC 09-41).
  • Four business days for a non-simple port, and for carriers that got a waiver of the one-day rule.
  • Intermodal ports are defined to include wireline-to-wireless, wireless-to-wireline and ports involving interconnected VoIP.

The US row of our MNP atlas:

ItemValue
Mobile number portabilityYes
Mobile porting since2003-11-24
Maximum porting time1 business day (simple ports)
Governing rule47 CFR 52.31 (CMRS LNP); 47 CFR 52.35 (porting intervals)
Published porting volumenone published
Sourceecfr.gov, docs.fcc.gov
Checked2026-11-02

The atlas row gives the 2003 wireless deadline; the 2004 date above applies to areas outside the 100 largest MSAs. Our MNP atlas compares the US with other countries. For routing, SMS eligibility or fraud rules, look up the current carrier and line type per number. Our SMS routing with MNP and HLR use case shows where that pays off.

What are the rules for business texts and calls?

These summarise federal rules and industry documents as we read them on 2026-11-02. They don't cover state laws. Not legal advice; ask counsel how they apply to you.

Which number type do you send from?

US carriers sort business (application-to-person, A2P) messaging by the kind of number it comes from, and each has its own vetting:

SenderWhat it isVetting
10DLCAn ordinary ten-digit numberBrand and campaign registration with The Campaign Registry through your provider
Toll-free8XX numbers that are text-enabledVerification by your messaging provider before sending
Short codeFive or six digits, not a NANP numberApproval through the cross-carrier short code program

The Campaign Registry describes 10DLC as "an A2P messaging channel in which Brands and Campaign Service Providers (CSPs) are verified prior to being allowed to send messages", and brands can't register with it directly (TCR). One messaging provider's FAQ says that "from February 3rd 2025, any 10DLC traffic which is not registered will be blocked altogether" (Telnyx FAQ). Our 10DLC guide covers brands, campaigns and timelines.

For toll-free texting, CTIA's guidelines say only the holder of the toll-free voice number may text-enable it (CTIA, 2023, section 5.5.6). Providers run their own verification: one large cloud provider says registration can take up to 15 business days, and that from 15 September 2026 every new toll-free registration needs a public privacy policy URL and a terms and conditions URL (AWS, 2026). Across all three sender types, CTIA expects opt-in before messages, clear sender identification and easy opt-out.

The Telephone Consumer Protection Act, 47 U.S.C. §227, restricts autodialed and prerecorded calls without the called party's prior express consent (LII), and the FCC applies it to autodialed texts. The FCC's rules in 47 CFR 64.1200 require prior express written consent for autodialed marketing texts, no solicitations before 8 a.m. or after 9 p.m. in the recipient's local time, and respect for the National Do Not Call Registry (eCFR). An area code is only a rough guide to local time: people keep their numbers when they move.

Opt-out rules change on 25 November 2026. The FCC's order, published in the Federal Register on 26 October 2026, lets callers treat an opt-out from one category of informational messages as applying only to that category, and lets them designate an exclusive way to revoke consent (Federal Register, 2026). Our TCPA checklist and revoke-all guide explain what that means for your opt-out records.

Reassigned numbers

US numbers are recycled. A number that gave you consent last year may now belong to someone else. The FCC set up the Reassigned Numbers Database (RND) for this in its December 2018 order (FCC 18-177). You send a number and the date you last knew it belonged to your customer, and it answers "yes", "no" or "no data". A caller that checked the database and got a wrong "no" has a limited safe harbor from TCPA liability (RND). Our RND guide shows how to query it before each campaign.

Calls: STIR/SHAKEN

For voice, the FCC required providers to implement the STIR/SHAKEN caller-ID authentication framework in the IP parts of their networks by 30 June 2021 (FCC 20-42). The originating provider signs each call with an attestation level, A, B or C, defined in the ATIS SHAKEN standard (ATIS-1000074). Full attestation (A) needs a verified link between your account and the calling number, so call from numbers your provider assigned to you. Our attestation guide explains the levels and what they don't prove.

What that means for OTP

A one-time passcode the user asked for isn't marketing, but it still travels a registered route. Send it from a registered 10DLC campaign, a verified toll-free number or a short code, keep it free of offers, and check the line type first: a code sent to a landline is wasted, and unexpected premium or international destinations are a sign of SMS pumping.

What changed recently?

The rows for US and +1 in our numbering-plan changes dataset, built from libphonenumber's release notes:

Change named in the release notes (2019-01-08 to 2026-09-23)Releases
Numbering-plan metadata (validation, lengths, types)53
Short numbers2
All55

Latest numbering-plan updates for US: 2026-07-02 (v9.0.34), 2026-03-26 (v9.0.27), 2026-01-29 (v9.0.23), 2026-01-13 (v9.0.22), 2025-12-17 (v9.0.21).

US metadata changes almost every quarter, mostly as overlays and new exchanges come into use. A library that is a few months old will reject some valid numbers, as the 13 overlays above show, so update it at least monthly. Beyond numbering, the changes that matter are the new opt-out rules from 25 November 2026, the toll-free registration requirements from 15 September 2026 and the blocking of unregistered 10DLC traffic since February 2025.

What can MobileValidate check for US numbers?

Generated from our public catalog:

CheckAccepts United States numbersNotes
Format and country (every lookup)YesEach number is parsed first; an invalid number returns invalid_number and is never billed.
Carrier lookup (beta)YesLine type and current network where data exists; no data means unknown, not billed. Real time and bulk.
US/CA carrier lookup (premium)YesLine type and current network where data exists; no data means unknown, not billed. Bulk only.
Live network status (HLR)YesLive reachability, porting, roaming (true or false) and current network; unknown is free. Real time and bulk.
Number portability (MNP)YesPorted or not ported, and the current network code; unknown is free. Real time and bulk.
Spam reputationLimited accessAll countries except sanctioned ones; report coverage is strongest in North America and Europe.
Messaging appsYes: WhatsApp, Telegram, Viber, Signal*, iMessage*, RCS*, LINE*, Zalo, Botim*, Facebook Messenger*Registered, not registered or unknown; unknown is free.
Social networksYes: Facebook, Instagram, Threads, X (Twitter), TikTok*, Snapchat*, LinkedIn*Registered, not registered or unknown; unknown is free.
Online accounts (Apple, Amazon, Microsoft, Netflix)Yes: Apple, Amazon, Microsoft, NetflixRegistered, not registered or unknown; unknown is free.

* bulk jobs only. Catalog as fetched on 2026-11-02; the live list is at GET /v1/services.

A lookup returns network and registration facts. It never returns a subscriber's name or address, and we don't offer reverse lookups. For US and Canadian lists there are two carrier checks: the global carrier lookup in real time and bulk, and the premium US/CA carrier lookup in bulk jobs. Both answer the question the digits can't: is this line mobile, landline or VoIP today? Neither replaces the Reassigned Numbers Database, which answers a different question.

Here is a practical flow before an SMS campaign or OTP: normalise with normalize_us(), then one carrier lookup per number decides whether to text it. It uses the public sandbox key mv_test_publicSandboxn9ZgneuhR1B9CRfKG3fulym and our test values. The sandbox accepts only those UK drama numbers, so the example uses them. With a live key, pass the output of normalize_us().

us_sms_plan.py
import os

import requests  # pip install requests

API = "https://api.mobilevalidate.com/v1/lookup"
KEY = os.environ["MOBILEVALIDATE_API_KEY"]


def sms_plan(numbers: list[str]) -> dict[str, str]:
    """Per E.164 number: 'text' (mobile), 'no_sms' (landline, toll-free) or 'review' (VoIP, unknown...)."""
    r = requests.post(API, headers={"Authorization": f"Bearer {KEY}"}, timeout=15,
                      json={"numbers": numbers, "checks": ["carrier"], "wait": 5})
    r.raise_for_status()
    plan = {}
    for row in r.json()["results"]:
        c = row["checks"]["network.carrier"]
        line = (c["attributes"] or {}).get("line_type") if c["status"] == "completed" else None
        if line == "mobile":
            plan[row["e164"]] = "text"
        elif line in ("fixed_line", "toll_free"):
            plan[row["e164"]] = "no_sms"
        else:
            plan[row["e164"]] = "review"  # voip, fixed_line_or_mobile, or no answer (not billed)
    return plan


print(sms_plan(["+447700900001", "+447700900002", "+447700900005"]))

What the test values returned when we ran it on 2026-11-02:

Test valueCarrier answerPlan
+447700900001line_type: "mobile"text
+447700900002unknown (NO_DATA), not billedreview
+447700900005unsupported_country, not billedreview

Keep "we don't know" apart from "not mobile": a number with no answer goes to review, not to the bin. Requests with 20 or more consecutive numbers are refused (403 suspected_enumeration), and our acceptable use policy forbids finding recipients for unsolicited messages. For WhatsApp or other app checks on customers who opted in, see WhatsApp number check; for porting status, MNP lookup. People can object through our opt-out form.

What are the key takeaways?

  • A US number is +1 plus ten digits, (NPA) NXX-XXXX, with the area code and exchange starting 2–9; store the E.164 form and strip the trunk 1.
  • +1 is shared by 20 countries. Use the area code (or a library's region) to separate the US from Canada and the Caribbean, and allow PR, VI, GU, MP and AS if you serve US territories.
  • Mobile and landline numbers share every area code and can port between each other, so only a line-type lookup tells you whether a number can receive SMS.
  • Only 555-0100 to 555-0199 are fictional; libraries accept them as valid, so filter them yourself.
  • Register 10DLC campaigns or verify toll-free numbers before texting, keep TCPA consent records, prepare for the opt-out rules of 25 November 2026, and check the Reassigned Numbers Database before each campaign.

Platform, regulator and company names are used descriptively. MobileValidate is not affiliated with any of them.

Sources

  1. About the North American Numbering Plan — North American Numbering Plan Administrator (NANPA), 2026
  2. NPA database (CSV of all area codes, file date 2 November 2026) — North American Numbering Plan Administrator (NANPA), 2026
  3. Planned area codes not yet in service — North American Numbering Plan Administrator (NANPA), 2026
  4. 555 line numbers — North American Numbering Plan Administrator (NANPA), 2026
  5. FCC clears way for local number portability between wireline and wireless carriers (news release, 10 November 2003) — Federal Communications Commission, 2003
  6. 47 CFR 52.31 Deployment of long-term database methods for number portability by CMRS providers — eCFR (US Government Publishing Office), 2026
  7. 47 CFR 52.35 Porting intervals — eCFR (US Government Publishing Office), 2026
  8. Local Number Portability Porting Interval and Validation Requirements, Report and Order (FCC 09-41, 13 May 2009) — Federal Communications Commission, 2009
  9. Messaging Principles and Best Practices (May 2023) — CTIA, 2023
  10. The Campaign Registry: the 10DLC ecosystem — The Campaign Registry, 2026
  11. Frequently asked questions about 10DLC — Telnyx, 2026
  12. United States toll-free number registration process (AWS End User Messaging SMS User Guide) — Amazon Web Services, 2026
  13. 47 U.S.C. 227 Restrictions on use of telephone equipment — Legal Information Institute, Cornell Law School, 2026
  14. 47 CFR 64.1200 Delivery restrictions — eCFR (US Government Publishing Office), 2026
  15. Enhancing the Ability of Consumers To Control the Robocalls (final rule, 91 FR 67214, 2026-21821, effective 25 November 2026) — Federal Register, 2026
  16. About the Reassigned Numbers Database — Reassigned Numbers Database (administrator for the FCC), 2026
  17. Advanced Methods to Target and Eliminate Unlawful Robocalls, Second Report and Order (FCC 18-177) — Federal Communications Commission, 2018
  18. Call Authentication Trust Anchor, Report and Order (FCC 20-42) — Federal Communications Commission, 2020
  19. ATIS-1000074.v003: Signature-based Handling of Asserted information using toKENs (SHAKEN) — ATIS, 2019
  20. libphonenumber PhoneNumberMetadata.xml (region US) and release notes — libphonenumber project (Apache License 2.0), 2026

Frequently asked questions

How many digits is a US phone number?

Ten digits: a three-digit area code, a three-digit exchange code and a four-digit line number, written (NPA) NXX-XXXX, for example (201) 555-0123. With the country code it is +1 followed by the ten digits, +12015550123 in E.164. A leading 1 dialled at home is a trunk prefix and isn't part of the number.

What is the US country code for WhatsApp and international use?

+1. Write the plus sign, 1 and the ten-digit number with no extra 1 or 0: (201) 555-0123 becomes +1 201 555 0123. Canada, Bermuda and 17 Caribbean countries share +1, so the area code, not the country code, tells you which country a number belongs to.

How can I tell a US number from a Canadian one?

By the area code. NANPA assigns each area code to one country; as of 2 November 2026 Canada has 55 geographic area codes in service, such as 416, 604 and 514. A numbering library such as libphonenumber returns the country (US or CA) for any valid +1 number.

Can I tell if a US number is a mobile or a landline from its digits?

No. US mobile and landline numbers come from the same area codes and exchanges, and numbers can be ported between wireless and wireline carriers since 2003-2004. libphonenumber types every US geographic number FIXED_LINE_OR_MOBILE. Only a carrier or line-type lookup tells you what the line is today.

What are 555 numbers in the US?

Only 555-0100 through 555-0199 are reserved for fictional use in films and advertising, in every area code. NANPA lists 555-1212 (directory assistance) and 555-4334 as still in use, and the other 555 line numbers went back to the general inventory. Validation libraries accept 555-01XX numbers as valid, so filter them yourself if they shouldn't reach your systems.

Can a US number keep its digits after changing carrier?

Yes. Wireless porting started on 24 November 2003 in the 100 largest metropolitan areas and by 24 May 2004 elsewhere, including ports from landlines to mobiles. Under 47 CFR 52.35, a simple wireline or intermodal port must be completed within one business day.

Do I need 10DLC registration to send SMS to US numbers?

For business texts from ordinary ten-digit numbers, yes. You register a brand and a campaign with The Campaign Registry through your messaging provider, and providers report that unregistered 10DLC traffic has been blocked since February 2025. Toll-free numbers need their own verification, and short codes have a separate approval process.

Can I check whether US customers are on WhatsApp?

Yes, for numbers you hold with a lawful basis, such as your own customers or sign-ups. A MobileValidate check answers registered, not registered or unknown with a checked_at date; unknown answers aren't billed. It never returns a name or profile, and requests that look like scans of number ranges are refused.

All articles

Know before you send.

Get a free test key in a minute. Live access is approved automatically, usually within 10–15 minutes.