Fake Phone Numbers by Country: UK, US & International Testing Guide

April 20, 2026

Every software application that collects phone numbers needs to be tested with realistic data. But using real phone numbers in test environments creates serious problems: you risk accidentally calling or texting real people, violating privacy regulations, and contaminating production systems with test data. The solution is fake phone numbers, but not just any random digits. Each country has specific number formats, length requirements, and reserved ranges that exist specifically for testing. If your fake numbers do not follow these rules, your validation logic will reject them, your tests will fail, and you will end up wasting time debugging the test data instead of the application. This guide covers the reserved test number ranges for the most commonly needed countries so you can generate safe, realistic fake phone numbers for any international testing scenario.

United States: The 555 System

The United States has the most well-known reserved range for fake phone numbers: the 555 prefix. Managed by the North American Numbering Plan Administration (NANPA), the 555 range within any area code is partially reserved for fictional use. The specific block set aside for unrestricted fictional use is 555-0100 through 555-0199. Numbers in this range are guaranteed to never be assigned to a real subscriber, making them completely safe for testing, documentation, and sample data.

A random US phone number for app development should follow the format (XXX) 555-01XX, where XXX is any valid area code and the last two digits can be anything from 00 to 99. For example, (212) 555-0147 is a safe New York test number, and (415) 555-0123 works for San Francisco. The area code portion should be a real, active area code if you want your tests to also validate area code legitimacy. Using invalid area codes like 000 or 999 will cause many validation libraries to reject the number outright.

Beyond the 555 block, the FCC has also reserved specific numbers for testing telecommunications equipment. The numbers (800) 555-0199 and (800) 555-0100 are reserved toll-free test numbers. If your application handles toll-free number detection, these are the safe options for testing that feature.

United Kingdom: Ofcom Reserved Ranges

Generating a fake UK phone number for testing requires understanding the number ranges reserved by Ofcom, the UK telecommunications regulator. Unlike the US, where a single 555 prefix covers the entire country, the UK has dedicated fictional ranges for several number types, each with a different format and length.

For standard geographic landline numbers, Ofcom reserves ranges within specific area codes. The most commonly used are: 020 7946 0XXX for London numbers, 0117 496 0XXX for Bristol, 0121 496 0XXX for Birmingham, 0131 496 0XXX for Edinburgh, and 0161 496 0XXX for Manchester. The X digits can be anything from 0 to 9, giving you 1,000 possible numbers per city. These numbers follow the exact format of real UK landline numbers, so they will pass any properly implemented UK phone validation.

For UK mobile numbers, the reserved range is 07700 900XXX. This covers numbers from 07700 900000 through 07700 900999. UK mobile numbers always start with 07, are 11 digits long, and this block is specifically set aside by Ofcom for dramatic, testing, and fictional purposes. If your app needs to validate or format UK mobile numbers differently from landlines, this is the range to use.

Ofcom also reserves ranges for other number types: 0800 XXX for freephone numbers (specifically 0800 496 0XXX), 0300 XXX for non-geographic numbers (0300 496 0XXX), and 03069 990XXX for another non-geographic block. Each range mirrors the format and length of its real-world counterpart, ensuring your validation logic is tested accurately.

Canada: Shared NANP System

Canada shares the North American Numbering Plan with the United States, so the same 555-0100 through 555-0199 range applies. The difference is in the area codes. To generate a fake Canadian phone number, pair the 555-01XX suffix with a Canadian area code: (416) 555-0123 for Toronto, (604) 555-0156 for Vancouver, (514) 555-0189 for Montreal, or (403) 555-0101 for Calgary. The formatting is identical to US numbers: ten digits, often written as (XXX) XXX-XXXX or with a +1 country code prefix.

If your application needs to distinguish between US and Canadian numbers, the area code is your only differentiator within the NANP. Maintain an up-to-date list of Canadian area codes and use them with the 555 block for accurate test data.

Australia: ACMA Fictional Ranges

The Australian Communications and Media Authority (ACMA) reserves specific number ranges for fictional and testing use. For landline numbers, the reserved range varies by state: (02) 5550 XXXX for New South Wales and the ACT, (03) 5550 XXXX for Victoria and Tasmania, (07) 5550 XXXX for Queensland, and (08) 5550 XXXX for Western Australia, South Australia, and the Northern Territory. Australian landline numbers are 10 digits including the area code.

For Australian mobile numbers, the reserved range is 0491 570 0XX through 0491 570 9XX. Mobile numbers in Australia are also 10 digits long and always begin with 04. The reserved mobile block starting with 0491 570 gives you up to 1,000 unique test numbers that will never ring a real phone.

European Countries

European phone number testing is more fragmented because each country has its own regulator and reserved ranges. Germany reserves numbers in the +49 30 23125 XXX block (Berlin) for testing. France reserves +33 1 99 00 XX XX for fictional use. The Netherlands uses +31 800 XXX XXXX for free test numbers. Sweden reserves +46 70 1740 XXX for mobile test numbers.

Not every European country publishes an official fictional range. For countries without dedicated test blocks, the safest approach is to use numbers that are clearly invalid according to that country's numbering plan. For example, using a number length that is one digit too short or too long, or a prefix that falls outside any assigned range. However, this approach will cause properly implemented validation to reject the number, which may or may not be desirable depending on what you are testing.

An alternative for European testing is to use the international "test" country code. ITU-T has reserved the country code +991 for testing purposes. Numbers starting with +991 are guaranteed to not route to any real subscriber. While not country-specific, they are useful for testing international dialing, country code parsing, and E.164 formatting in applications that accept numbers from any country.

Best Practices for International Phone Number Testing

Always use officially reserved ranges when available. The entire point of these ranges is to provide safe test data. Generating random digits that happen to look like phone numbers creates a non-zero chance of hitting a real number, which can trigger unwanted calls or messages if your test environment accidentally integrates with a live SMS or voice provider.

Store numbers in E.164 format in your database, even if you display them differently in the UI. E.164 uses the format +[country code][subscriber number] with no spaces, dashes, or parentheses. For example, a UK mobile number stored as +447700900123 and a US number stored as +12125550147. This standard format simplifies international comparisons and is required by most telephony APIs including Twilio, Vonage, and MessageBird.

Test both validation and formatting separately. Validation checks whether a number could be real: correct country code, valid prefix, right length. Formatting handles display: adding spaces, dashes, and parentheses in the locally expected pattern. A fake number that passes validation should also format correctly when run through your display logic.

Include edge cases in your test suite. Some phone numbers have variable length even within the same country. UK landline numbers can be 10 or 11 digits depending on the area code. German numbers vary in length from 7 to 12 digits for the subscriber portion. Your test data should cover these variations, not just the most common formats.

Finally, document which reserved ranges your test suite uses and why. When a new developer joins the team and sees (020) 7946 0958 in a fixture file, they should be able to quickly confirm that it is a safe Ofcom-reserved number rather than a real person's phone number that someone carelessly hard-coded into the tests.

Generate Country-Specific Test Numbers Instantly

Manually looking up reserved ranges and formatting rules for each country is tedious. Our generator handles the details for you, producing correctly formatted fake phone numbers that use officially reserved ranges wherever available.

Generate fake phone numbers by country →

Want to understand why reserved ranges exist? Read our article on what 555 numbers are and how they work, or learn more about why developers use fake phone numbers for testing.