Fake email generator
Bulk test email addresses on reserved documentation domains — deliverable to nobody, coherent with the row's name, and identical every time you use the same seed.
Why the domain matters more than the address
The dangerous part of a seeded user table is not the fake name — it is the domain. Seed ten thousand users on @gmail.com with invented local parts and eventually something sends. A misconfigured staging job, a forgotten cron, a marketing tool pointed at the wrong database: now you are mailing strangers, and a few of those addresses turn out to belong to real people.
Every address this generator produces lands on a domain that is reserved by standards bodies precisely so it cannot:
example.com example.org example.net (RFC 2606) example.test example.invalid (RFC 2606 / RFC 6761)
These domains have no MX records and are not available for registration. Mail to them fails immediately rather than reaching an inbox. That is the whole point: a fixture that leaks is a bug, not a catastrophe.
What the addresses look like
The local part is derived from the same row's name rather than drawn at random, so the table reads like a real one:
full_name,email Elena Rossi,elena.rossi7@example.org Marco Schneider,marco_schneider@example.com Aisha Yılmaz,aisha.yilmaz@example.net
Non-ASCII characters are transliterated for the address (Yılmaz becomes yilmaz) while the name column keeps its original spelling — which is what most real systems do, and a useful thing to have in a fixture if you are testing that behaviour. Separators vary between a dot, an underscore and nothing, and roughly two in five addresses carry a numeric suffix, so you get the mix of shapes a real signup table has.
Uniqueness
Email is the classic column with a UNIQUE constraint, and random generation does not guarantee uniqueness on its own — with a few thousand rows drawn from a finite name pool, collisions are likely rather than possible. Enable the Unique toggle on the field and the generator enforces distinct values, which is what you want before a bulk load into a table that will reject duplicates.
Keep the row count sensible relative to the pool. Asking for more unique values than the field can produce is the one way to make this fail, and it fails loudly rather than silently emitting duplicates.
Testing the unhappy paths
A validation test needs addresses that are wrong in specific ways, and those are better written by hand than generated. Add a Custom List field with the cases you actually care about — a missing @, a leading dot, consecutive dots, a trailing hyphen in the domain, an address at the length limit, an address with a plus tag. Then set Blank % on the email field to produce empty values, and check that the required-field path behaves.
Plus-addressing deserves its own test. elena.rossi+staging@example.org is a valid address that a surprising number of validators reject, and it is the one users notice.
Exporting
Combine the email field with names, addresses and a Row Number primary key, then export as SQL inserts for a seed script, CSV for a bulk loader, or JSON for a mock API. The database seeding guide covers loading a user table end to end.
Common questions
Can these addresses receive email?
No. Every generated address uses a domain reserved by RFC 2606 or RFC 6761 (example.com, example.org, example.net, example.test, example.invalid). These domains have no mail servers and cannot be registered, so mail to them fails instead of reaching a real person.
Are the addresses unique?
Only if you ask for it. Enable the Unique toggle on the field and the generator enforces distinct values, which is what a column with a UNIQUE constraint needs. Without it, repeats are expected at higher row counts.
Do the emails match the names in the same row?
Yes. The local part is built from that row's First and Last Name, transliterated to ASCII, so the table stays coherent when a human reads it.
Can I use a different domain?
The built-in field is deliberately limited to reserved domains. If you need your own domain, use a Formula or Pattern field to build the address, and make sure the domain you pick is one you control.
Is this a disposable or temporary email service?
No. This generates addresses for populating test databases and fixtures; it does not create inboxes and cannot receive messages. It is the opposite of a temp-mail service.
Related generators
- Random name generator — the names these addresses are derived from.
- UUID generator — stable primary keys for the same user table.
- Sample JSON data — ready-made user fixtures using these fields.
- QA test data guide — building fixtures that fail for the right reasons.