- Tools
- Mock Data Generator
Free tool
Mock Data Generator
Define your columns, choose how many rows you need, and get realistic seed data as ready-to-run SQL. Pick your database and copy the result. Everything runs in your browser.
CREATE TABLE "users" (
"id" INTEGER,
"name" TEXT,
"email" TEXT,
"signed_up" TIMESTAMP
);
INSERT INTO "users" ("id", "name", "email", "signed_up") VALUES
(1, 'Kate Ng', 'iris.reed@acme.co', '2023-08-21 10:59:27'),
(2, 'Henry Woods', 'grace.chen@example.com', '2024-01-12 18:17:11'),
(3, 'Alice Jones', 'jack.silva@mail.com', '2023-08-16 18:11:43'),
(4, 'Henry Silva', 'paul.chen@demo.io', '2023-04-12 05:09:43'),
(5, 'Jack Woods', 'emma.ng@demo.io', '2025-03-28 17:24:18'),
(6, 'Kate Reed', 'olivia.nowak@acme.co', '2025-12-04 00:52:17'),
(7, 'Olivia Kim', 'olivia.nowak@example.com', '2025-12-04 23:09:23'),
(8, 'Bob Jones', 'frank.rossi@test.dev', '2024-01-23 20:16:09'),
(9, 'Emma Brown', 'emma.woods@demo.io', '2024-04-04 03:04:18'),
(10, 'Kate Rossi', 'bob.kim@test.dev', '2023-10-08 23:57:52');Seed data without the boilerplate
An empty table is hard to build against. You need rows to see how a query performs, how a list renders, and how the edges behave when a name is long or a value is missing. Typing that data by hand is slow, and the result usually looks nothing like real records.
This generator builds it for you. Describe the shape of a row once, choose a count, and it produces a CREATE TABLE statement with matching types plus INSERT statements full of plausible values. Paste the result into a client and you have a populated table in seconds.
Fields that look like the real thing
Each column maps to a kind of value. Names come from real name lists, emails are built from them, and addresses combine a number with a street. IDs increment from one, UUIDs follow the version 4 format, and datetimes fall within a believable range. That mix matters: seed data that reads like production data catches layout and sorting bugs that a column of test1, test2 never will.
Two field types take a little configuration. An integer or price column accepts a range such as 1-100 so the numbers stay sensible, and an enum column accepts a list like active,inactive,pending and draws from it. The Regenerate button reshuffles every value while keeping your columns in place.
Built for the database you use
The dialect setting changes the column type names and the way identifiers are quoted, so the output runs as is on PostgreSQL, MySQL, SQLite, or SQL Server. Booleans are written as TRUE and FALSE for PostgreSQL and as 1 and 0 where that is the convention.
Everything is generated in your browser, and the data is invented rather than drawn from anywhere real, so it is safe to paste into a shared test database or a demo.
Frequently asked questions
- How do I generate mock data for SQL?
- Define your columns in the left panel by giving each one a name and a data type such as full name, email, or datetime. Pick how many rows you want and the tool writes a CREATE TABLE statement plus INSERT statements filled with realistic fake values, ready to copy and run.
- What kinds of data can it generate?
- It covers the common fields you need for seed data: auto-incrementing IDs, UUIDs, first and last names, full names, emails, usernames, phone numbers, companies, job titles, cities, countries, street addresses, booleans, integers, prices, dates, datetimes, sentences, and custom enum values.
- Can I control the range or the allowed values?
- Yes. Integer and price columns take a range like 1-100, so the numbers stay within bounds. Enum columns take a comma separated list such as active,inactive,pending, and each row picks one of those values at random.
- Can I get a different set of rows?
- Press Regenerate to reshuffle the values while keeping your column setup. The generator is seeded, so a given setup is repeatable, and each press of Regenerate moves to the next set.
- Which databases does it support?
- The output can target PostgreSQL, MySQL, SQLite, SQL Server, or standard SQL. The dialect controls the column type names and how identifiers are quoted, and booleans are written the way each database expects.
- Is any data sent to a server?
- No. The values are generated in your browser with JavaScript, so nothing is uploaded. The data is fake and safe to use for testing, demos, and local development.
More free tools
Load and browse it in DB Pro
Once your seed data is generated, DB Pro is where you run and explore it. Paste the SQL into its editor, run it, and browse the rows in a fast table view with filtering and inline editing. It is a desktop database client for macOS, Windows, and Linux that works with PostgreSQL, MySQL, SQLite, and more.
Browse the other free tools, or read the database tutorials and cheat sheets.