SQL Data Generator
Define your table schema and generate realistic mock INSERT data. Supports INT, VARCHAR, DATE, BOOLEAN, UUID, and more. All processing is done in your browser.
Mock Data Generator
What is the SQL Data Generator?
The SQL Data Generator builds realistic INSERT statements from a table schema you define right in the browser. You specify a table name, list columns with their data types, and choose how many rows to produce. The tool then generates believable mock data — real first and last names for name fields, email addresses, company and city names, random integers for ID columns, recent dates for DATE and TIMESTAMP columns, and realistic prices for DECIMAL. It supports INT, VARCHAR, TEXT, BOOLEAN, DATE, TIMESTAMP, FLOAT, DECIMAL, UUID, JSON, and ENUM, among others. It is ideal for seeding development databases, writing tests, and prototyping queries against realistic data. Everything runs client-side, so your schema never leaves your device, and there is no signup or usage limit. You can also load ready-made presets for common tables — Users, Products, Orders, and Employees — so you can produce useful sample data in just a couple of clicks, then tweak a column or two to fit your exact schema.
How to Generate Mock SQL Data
- Enter a table name in the
Table Namefield, such asusersororders. - Add columns by clicking
+ Add Column, then set each column's name and data type (e.g.INT,VARCHAR,DATE). - Optionally type a hint in the
Optionsfield — for examplepriceto get prices, or a comma-separated list of allowed values for anENUM. - Set the number of rows you want in the
Rowsfield. - Click
Generate, then useCopyto grab the resultingINSERTstatements for your database.
Common Use Cases
- Seeding a local development database with sample rows instead of typing them by hand.
- Generating test data for unit and integration tests that exercise your queries.
- Prototyping a schema and immediately checking how a query behaves against realistic values.
- Creating demo datasets for documentation, tutorials, and code reviews.
- Populating staging environments without exposing real customer data.
- Benchmarking query performance against a table of a known row count.
Example: Generating an Orders Table
Given an orders table with columns order_id, customer_id, unit_price, and order_date, the generator produces one INSERT statement per row, like this:
Integer columns get random numeric values, unit_price (a DECIMAL with a price hint) receives a realistic price, and order_date (a TIMESTAMP) gets a plausible recent date and time.
Tips for Better Mock Data
Name your columns after common fields the generator recognizes — email, first_name, last_name, city, phone, department, or job_title all produce far more realistic values than generic names. For ENUM columns, put the allowed values in the Options field as a comma-separated list, and use a price hint on DECIMAL columns to get currency-like values. Remember the output is randomized on every run, so click Generate again whenever you want a fresh dataset. If you need stable fixtures, copy the output and save it to a file rather than relying on the generator to reproduce the same rows.
Frequently Asked Questions
How do I generate mock SQL data online?
Enter your table name, define column names and data types (INT, VARCHAR, TEXT, BOOLEAN, DATE, TIMESTAMP, FLOAT, DECIMAL, UUID), set the number of rows, and click Generate. The tool creates realistic INSERT statements with fake but believable data — no signup required.
What data types does the SQL data generator support?
INT, BIGINT, SMALLINT, VARCHAR, CHAR, TEXT, BOOLEAN, DATE, TIMESTAMP, TIME, FLOAT, DOUBLE, DECIMAL, NUMERIC, UUID, JSON, and ENUM. Each type generates appropriate mock data — names and emails for VARCHAR, dates for DATE, prices for DECIMAL, etc.
Is the generated data realistic?
Yes. VARCHAR fields generate first names, last names, company names, email addresses, and city names. INT fields generate sequential or random IDs. DATE fields generate dates in a recent range. DECIMAL fields generate realistic prices.
Is my data safe when using this generator?
Absolutely. All generation happens client-side in your browser using JavaScript. Your schema definition and generated data never leave your device. No server-side processing, no logging, no data collection.
Can I generate data for specific column naming patterns?
Yes. The generator recognises common column names — email, first_name, last_name, city, phone, department, job_title, and price among others — and produces matching sample values. Generic names still generate valid data, but recognisable names give you far more realistic INSERT statements.
How many rows can I generate at once?
The row count is yours to set, from a handful for a quick fixture up to thousands of rows for load testing. Generation runs entirely in your browser, so very large batches depend on your machine's memory and may take a moment to produce. For a worked example of seeding a schema by hand, see our guide to generating test data with SQL.
Related Tools
Related Guides
In-depth explainers for the problems this tool solves: