How to use the random data generator
- Enter the number of rows you need, from 1 to 1000.
- List the fields to include, separated by commas. Available options are
name,email,phone,address,company,date,uuid,integerandboolean. - Choose an output format: JSON array, CSV with headers or SQL INSERT statements.
- Optionally type a seed string. Using the same seed and settings will always produce the same data.
- Click Generate and copy the result into your project.
How the seeded random number generator works
A standard random function gives different results on every run, which makes debugging difficult. This random data generator uses a technique called hashing to turn your seed string into a starting state for a Mulberry32 pseudo-random number generator. When you supply the seed "test", the algorithm hashes those four characters into a 32-bit integer, then steps through a deterministic sequence.
For example, the string "abc" becomes the number 96354 after hashing. That number feeds the PRNG, which outputs values between 0 and 1. Those values select items from the built-in pools of names, companies and other fields. Because the math is fixed, the same seed always picks the same items in the same order, making it a reliable data test generator for CI pipelines.
Supported fields and their formats
Each field draws from a curated pool of fictional values. The table below shows what each field produces.
| Field key | Description | Example output |
|---|---|---|
name | First and last name | Maria Rostova |
email | Lowercase local part on example.com, example.org, example.net or example.test | james.chen@example.com |
phone | US-style number in the 555-0100 to 555-0199 range reserved for fiction | (415) 555-0142 |
address | Street, city, state and a ZIP in that state's range | 742 Maple Dr, Madison, WI 53703 |
company | Fictional business name | Apex Dynamics |
date | ISO 8601 date from 2015 to 2024 | 2019-08-14 |
uuid | Version 4 UUID | f47ac10b-58cc-4372-a567-0e02b2c3d479 |
integer | Signed 32-bit integer | -1048293 |
boolean | true or false | true |
You can combine any of these keys. If you only need a random company generator, pass company as the sole field. For full user profiles, combine name,email,phone,address.
Choosing between JSON, CSV and SQL output
The output format determines how you consume the generated records. JSON returns a compact array of objects, ideal for API mocks, configuration files or direct import into JavaScript applications. CSV includes a header row followed by comma-separated values, which spreadsheet software and ETL tools read natively. Commas inside addresses are escaped with double quotes per RFC 4180.
SQL INSERT produces one statement per row targeting a table named test_data. String values are wrapped in single quotes, booleans appear as unquoted TRUE or FALSE, integers are bare numbers and dates are quoted ISO strings. This makes the tool a practical test data generator for database seeding scripts.
Practical uses for sample data
Developers rely on a random sample data generator for several everyday tasks. When building a new UI component, realistic placeholder content reveals layout issues that lorem ipsum hides. A table populated with variable-length names and addresses shows whether columns overflow or truncate correctly.
In automated testing, deterministic seeds let you assert exact output. Your test suite can generate 100 rows with seed "ci-build-42", feed them into a parser and verify the parsed result matches expectations. Without a seed, flaky tests become inevitable. Teams also use bulk generation to load-test APIs, inserting thousands of records to measure response times under realistic conditions.
Common mistakes when generating test data
A frequent error is requesting too many rows at once. This tool caps output at 1000 rows to keep the browser responsive. If you need more, run multiple batches with different seeds. Another mistake is including spaces in the field list. While the parser trims whitespace, inconsistent spacing can lead to typos like emial instead of email, which triggers a validation error.
Finally, remember that all generated values are entirely fictional. Names, companies and addresses are assembled from small pools and do not correspond to real people or businesses. Emails use the reserved example domains, phone numbers use the 555-0100 to 555-0199 range set aside for fiction, and a ZIP only matches its state's range, so it may not be an assigned ZIP code. Do not use this output for production records, identity verification or filling in real forms. For specific needs like standalone emails or addresses, dedicated tools such as the random email address generator or random address generator offer focused interfaces.
Worked examples
| Example | Input | Result |
|---|---|---|
| Five users as JSON | Number of rows: 5; Fields to include: name,email,company; Output format: json; Seed (optional): demo | Rows generated: 5; Fields: name, email, company; Format: JSON; Seed used: demo |
| Ten companies as CSV | Number of rows: 10; Fields to include: company,integer,boolean; Output format: csv; Seed (optional): corp | Rows generated: 10; Fields: company, integer, boolean; Format: CSV; Seed used: corp |
| SQL inserts with UUIDs | Number of rows: 3; Fields to include: uuid,name,email; Output format: sql; Seed (optional): db | Rows generated: 3; Fields: uuid, name, email; Format: SQL; Seed used: db |
FAQ
What is a random sample data generator?
It is a tool that produces fictional records for software testing, UI mockups and database seeding. You choose which fields to include and how many rows to create, and the tool outputs structured data in your preferred format.
Why should I use a seed?
A seed guarantees reproducibility. If you share the seed value and field configuration with a colleague, they will get the exact same dataset. This is essential for debugging and writing deterministic automated tests. Seeded values come from Mulberry32, a fast non-cryptographic generator, so never use them as secrets or keys.
Can I use this as a random company generator?
Yes. Set the fields input to just "company" and the tool will output only fictional business names. Combine it with other fields like integer or boolean to simulate company metrics.
Is the generated data based on real people?
No. All names, emails, phone numbers and addresses are assembled from small fictional pools. They are designed to look realistic for layout and testing purposes but do not represent actual individuals.
What is the maximum number of rows I can generate?
The tool supports up to 1000 rows per generation. This limit keeps processing fast and prevents the browser tab from freezing. For larger datasets, run multiple generations with different seeds.
Does this work as a data test generator for CI pipelines?
Yes. Because the module is pure JavaScript with no network calls, you can embed it in Node-based build scripts. Use a fixed seed so your integration tests receive consistent input on every run.
How does the SQL output handle special characters?
String values are enclosed in single quotes. If a value contained a single quote, it would be escaped, though the built-in fictional pools avoid apostrophes to keep the output simple and safe for most databases.