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

Column Name
Data Type
Options
Rows: 0 Columns: 0 Size: 0 B

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

  1. Enter a table name in the Table Name field, such as users or orders.
  2. Add columns by clicking + Add Column, then set each column's name and data type (e.g. INT, VARCHAR, DATE).
  3. Optionally type a hint in the Options field — for example price to get prices, or a comma-separated list of allowed values for an ENUM.
  4. Set the number of rows you want in the Rows field.
  5. Click Generate, then use Copy to grab the resulting INSERT statements for your database.

Common Use Cases

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:

INSERT INTO orders (order_id, customer_id, unit_price, order_date) VALUES (8371, 4821, 129.99, '2025-08-14 09:32:11'); INSERT INTO orders (order_id, customer_id, unit_price, order_date) VALUES (2044, 1734, 54.25, '2025-06-02 18:07:45'); INSERT INTO orders (order_id, customer_id, unit_price, order_date) VALUES (9156, 9087, 210.00, '2026-01-19 11:45:03');

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

SQL Formatter· Data Generator Guide· SQL Validator· Dialect Converter· ER Diagram Tool

Related Guides

In-depth explainers for the problems this tool solves:

Generate Test Data with SQL SQL Date Format Guide