Test Data Generator
Generate fake names, emails, addresses, and more for testing. Up to 1,000 rows as JSON, CSV, or SQL, reproducible with a seed.
Open source on GitHubFields and options
1 to 1,000
Emails use example.com and example.org, phone numbers use the fictional 555-0100 to 555-0199 range, and IP addresses come from the documentation ranges (192.0.2.0/24, 198.51.100.0/24, 203.0.113.0/24).
No data yet
Pick fields and generate up to 1,000 rows of fake names, emails, and addresses.
QA edge-case strings. Inputs that find validation, encoding, and escaping bugs.
QA edge-case strings
Invisible characters are shown escaped; Copy puts the raw string on your clipboard.
- 0 charsClear field
Empty string
(empty)
- 1 chars
Single space
- 5 chars
Whitespace only (spaces and tab)
\t
- 12 chars
Leading and trailing spaces
Jane Doe
- 22 chars
Line break inside value
First line\nSecond line
- 256 chars
256 characters
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa…
- 5000 chars
5,000 characters
Lorem ipsum Lorem ipsum Lorem ipsum Lorem ipsum Lorem ipsum Lore…
- 20 chars
Accented Latin
Zoë Ångström-Øresund
- 11 chars
Emoji with skin tone and ZWJ
👩🏽\u200D💻 Test 🚀
- 12 chars
CJK characters
测试用户 テスト 테스트
- 13 chars
Right-to-left (Arabic)
مرحبا بالعالم
- 9 chars
Right-to-left (Hebrew)
שלום עולם
- 15 chars
RTL override character
invoice\u202Efdp.exe
- 10 chars
Zero-width space inside word
zero\u200Bwidth
- 5 chars
Zero-width joiner and non-joiner
a\u200Db\u200Cc
- 5 chars
Byte order mark prefix
\uFEFFtext
- 7 chars
Apostrophe in name
O'Brien
- 11 chars
SQL-style quote
' OR '1'='1
- 32 chars
SQL-style statement
Robert'); DROP TABLE students;--
- 23 chars
Double quotes and backslash
say \"hi\" \\ path\\to\\file
- 25 chars
HTML tags
<b>bold</b> <i>italic</i>
- 25 chars
Script-like tag
<script>alert(1)</script>
- 30 chars
Attribute injection
\"><img src=x onerror=alert(1)>
- 25 chars
Template placeholders
{{7*7}} ${7*7} <%= 7*7 %>
- 4 chars
Null-like words
null
- 9 chars
Undefined
undefined
- 2 chars
Negative number
-1
- 5 chars
Huge number
1e308
- 16 chars
Beyond JS safe integer
9007199254740993
- 26 chars
Plus-addressed email
qa+signup-test@example.com
Values reserved for testing. Why the generated data won’t reach real people.
| Field | Values used | Why it is safe |
|---|---|---|
| example.com, example.org | Reserved for documentation and testing (RFC 2606), so mail never reaches a real inbox. | |
| Phone | 555-0100 to 555-0199 | The North American range set aside for fictional use. |
| IP address | 192.0.2.0/24, 198.51.100.0/24, 203.0.113.0/24 | Documentation ranges (RFC 5737) that are not routed on the public internet. |
| URL | https://example.com/… | Reserved domain; links resolve to a placeholder page. |
| Address | Random street number and name, real city and state | Looks plausible for form testing but does not target a specific real address. |
Why use synthetic test data. Realistic enough to test with, never a real person.
Keep real data out of test
Synthetic records let you fill staging databases and demo accounts without copying customer data into environments with weaker access controls.
Reproduce with a seed
The same seed and settings produce the same rows, so a teammate can regenerate the exact data set behind a bug report.
Break forms on purpose
Edge-case strings catch truncation, encoding, escaping, and validation bugs that clean sample data never triggers.
More free tools. Free, open source, no sign-up. See all tools · Source on GitHub
Frequently asked questions
Is this fake data safe to use in tests?
Yes. Names and addresses are randomly combined, emails use the reserved example.com and example.org domains, phone numbers use the fictional 555-01xx range, and IP addresses come from documentation ranges. The data is generated in your browser and is not sent anywhere.
Can I generate the same test data again?
Yes. Keep “Same seed, same data” on and use the same seed, fields, row count, and number range. The generator is deterministic for a given seed, so you can share the seed in a bug report instead of the data file.
How do I import the data into a database?
Choose SQL, set your table name, and run the INSERT statements, or download the CSV and use your database’s import tool. Column names match the field names shown in the output, so create the table with matching columns first.
Are the fake addresses real?
The cities and states are real so that address forms and validation behave realistically, but street numbers, street names, and ZIP code endings are random. Don’t use them to send mail or to test address verification services that charge per lookup.
What are edge-case strings for?
They are inputs that commonly break forms and APIs: empty and whitespace-only values, very long text, emoji, right-to-left scripts, zero-width characters, quotes, and HTML-like tags. Paste them into each field and check that the app saves, displays, and escapes them correctly.