💙 Supporting healthcare non-profits: Metadataloop is free for 6–12 months. Contact Us to get started.
Developer Utility

Mock Data Generator

Paste CREATE TABLE statements and generate realistic test data — names, emails, phones, dates and more — exported as CSV, JSON, or INSERT statements.

Rows / table
Output
Seed (optional)
Input · CREATE TABLE SQL
Output · CSV
Output will appear here.

Generate realistic mock data from any CREATE TABLE

Stop hand-typing seed rows or wrestling with Faker scripts. Paste a SQL schema, choose how many rows you need, and download CSV, JSON, or dialect-aware INSERT statements in seconds. Works for PostgreSQL, MySQL, Snowflake, and SQL Server.

How it works

  • Parse: The tool reads your CREATE TABLE statements and detects each column's name, type, nullability, and primary key.
  • Apply heuristics: Column names like email, first_name, phone, created_at, price, is_active are recognised and given realistic values via Faker.
  • Fall back to SQL types: Anything not name-matched is generated from the SQL type — INT, DECIMAL, BOOLEAN, DATE, TIMESTAMP, UUID, JSON, or VARCHAR(N) with the declared length honoured.
  • Render: Output as CSV (one block per table), JSON ({table: [...rows]}), or SQL INSERT with dialect-correct quoting and boolean rendering.

Example

Paste this CREATE TABLE:

CREATE TABLE users (
  id INT PRIMARY KEY,
  first_name VARCHAR(50),
  email VARCHAR(255),
  signup_date DATE,
  is_active BOOLEAN,
  amount DECIMAL(10,2)
);

And get rows like:

id,first_name,email,signup_date,is_active,amount
1,Alice,johnsonjoshua@example.org,2024-07-13,true,6397.23
2,Donald,garzaanthony@example.org,2025-05-22,true,7417.35
3,Jeffery,hoffmanjennifer@example.net,2024-10-13,false,2239.65

Common use cases

Local development

Spin up a dev DB with realistic test data instead of one row of 'foo'.

Unit & integration tests

Use the seed flag for reproducible runs across CI builds.

Demos & screenshots

Generate believable data for product screenshots and screen recordings without leaking real customer info.

Performance benchmarking

Generate up to 5,000 rows per table to load-test queries before going to production.

FAQ

Is the data really random? Yes — every run produces fresh values. Set the Seed field to a fixed integer for reproducible output.

Does it call any AI service? No. Generation is fully local on the server using deterministic heuristics and the open-source Faker library — no LLM tokens spent, no data leaves the box.

What's the row limit? 5,000 rows per table per request. For larger volumes, run multiple requests or pipe the output into a loader.

Which SQL dialects are supported for INSERT output? PostgreSQL, MySQL/MariaDB, Snowflake, and Microsoft SQL Server. Identifier quoting and boolean rendering match the chosen dialect.

⚠ Confirm Delete