Use Mock Data Generator

Enter your data below to use the Mock Data Generator

📌 Try these examples:
RESULT

Last updated

Generating a Basic User Dataset

Configure the schema with common user fields and generate 5 records:

[
  {
    "id": "usr_8f3a2b1c",
    "name": "Marcus Holloway",
    "email": "marcus.holloway@example.net",
    "phone": "+1 (415) 555-0192",
    "age": 34,
    "created_at": "2023-08-14T09:22:11Z"
  },
  {
    "id": "usr_4d7e9f0a",
    "name": "Priya Nair",
    "email": "p.nair87@example.com",
    "phone": "+1 (312) 555-0847",
    "age": 29,
    "created_at": "2024-01-03T14:55:30Z"
  },
  {
    "id": "usr_2c5b8e1d",
    "name": "Thomas Bergmann",
    "email": "t.bergmann@example.org",
    "phone": "+1 (646) 555-0213",
    "age": 41,
    "created_at": "2023-11-22T07:10:45Z"
  }
]

All data is fictional — no real personal information. Safe to commit to version control or use in public demos.

Generating CSV for Database Import

Export 1000 user records as CSV for bulk database population:

id,first_name,last_name,email,country,city,postal_code,signup_date
1,Elena,Vasquez,elena.vasquez@example.com,US,Austin,78701,2023-03-15
2,Kenji,Tanaka,k.tanaka@example.net,JP,Tokyo,100-0001,2023-04-02
3,Amara,Osei,amara.osei@example.org,GH,Accra,GA-123,2023-04-18
4,Luca,Ferrari,luca.ferrari@example.com,IT,Milan,20121,2023-05-07
5,Sofia,Andersen,s.andersen@example.net,DK,Copenhagen,1050,2023-05-19

The locale-aware generator uses real city names and correct postal code formats for each country. Japanese addresses use the correct 〒 format, German postal codes are 5 digits, UK postcodes follow the correct pattern.

Generating SQL INSERT Statements

Generate data as SQL for direct database population:

INSERT INTO users (id, name, email, role, created_at) VALUES
(1, 'Marcus Holloway', 'marcus.holloway@example.net', 'admin', '2023-08-14 09:22:11'),
(2, 'Priya Nair', 'p.nair87@example.com', 'user', '2024-01-03 14:55:30'),
(3, 'Thomas Bergmann', 't.bergmann@example.org', 'user', '2023-11-22 07:10:45'),
(4, 'Elena Vasquez', 'elena.vasquez@example.com', 'moderator', '2023-03-15 11:30:00'),
(5, 'Kenji Tanaka', 'k.tanaka@example.net', 'user', '2023-04-02 08:15:22');

Use this to seed a development or staging database with realistic data for testing queries, pagination, and search functionality.

Generating Financial Test Data

Generate Luhn-valid credit card numbers and transaction data for payment testing:

{
  "card_number": "4532 1234 5678 9012",
  "card_type": "Visa",
  "expiry": "09/27",
  "cvv": "847",
  "cardholder": "Marcus Holloway",
  "billing_address": {
    "street": "742 Evergreen Terrace",
    "city": "Springfield",
    "state": "IL",
    "zip": "62701",
    "country": "US"
  }
}

These card numbers pass Luhn algorithm validation but are not real cards. Use them to test payment form validation, card type detection, and formatting logic without using real card data.

Generating E-Commerce Product Data

Build a product catalog for testing an online store:

[
  {
    "sku": "PROD-8472-BLU",
    "name": "Wireless Noise-Cancelling Headphones",
    "price": 149.99,
    "stock": 83,
    "category": "Electronics",
    "rating": 4.3,
    "reviews": 247,
    "created_at": "2023-06-10"
  },
  {
    "sku": "PROD-3391-GRN",
    "name": "Bamboo Cutting Board Set",
    "price": 34.95,
    "stock": 512,
    "category": "Kitchen",
    "rating": 4.7,
    "reviews": 1089,
    "created_at": "2023-09-22"
  }
]

Seeded Generation for Reproducible Tests

Use a seed value to generate the same data every time:

// Generator settings
{
  "seed": 42,
  "count": 10,
  "fields": ["name", "email", "age"]
}

// Always produces the same output with seed=42:
[
  { "name": "Alice Chen", "email": "alice.chen@example.com", "age": 28 },
  { "name": "Robert Kim", "email": "r.kim@example.net", "age": 35 },
  ...
]

Seeded generation is essential for unit tests that assert specific values, snapshot tests, and bug reproduction where you need the exact same dataset across multiple runs.

Custom Pattern Data

Define custom patterns for application-specific ID formats:

// Custom order ID pattern: ORD-YYYY-XXXXXXXX
Pattern: ORD-{year}-{random:8:uppercase}
Output: ORD-2024-A3F7B2C1

// Custom employee ID: EMP-[department]-[number]
Pattern: EMP-{pick:ENG,MKT,OPS,HR}-{number:1000:9999}
Output: EMP-ENG-4721

// Custom product code: [category prefix][3 digits]-[color code]
Pattern: {pick:ELEC,FURN,CLTH}{number:100:999}-{color:hex:3}
Output: ELEC847-3AF

Custom patterns let you generate data that matches your application's exact ID and code formats, making mock data indistinguishable from real data in tests.

Locale-Specific Data Generation

Generate data for specific countries and languages:

// Japanese locale
{
  "name": "田中 健二",
  "name_romaji": "Tanaka Kenji",
  "phone": "090-1234-5678",
  "postal_code": "〒100-0001",
  "address": "東京都千代田区千代田1-1"
}

// German locale
{
  "name": "Thomas Bergmann",
  "phone": "+49 30 12345678",
  "postal_code": "10115",
  "address": "Unter den Linden 1, 10117 Berlin"
}

// Brazilian locale
{
  "name": "Carlos Oliveira",
  "phone": "+55 11 91234-5678",
  "cpf": "123.456.789-09",
  "address": "Av. Paulista, 1000, São Paulo, SP, 01310-100"
}

API Testing with Mock Data

Use the API endpoint to generate fresh mock data in automated tests:

// Fetch mock users for each test run
const response = await fetch(
  'https://techconverter.me/api/mock-data?type=user&count=20&locale=en_US'
);
const users = await response.json();

// Use in test
test('user list renders correctly', () => {
  render(<UserList users={users} />);
  expect(screen.getAllByRole('listitem')).toHaveLength(20);
});

Edge Case Data for Testing

Generate data that tests edge cases in your application:

These edge cases expose bugs in form validation, database field length limits, and string handling that simple placeholder data never reveals.

Frequently Asked Questions

Simply enter your data, click the process button, and get instant results. All processing happens in your browser for maximum privacy and security.

Yes! Mock Data Generator is completely free to use with no registration required. All processing is done client-side in your browser.

Absolutely! All processing happens locally in your browser. Your data never leaves your device, ensuring complete privacy and security.