Skip to main content
Screendesk
Free tool

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 GitHub

Fields and options

Fields

1 to 1,000

Output format

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.

Edge cases

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.

  • Empty string

    (empty)

    Clear field
  • Single space

  • Whitespace only (spaces and tab)

    \t

  • Leading and trailing spaces

    Jane Doe

  • Line break inside value

    First line\nSecond line

  • 256 characters

    aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa…

  • 5,000 characters

    Lorem ipsum Lorem ipsum Lorem ipsum Lorem ipsum Lorem ipsum Lore…

  • Accented Latin

    Zoë Ångström-Øresund

  • Emoji with skin tone and ZWJ

    👩🏽\u200D💻 Test 🚀

  • CJK characters

    测试用户 テスト 테스트

  • Right-to-left (Arabic)

    مرحبا بالعالم

  • Right-to-left (Hebrew)

    שלום עולם

  • RTL override character

    invoice\u202Efdp.exe

  • Zero-width space inside word

    zero\u200Bwidth

  • Zero-width joiner and non-joiner

    a\u200Db\u200Cc

  • Byte order mark prefix

    \uFEFFtext

  • Apostrophe in name

    O'Brien

  • SQL-style quote

    ' OR '1'='1

  • SQL-style statement

    Robert'); DROP TABLE students;--

  • Double quotes and backslash

    say \"hi\" \\ path\\to\\file

  • HTML tags

    <b>bold</b> <i>italic</i>

  • Script-like tag

    <script>alert(1)</script>

  • Attribute injection

    \"><img src=x onerror=alert(1)>

  • Template placeholders

    {{7*7}} ${7*7} <%= 7*7 %>

  • Null-like words

    null

  • Undefined

    undefined

  • Negative number

    -1

  • Huge number

    1e308

  • Beyond JS safe integer

    9007199254740993

  • Plus-addressed email

    qa+signup-test@example.com

Safe by design

Values reserved for testing. Why the generated data won’t reach real people.

Reserved values used by the test data generator
FieldValues usedWhy it is safe
Emailexample.com, example.orgReserved for documentation and testing (RFC 2606), so mail never reaches a real inbox.
Phone555-0100 to 555-0199The North American range set aside for fictional use.
IP address192.0.2.0/24, 198.51.100.0/24, 203.0.113.0/24Documentation ranges (RFC 5737) that are not routed on the public internet.
URLhttps://example.com/…Reserved domain; links resolve to a placeholder page.
AddressRandom street number and name, real city and stateLooks plausible for form testing but does not target a specific real address.
Why it matters

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.

FAQ

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.

Customer support runs on Screendesk.

Start for free