Random phone number generator
Fake phone numbers in whatever shape your form expects — you describe the format with a pattern, and the generator fills in the digits.
You choose the format
The Phone Number field takes a format string where # becomes a random digit and every other character is kept literally. The default is North American, but any national shape is one edit away:
+1 (###) ###-#### → +1 (415) 892-3071 +44 7### ###### → +44 7912 480365 +90 5## ### ## ## → +90 532 118 47 26 0### ### ## ## → 0212 604 39 85 ###-###-#### → 415-892-3071
That is the entire mechanism, and it is enough for essentially every phone format in use, including extensions (+1 (###) ###-#### x###) and fixed operator prefixes you want to keep constant.
Which numbers are safe to generate
A phone column is the one place a "realistic" fixture can genuinely reach a stranger. Unlike email, there is no globally reserved phone range that fails safely everywhere — so the format you choose matters.
Several countries reserve blocks specifically for drama and documentation, and pinning your pattern to one of them is the safest option if there is any chance the numbers get dialled or texted:
- North America:
+1 (###) 555-01##— the 555-0100 to 555-0199 range is reserved for fictional use. - United Kingdom: Ofcom's drama ranges, e.g.
+44 7700 900###for mobile. - Anywhere else: check whether the regulator publishes a reserved block, and if not, assume the number belongs to somebody.
If the numbers are only ever going into a database and a UI, any pattern is fine. The moment an SMS gateway is anywhere in the pipeline, use a reserved range — the same reasoning behind the reserved domains in the email generator.
Testing validation, not just display
Generated numbers all match your pattern perfectly, which tests the happy path only. Real phone input is far messier, so add a Custom List field with the cases that actually break parsers: numbers with spaces in unexpected places, a leading 00 instead of +, brackets around the country code, letters (1-800-FLOWERS), a number that is one digit short, and an international number entered without any country code at all.
Set Blank % to something like 15 if phone is an optional field — a surprising number of forms treat an empty phone as valid on submit and then crash when something downstream tries to format it.
Storing numbers
Generate the format you intend to store, not the one you intend to display. If your application normalises to E.164 (+14158923071, no spaces or punctuation) then generate that shape with +1##########, and let the UI do the formatting. A fixture full of pretty display strings hides exactly the normalisation bugs you want to find. The SQL export maps the field to a string column, which is correct — phone numbers are not integers, and treating them as such loses leading zeros.
Exporting
Phone columns work in all six formats. Watch one detail in CSV: a number like 0212 604 39 85 opened by double-clicking in Excel loses its leading zero, because Excel guesses the column is numeric. Import via Data → From Text/CSV and set the column to Text — the spreadsheet guide covers this.
Common questions
Can these numbers actually be called?
It depends entirely on the pattern you choose. A generic pattern can produce a number that belongs to a real subscriber. If anything in your pipeline might dial or text these, use a reserved fictional range such as +1 (###) 555-01## in North America or +44 7700 900### in the UK.
How do I generate numbers for a specific country?
Set the format option to that country's shape, using # for each digit and keeping prefixes literal — for example +90 5## ### ## ## for a Turkish mobile or +44 7### ###### for a UK mobile.
Can I generate E.164 numbers?
Yes. Use a pattern with no punctuation, such as +1##########, which is the format most systems normalise to for storage.
Why does my CSV lose the leading zero?
That is Excel, not the export. Import with Data → From Text/CSV and mark the phone column as Text rather than double-clicking the file.
Are the numbers unique?
Not unless you enable the Unique toggle on the field. With a restrictive pattern the pool of possible values shrinks quickly, so keep the row count well inside what the pattern can produce.
Related generators
- Random name generator — the contacts these numbers belong to.
- Fake address generator — the rest of a contact record.
- Pattern field reference — the full pattern syntax, including letters and regex.
- QA test data guide — building fixtures that cover the unhappy paths.