Schema-Based Data Generator (JSON Schema)
Paste a CREATE TABLE statement and generate up to 500,000 rows of realistic test data that match every column. Free, and runs in your browser.
How to use the Schema-Based Data Generator (JSON Schema)
Give a table definition (CREATE TABLE) and generate up to 500,000 rows of realistic test data.
- Paste your table definition
- Set ranges if you want
- Choose rows and generate
Tips
- Table definition: column types and sizes, NOT NULL, PRIMARY KEY, UNIQUE, AUTO_INCREMENT / SERIAL and CHECK (col IN (...)) are all used.
- Edit the Min and Max boxes to set your own ranges for numbers and dates. Rows can be an exact number or a random number in a range.
- Nullable columns get about 10% empty values. Columns named email, city, phone, age or price get realistic values.
- JSON Schema: type, format, enum, const, minimum, maximum, minLength, maxLength, minItems, maxItems, $ref, oneOf and anyOf.
- Property names such as email, first_name, city or phone get realistic values.
- Nested objects become columns like address.city in CSV and Excel. Use Nested JSON to keep the structure.
Example
Input: CREATE TABLE users (id INT PRIMARY KEY, email VARCHAR(100), age INT);
Output: 1, ada.chen7@example.com, 34
Frequently asked questions
Which databases are supported?
CREATE TABLE from PostgreSQL, MySQL, SQL Server, Oracle and SQLite. Comments, quotes and schema names are handled.
Are foreign keys checked?
No. A foreign key column gets a number from 1 to 100, so load the parent table with ids 1 to 100 first.
Which JSON Schema versions work?
Draft 7 and newer for the common keywords listed above. Unknown keywords are ignored.
Is the data real?
No. It is random and fictional, so it is safe to share.
How many rows can I make?
Up to 500,000 per run. Very large runs use a lot of memory, so close other tabs.
Guides