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:
- Names with apostrophes: O'Brien, D'Angelo
- Names with hyphens: Mary-Jane Watson, Jean-Pierre Dupont
- International characters: Müller, Björk, Ñoño, Łukasz
- Long names: Bartholomew Christophersen-Vandenberghe
- Email with plus sign: user+tag@example.com
- Email with subdomain: user@mail.example.co.uk
- Phone with extension: +1 (800) 555-0100 ext. 4521
- Address with apartment: 123 Main St, Apt 4B, Floor 2
These edge cases expose bugs in form validation, database field length limits, and string handling that simple placeholder data never reveals.