SeedBase, Synthetic Test Data Generator: FK-Consistent Data from SQL, Django & Prisma Schemas
Realistic test data from your schema. In seconds.
Import SQL, Django models or Prisma, get foreign-key-consistent, privacy-safe data for dev, CI and staging. Watch it work below.
Start free, no card<br>How it works
Free tier · EU-hosted · zero trackers
Seedbase
products
idserial
namevarchar
pricedecimal
descriptiontext
category_idint FK
created_attimestamp
categories
idserial
namevarchar
slugvarchar
parent_idint FK
order_items
idserial
order_idint FK
product_idint FK
quantityint
unit_pricedecimal
orders
idserial
customer_idint FK
statusvarchar
totaldecimal
ordered_attimestamp
customers
idserial
emailvarchar
namevarchar
cityvarchar
idnamepricecategory_id
The test data problem every developer knows.
Manual INSERTs
5 rows aren’t enough. 5,000 rows by hand is insane.
Custom Scripts
2 hours per project. Every schema change breaks everything.
Prod Dumps
“Just anonymize the prod dump.” GDPR says hi.
Generate test data from your schema in three steps.
Design
Paste your DDL, connect an existing database, or build your schema visually.
Generate
Click generate or run seedbase generate. Millions of realistic, FK-safe rows in seconds.
Push
One click to your PostgreSQL, MySQL, or download as SQL / CSV / JSON.
Foreign-key-consistent test data for real databases.
FK-aware Generation
Foreign keys are resolved automatically. Every reference points to a real row. No broken constraints.
Smart Column Detection
email gets emails. first_name gets names. created_at gets timestamps. Seedbase reads your column names.
Instant Preview
See your generated data before you export. Expand any table, check the rows, adjust and regenerate.
Schema Changes? Regenerate.
Changed your schema? Hit generate again. New columns get new data. No broken fixtures.
Every Database
PostgreSQL, MySQL, MariaDB, SQLite, SQL Server. Export as DDL, SQL, CSV, JSON or Parquet — and push to MongoDB, Redis or Elasticsearch.
Team Workflows
Share projects, push to shared staging DBs, set up cron schedules. Everyone gets fresh data.
Anonymize Production Data
Connect your production database, auto-detect PII, and get masked data that keeps formats and foreign keys intact — consistent, deterministic, with a privacy report per run. Or go fully synthetic: data with provably no real customers behind it.
Pull a Consistent Subset
Carve a foreign-key-complete slice of your production data — a realistic 1% for local dev or CI, with every reference intact. No more 50 GB dumps.
Simulate Time, Not Snapshots
Growth curves, seasonality, cohorts and churn. Generate data that evolves like a living system — ideal for building analytics and dashboards.
Beyond SQL
Push the same consistent entities into MongoDB, Redis and Elasticsearch — or stream events to a webhook to simulate live traffic.
SDK, pytest & CI
A Python SDK and a pytest plugin pull deterministic, seeded data straight into your test suite. Spin up a fresh database on every pull request.
For developers who live in the terminal.
Define your schema. Generate. Pull into your DB.
Python CLI<br>Node SDK<br>PHP CLI<br>VS Code · Cursor
# Install<br>$ pip install seedbase
# Authenticate (opens browser)<br>$ seedbase login<br>✓ Authenticated
# Generate realistic, FK-safe data<br>$ seedbase generate<br>→ ✓ users: 1,000 rows<br>→ ✓ posts: 5,000 rows<br>→ ✓ comments: 4,000 rows
# Write schema + data into your DB<br>$ seedbase pull all<br>→ myapp_dev ✓
// Install<br>$ npm install @seedbase/client
// Generate & download in your code<br>import { SeedbaseClient } from "@seedbase/client";
const sb = new SeedbaseClient({ token: process.env.SEEDBASE_TOKEN });<br>const gen = await sb.generate(projectId, { wait: true });<br>const sql = await sb.download(gen.id, { format: "sql" });<br>// → 10,000 FK-safe rows, ready to load
# Install<br>$ composer global require seedbase/seedbase
# Authenticate (opens browser)<br>$ seedbase login<br>✓ Authenticated
# Generate & pull into your database<br>$ seedbase generate myapp --wait<br>$ seedbase pull myapp --to-file seed.sql<br>→ seed.sql ✓
# Or in Laravel<br>$ php artisan db:seed --class="Seedbase\Laravel\SeedbaseSeeder"
# Cursor · VSCodium · Gitpod · Windsurf<br># → search "SeedBase" in the Extensions panel
# …or from the command line:<br>$ cursor --install-extension seedbase.seedbase<br>✓ Installed seedbase.seedbase
# Browse projects, generate & pull SQL<br># straight into your editor, no terminal.
Define your schema. Generate. Pull into your DB.
Django · Laravel · Symfony · SQLAlchemy · Prisma · TypeORM · Rails · Sequelize
Your fixtures.sql is always outdated. seedbase pull never is.
Get the VS Code & Cursor extension on Open VSX →<br>Also on the VS Code Marketplace →
Test data for Postgres, MySQL, Django and Prisma.
Seedbase isn’t just for Python. The CLI writes data straight into your database — from there on, your language doesn’t matter. Or call the REST API directly....