Test Data Generator

Generate realistic mock datasets in JSON, CSV, SQL, or TSV — 100% client-side, no data leaves your browser.

Presets

Generation Settings

Schema Fields (6)

1
2
3
4
5
6

Output

No data generated yet

Configure your schema and click Generate

Test Data Generator: Build Realistic Mock Datasets Instantly

Generating high-quality test data is a critical but time-consuming part of software development, QA testing, and database prototyping. Whether you need 10 rows or 500 rows of realistic user profiles, order records, network logs, or employee directories, our Test Data Generator lets you build, configure, and export mock data in seconds — all without leaving your browser.

Unlike cloud-based services that require API keys, subscriptions, or upload your schema to their servers, this tool operates entirely client-side. Your field names, row counts, and generated data never leave your machine. This makes it ideal for working with proprietary database schemas, internal table structures, or sensitive field names that cannot be exposed externally.

With support for 22 field types across 7 categories and four export formats (JSON, CSV, TSV, SQL INSERT statements), the Test Data Generator fits directly into your existing workflow — paste into a database IDE, import into a spreadsheet, or use in automated test fixtures.

Formula
Schema (N fields × R rows) → Field Type Generator → Formatted Output (JSON / CSV / TSV / SQL)

Each row is generated independently by sampling the appropriate data bank for each field type. There is no cross-row correlation, ensuring statistically clean, uncorrelated mock data.

How the Generator Works

The Test Data Generator uses a schema-driven pipeline with three stages:
1. Schema Definition: You define the fields (column names + data types) using the visual schema builder. Each field maps to one of 22 generator functions, from realistic human names sourced from a 60-entry first/last name pool, to properly formatted UUIDs (RFC 4122 v4 compliant), IPv4 addresses, dates, and more.
2. Row Generation: When you click Generate, the engine creates R independent rows by calling each field's generator function. Generators use a cryptographic-quality `Math.random()` seeded by the browser's entropy pool, producing statistically uncorrelated values.
3. Format Serialization: The generated rows are serialized into your chosen format. JSON uses 2-space indented pretty-printing. CSV quotes all string values and escapes internal quotes per RFC 4180. SQL generates a single multi-row INSERT statement with backtick-escaped identifiers compatible with MySQL and MariaDB.

Available Field Types

Person: firstName, lastName, fullName, email (realistic format like john.doe42@gmail.com), phone (+1 format), jobTitle
Business: company (25 realistic company names)
Internet: url (https:// format with realistic slugs), ipv4
Tech: uuid (RFC 4122 v4)
Numbers: integer (1–1,000,000), float (0–10,000 with 2 decimals), boolean
Date: ISO 8601 format (YYYY-MM-DD), years 1970–2010
Location: address (house number + street), city (35 world cities), country (25 countries), zipCode
Text: sentence, paragraph (2–4 sentences), lorem ipsum (5–12 words)

Practical Examples

User Profiles Preset (JSON, 3 rows)

A typical output of the User Profiles preset with 3 rows in JSON format, showing id, email, location fields.

  • 1.Row 1: { "id": "a3f2e1d0-...", "first_name": "Emma", "last_name": "Rodriguez", "email": "emma.rodriguez42@gmail.com", "city": "San Francisco", "country": "United States" }
  • 2.Row 2: { "id": "b7c4a2e1-...", "first_name": "Liam", "last_name": "Chen", "email": "liam.chen17@outlook.com", "city": "Tokyo", "country": "Japan" }
  • 3.Row 3: { "id": "d1e9f3b2-...", "first_name": "Sophia", "last_name": "Williams", "email": "sophia.williams83@protonmail.com", "city": "London", "country": "United Kingdom" }

SQL INSERT Output (Employee Directory Preset)

SQL INSERT statement generated for the Employee Directory preset with backtick-escaped column names for MySQL compatibility.

  • 1.Statement: INSERT INTO `users` (`employee_id`, `full_name`, `email`, `job_title`, `company`) VALUES
  • 2.Row 1: ('c2d4e5f1-...', 'Oliver Garcia', 'oliver.garcia55@yahoo.com', 'Senior Software Engineer', 'CloudSoft'),
  • 3.Row 2: ('e7f1a3b2-...', 'Ava Thompson', 'ava.thompson12@company.io', 'Product Manager', 'Nexus Corp');
  • 4.Output size: 500 rows → approximately 42 KB SQL file

Frequently Asked Questions

Is my data secure on the Test Data Generator?

Yes, 100%. All data generation happens entirely inside your web browser using local JavaScript. No inputs, schemas, or generated data are ever sent to our servers or stored externally.

What types of fields can I generate?

You can generate 22 field types across 7 categories: Person (first name, last name, full name, email, phone, job title), Business (company), Internet (URL, IPv4), Tech (UUID), Numbers (integer, float, boolean), Date, Location (address, city, country, zip), and Text (sentence, paragraph, lorem ipsum).

What output formats does the generator support?

The generator supports JSON (nested array of objects), CSV (comma-separated with quoted strings), TSV (tab-separated values), and SQL (INSERT statements with backtick-escaped column names). You can switch between formats without regenerating the data.

How many rows can I generate at once?

You can generate up to 500 rows in a single click. For very large datasets, multiple generation runs can be performed, and each output can be downloaded as a file.

Can I customize the field names?

Yes. Every field in the schema builder has an editable name input. You can rename fields to match your database column names or API property conventions (e.g., 'user_id' instead of 'uuid').

What are the preset templates?

There are 4 built-in presets: User Profiles (id, name, email, phone, dob, city, country), E-Commerce Orders (order_id, customer, product_price, quantity, date, shipping), Employee Directory (id, name, email, job_title, company, hire_date), and Network Logs (request_id, IP, timestamp, status, response_ms, endpoint).

Can I download the generated data as a file?

Yes. After generating, click the Download button to save the output as a .json, .csv, .tsv, or .sql file to your local machine.

Does the tool work on mobile devices?

Yes. The schema builder, format selectors, and output viewer are all touch-friendly and responsive, providing a full experience across smartphones, tablets, and desktops.