Create fake phone numbers for testing, sample data, and demos—generated instantly in your browser with no downloads.
Faker emits whatever phone format the locale supplies — formats vary by region.
+15550100123), international with separators (+1 555-0100), or local national ((555) 0100-XXX).Phone numbers in production datasets are personally identifiable information (PII) under GDPR Article 4 and CCPA, and screenshots that leak a real cell number invite spam, SIM-swap probing, or doxxing. Hand-typing 123-456-7890 works once, but it fails libphonenumber validation and breaks the form you're trying to demo. A format-valid fake — one that passes Google's libphonenumber but routes nowhere — gives you realistic content without the risk.
+1 555-0123-456 looks real but is in the NANPA-reserved 555-01XX fictional range, so no one's grandmother gets a 3 a.m. call from a curious viewer.555-1234 repeated.These ranges are officially set aside by national regulators for use in fiction, drama, advertising, and similar content. Numbers in them are guaranteed not to ring a real subscriber.
| Country | Authority | Reserved range | Example |
|---|---|---|---|
| United States / Canada | NANPA (since 1994) | 555-0100 through 555-0199 | +1 (212) 555-0142 |
| United Kingdom | Ofcom | Geographic: XXX 496 0000-0999 (most cities); London 020 7946 0XXX |
+44 20 7946 0123 |
| United Kingdom | Ofcom | Mobile: 07700 900000-900999 |
+44 7700 900456 |
| France | ARCEP | 01 99 00 XX XX, 02 61 91 XX XX, mobile 06 39 98 XX XX |
+33 6 39 98 12 34 |
| Australia | ACMA | Landline 5550 XXXX / 7010 XXXX by region; mobile 0491 570 006-156 |
+61 491 570 100 |
| Germany | BNetzA | Per-city 1000-number blocks plus reserved mobile ranges | +49 30 23125 XXX |
Note: only the reserved sub-ranges are guaranteed safe. Other 555 numbers like 555-1212 (directory assistance) and 555-4567 are real and assignable.
| Format | Example | When to use |
|---|---|---|
| E.164 | +15550100123 |
API input, database column, Twilio/Vonage to field, libphonenumber format(E164) |
| International | +1 555-0100-123 |
Screenshots, marketing copy, anything human-readable across borders |
| National | (555) 0100-123 |
Country-specific UIs where the country is already implied |
RFC 3966 (tel: URI) |
tel:+1-555-0100-123 |
HTML <a href> click-to-call links |
If the country setting maps to a regulator-reserved fictional range (US 555-01XX, UK Ofcom drama ranges, France ARCEP ranges, etc.), yes — by definition the range is set aside and won't ring a real subscriber. If you generate a number outside those ranges (e.g., a generic random NANP number to satisfy libphonenumber), you're rolling the dice; someone may own it. Stick to the reserved ranges when the number will be visible to the public.
Format validation — yes. Google's libphonenumber, the de-facto standard used by WhatsApp, Android, and most form libraries, will mark these as valid because they conform to E.164 length and country-prefix rules. Carrier-level validation — no. Services like Twilio Lookup, Telesign, and Vonage Number Insight query the carrier and will return "invalid" or "no carrier" because the number isn't actually allocated. Plan accordingly: fakes are fine for unit tests and frontend regex, but a carrier-lookup test step will fail.
E.164 is the ITU-T standard for international telephone numbers (Wikipedia): a leading +, a 1–3 digit country code, and a national number, total length capped at 15 digits, digits only. It's the canonical storage format because it's unambiguous across countries. Storing (212) 555-0142 is lossy — +12125550142 is not. APIs like Twilio, Vonage, and AWS Pinpoint require E.164.
555-1234 actually fake?No. Only the NANPA-reserved block 555-0100 through 555-0199 is guaranteed fictional. Numbers like 555-1212 (directory assistance), 555-2368 (Ghostbusters), and many 555-XXXX combinations in real area codes have been auctioned for assignment since 1994 and may be live subscriber lines. If you need a guaranteed-safe US number, stay inside 555-0100 to 555-0199.
No, never. Reserved ranges aren't connected to any carrier — that's the whole point. If you need to receive a real verification code during testing, use a disposable-number service (Receive-SMS-Online, SMS-Activate), a vendor sandbox (Twilio's magic number +15005550006 works with test credentials per Twilio docs), or Mailosaur's SMS sandbox. Reserved-range fakes can't accept SMS or calls.
A synthetic number generated from a reserved range and not linked to any natural person is not personal data under GDPR Article 4 — there's no data subject to identify. That's safer than masked real numbers (which can sometimes be re-identified) and safer than reusing one developer's personal mobile across hundreds of test records. For demo videos, mock CRM screenshots, and documentation, regulator-reserved fakes are the GDPR-clean choice.
Store as E.164 (+12125550142) in a single VARCHAR(16) column — no separators, no parentheses, no extension field unless you actually need one. Validate on input with libphonenumber's parseAndKeepRawInput then isValidNumber; render for display with format(PhoneNumberFormat.INTERNATIONAL). Don't try to regex parse phone numbers yourself — phone formats are not regular languages, and you will get edge cases like Italian leading zeros wrong.
National number length varies by numbering plan. China is 11 digits, the UK is up to 10 after the leading 0, Germany ranges from 7 to 11, Sweden has a variable length, and Singapore is just 8. E.164 caps the total (country code plus national) at 15 digits, but the national part is set by each country's regulator. The generator length-matches each country's plan automatically.
Yes — set the quantity high (most generators support 100, 1,000, or batch CSV) and the output style to E.164 for the cleanest database import. For test fixtures, pair this page with /uuid-generator for unique row IDs and /lorem-ipsum-generator for name/note fields. The combination gives you realistic mock rows without any real-person PII.