Test data from your SQL schema — paste DDL, get a full database.
Paste CREATE TABLE statements, a pg_dump schema or connect Postgres/MySQL directly. SeedBase parses columns, primary keys and foreign keys — inline REFERENCES, table-level constraints and ALTER TABLE — and generates data that loads with constraints enabled.
Free tier · no card · EU-hosted · zero trackers
From SQL schema to populated database
Column-level REFERENCES, table-level FOREIGN KEY constraints and ALTER TABLE ... ADD FOREIGN KEY are all recognized. Column generators are inferred from names and types: email becomes an email, city a city, price a plausible amount — and serial/integer primary keys stay sequences.
CREATE TABLE orders ( id SERIAL PRIMARY KEY, user_id INT REFERENCES users(id), total DECIMAL(10,2) ); # → INSERT INTO "users" ... then "orders" — # user_id always resolves, topological order
What you get
Every foreign key resolves
Children reference parents that exist — including self-references (parent_id) and one-to-one relations. Inserts come out in topological order, so the SQL loads into a constrained schema as-is.
Distributions like real life
Not every user has exactly 5 orders: long-tail and normal distributions create the skew where pagination and N+1 bugs actually show up.
Time-aware data
Timestamps generate relative to today — "last 30 days" dashboards stay populated instead of going empty as fixtures age.
Deterministic per seed
Same seed, same data — reproducible CI runs. Export the generation config as JSON and commit it next to your migrations.
FAQ
Which SQL dialects are supported?
PostgreSQL, MySQL and SQLite DDL — including backtick/bracket quoting, AUTO_INCREMENT/SERIAL and inline or constraint-style foreign keys. Live connections work for Postgres and MySQL.
Does the generated SQL load with foreign key constraints enabled?
Yes. Tables generate and export in topological FK order, every reference points at an existing row, and self-referencing tables only reference earlier rows.
Can it also use my existing data?
Yes — connect the database directly (Pro) and SeedBase profiles real distributions from sample rows, or paste INSERT statements and it learns from those values. For production data there's GDPR-grade masking.
How many rows can I generate?
The free tier covers small schemas comfortably; smart row counts scale themselves to your plan so the first click always works. Paid plans raise per-generation and monthly limits.
Two minutes to a fully populated database
Sign up, import your schema, generate. No sales call, no credit card — the free tier is enough for a real first impression.
- FK-consistent
- Realistic distributions
- SQL / CSV / JSON
- EU-hosted