Mock Customer Generator

Runs in browser Mocking

Nested customer fixtures (contact, addresses, recent orders, loyalty) ready for storybook stories and API stubs. Synthetic test data only.

TEST DATA ONLY — all generated names, contacts, identifiers and numbers are synthetic and do not belong to real people or accounts.
Privacy: This tool runs entirely in your browser. Your input never leaves your device.
Loading tool…

What is synthetic test data?

Synthetic test data is generated data — names, addresses, accounts, records — that has the shape, formats and statistical variety of real data without belonging to any real person. It lets teams test validation, imports, reports and load without copying production databases into test environments, which privacy law (in Saudi Arabia, the PDPL) increasingly forbids.

Security note: Every value these generators produce is invented. Use reserved domains and test ranges (example.com, +966 5X numbers that follow the format but are unassigned) and never load a customer export into a test system to "make it realistic".

How to use Mock Customer Generator

  1. Enter the number of customers and orders per customer.
  2. Set the currency code and id style.
  3. Generate and use the JSON in stories, stubs or demos.

Mock Customer Generator features

  • E-commerce customer fixtures with contact, company, segment and status
  • Addresses, masked payment method summaries and loyalty tier/points
  • Recent orders with line items and consistent subtotal, tax and total arithmetic
  • Lifetime value and average order metrics computed from the orders
  • Configurable order count and currency; seedable; integer or UUID ids

Mock Customer Generator example

Customer with two orders

Input:

Count: 1, orders: 2, currency: SAR

Output:

[{ "id": 1000, "customerNumber": "CUST-001000", "fullName": "Andrew Sullivan", "segment": "Consumer", "addresses": [{ "label": "Home", "city": "Austin", … }], "paymentMethods": [{ "brand": "visa", "last4": "4242", … }], "recentOrders": [{ "id": "ORD-48213", "total": 318.55, … }], "metrics": { "orderCount": 2, "lifetimeValue": 612.1, "currency": "SAR" } }]

Frequently asked questions about Mock Customer Generator

What is included for each customer?

Contact details, company and segment, one or two addresses, a masked payment method (brand, last4, expiry), loyalty tier and points, recent orders with line items and correct subtotal/tax/total arithmetic, and metrics such as lifetime value.

Are payment details safe?

Only masked summaries are generated (brand and last four digits) — never a full card number, so the fixtures are safe to commit.

Can I control the number of orders and currency?

Yes: set orders per customer (0–20) and a three-letter currency code; totals are recomputed consistently.

Is the data reproducible?

Enter a seed for identical fixtures in tests and demos; leave it empty to regenerate fresh data.

References

  • Personal Data Protection Law (English translation)Saudi Data & AI Authority (SDAIA) · 2023The Saudi law governing personal data — why test environments should use synthetic data rather than copies of real customer records.
  • RFC 2606: Reserved Top Level DNS NamesIETF · 1999Reserves example.com, example.net, example.org and .test/.example for documentation and testing — the domains to use in fake data.
  • ISTQB GlossaryISTQBThe standard definitions of testing terms — test case, regression testing, severity, priority, boundary value analysis and the rest.