Mock Data Generator Online

Generate fake JSON test data for APIs, databases, UI prototypes, and QA fixtures with custom fields and up to 1,000 records.

Click Generate to create mock data

Generate fake JSON test data for APIs, databases, or UI components. Choose from 30+ field types including names, emails, addresses, dates, UUIDs, network values, and custom lists.

What is Mock Data Generator Online?

Mock data generators produce realistic fake data that mirrors the shape and variety of production records, without exposing real user information. When building APIs, prototyping UIs, or writing integration tests, you need sample data that looks and behaves like the real thing: proper email formats, plausible names, valid date ranges, and consistent IDs. This tool lets you define a schema with named fields and over 30 field types, then instantly generate up to 1,000 JSON records that match. Because every record is synthesized client-side, no real personal data ever enters or leaves your browser.

How to Use

  1. Add fields by clicking the Add Field button, then give each field a name that matches your database column or API property.
  2. Choose a field type from the dropdown for each row (UUID, email, fullName, price, custom list, and 30+ more).
  3. Set the number of records you want to generate (1 to 1,000).
  4. Pick the output format: Array (plain JSON array) or Object (wrapped in a data key).
  5. Click Generate to create the JSON output in the right panel.
  6. Press Copy to place the generated JSON on your clipboard for pasting into tests or seed scripts.

Why Use This Tool?

Eliminate manual test data entry by generating hundreds of realistic records in one click
Over 30 field types covering names, addresses, dates, network data, and more
Custom field names align the output with your actual database or API schema
Custom List type lets you define domain-specific values like status enums or category names
JSON output is ready to paste into seed files, API mocks, or test fixtures
All data is synthetic, so there is no privacy risk from using real personal information

Tips & Best Practices

  • Name your fields to match your actual database columns so the output can be used directly as seed data
  • Use UUID for primary keys and ID (integer) for auto-increment style identifiers
  • For large datasets beyond 1,000 records, generate multiple batches and concatenate the arrays
  • The Custom List type is ideal for enum-like fields. Enter comma-separated values such as active, pending, archived
  • Include timestamp or dateTime fields when testing time-sensitive features like sorting or expiration logic

Frequently Asked Questions

What field types are available?

Over 30 types are supported: UUID, ID (integer), firstName, lastName, fullName, email, phone, address, city, country, company, jobTitle, date, dateTime, timestamp, age, price, boolean, color (hex), avatar URL, image URL, URL, username, password, sentence, paragraph, word, number, float, IPv4, IPv6, MAC address, user agent, credit card, and custom list.

Can I use the generated data in production?

No. This data is synthetic and intended for testing and prototyping only. Email addresses use the example.com domain (which does not accept mail), credit card values are fake placeholders, and addresses are randomly assembled. Never import mock data into production databases or send it to live services.

How many records can I generate at once?

You can generate 1 to 1,000 records per batch. For larger datasets, run multiple generations and combine the JSON arrays. Because the tool runs entirely in your browser, generating more than 500 records at once may cause a brief UI pause. 100 to 500 records per batch is the sweet spot for performance.

When should I NOT use this mock data generator?

Do not use this tool when you need deterministic output (results change every time you click Generate), when you need relational integrity between tables (foreign keys are not linked), or when you need data that passes real-world validation such as valid credit card Luhn checks or deliverable postal addresses. For load testing at scale, use a dedicated data factory or database seeder instead.

Is the generated data private and secure?

Yes. All data generation runs as client-side JavaScript in your browser. No data is sent to any server, API, or third-party service. The generated records are entirely synthetic: they contain no real personal information and cannot be traced back to actual individuals.

What is the difference between the date, dateTime, and timestamp field types?

date produces ISO date strings (YYYY-MM-DD). dateTime produces full ISO datetime strings with timezone (YYYY-MM-DDTHH:MM:SS.sssZ). timestamp produces Unix epoch seconds (integer). Choose based on what your application or database expects for date representation.

Real-world Examples

Seeding a User Table for Integration Tests

Define fields matching your users table (id, name, email, createdAt) and generate 200 records to seed a test database before running integration tests.

Input
Fields: id (ID), name (fullName), email (email), createdAt (dateTime)
Output
[{"id":1,"name":"James Smith","email":"[email protected]","createdAt":"2025-03-15T10:22:00Z"}, ...]

Prototyping a Product Listing UI

Create mock product data with name, price, category, and imageUrl fields to build and style a product grid component before the real API is ready.

Input
Fields: id (UUID), name (word), price (price), category (custom: Electronics, Clothing, Home), imageUrl (imageUrl)
Output
[{"id":"a1b2c3d4-...","name":"lorem","price":"49.99","category":"Electronics","imageUrl":"https://picsum.photos/seed/abc/400/300"}, ...]

Related Tools