Turn an idea into a connected database design. Build tables visually, inspect relationships, generate linked sample data and take your schema into a real project.
Visual ER diagramsSQLite · PostgreSQL · MySQLEditable projects
Build the structure. See the connections.
▤
▤
Your next database starts here
Add a table, import a schema or choose one of the starter projects.
Drag tables to arrange · drag empty space to pan · Ctrl + wheel to zoom
100%
READY TO REVIEW
Generated SQL
ILLUSTRATIVE DATA
Try the relationships
Generated records are illustrative. Foreign keys link to generated parents; primary and unique keys are checked. Change a column’s generator in its properties to customize values.
CHECK BEFORE EXPORT
Schema review
UNDERSTAND THE CHANGE
Compare with a baseline
Comparison uses stable IDs from saved projects. Independently imported SQL may appear as added/removed objects. This is a migration review checklist; no database is changed.
Opening the starter schema…
From idea to working schema
Choose a starter or create your first table. Select a table or column to edit its properties.
Mark primary keys, define unique groups and indexes, then connect child columns to parent keys.
Use Review to resolve invalid definitions. Explore linked sample records in Sample data.
Capture a baseline before changing a design. Compare versions, download a project and export the schema, diagram or SQLite database.
A design workspace, with clear boundaries
This tool creates and inspects local schema designs. It does not connect to a production server, execute imported SQL, manage migrations or preserve every feature of an imported database. Advanced constraints, views, triggers and vendor-specific clauses need separate review.
Processing stays in your browser, including SQLite work in a local WebAssembly worker. Public pages include advertising and optional analytics under our privacy policy. Draft saving is optional and stays in this browser; download a project before relying on it elsewhere.
Using Database Schema Designer
Design a connected database schema in a visual workspace. Start with one of five templates, edit tables and columns, define primary and unique keys, connect foreign keys and inspect SQL for SQLite, PostgreSQL or MySQL.
Choose a starter or add your first table. Select a table header to rename it, add columns, change its accent and describe its purpose. Select a column to set its type, NULL behavior, default, identity and sample generator.
Connect columns by dragging a child connector onto a parent column, or use Relationship. Pair composite columns in order and choose delete/update actions. Parent columns must match a primary or unique key.
Use Review to resolve invalid definitions and inspect import notes. Explore synthetic linked records in Sample data; adjust row counts, the variation seed and column generators.
Capture a baseline before changing a schema. The Changes view compares stable table/column IDs and exports a migration review checklist. It does not run migrations.
Save a portable JSON project. Export target-specific SQL, a new SQLite database, SVG/PNG, a printable data dictionary, Mermaid source or a ZIP of sample CSVs.
Example
The shop template connects customers, categories, products, orders and order items. Try adding a shipping reference to orders, change the product price type, inspect the generated SQL and export a SQLite file with linked sample rows.
Questions & answers
Does the designer connect to or change my database?
No. It works on a local design. SQLite imports read supported schema metadata from the file you choose; original records and files stay unchanged. SQLite exports create a new database in a browser worker. No production connection or migration is executed.
Which schema features can I design?
Tables, supported column types, literal or CURRENT_TIMESTAMP defaults, NULL behavior, single integer identity keys, ordered composite primary/unique keys, simple ordered indexes and composite foreign keys with supported update/delete actions. Review checks key targets, column compatibility and dialect-specific limitations.
Can I import an existing SQL schema or SQLite file?
Yes. The SQL parser accepts ordinary CREATE TABLE, CREATE INDEX and supported ALTER TABLE ADD key clauses. Imported SQL is never executed. Schema qualifiers are flattened with notes. CHECK/generated expressions, views, triggers, partial/expression indexes and advanced vendor clauses are outside the editable model. SQLite import is schema-only and reports features not copied.
How are sample records generated?
The tool generates illustrative values using column types, names and selected generators. Foreign-key values point to generated parent rows. Required values, unique/primary keys and foreign-key links are checked before seed SQL or CSV bundle export. Cyclic key dependencies and unusual constraints may need manual changes.
Are exports ready to deploy without review?
Review them against your actual database version and data first. SQL is generated for SQLite, PostgreSQL or MySQL; SQLite files are built and checked locally. The comparison output is a review checklist, not automatic migration SQL. Text and other type mappings can differ across engines.
How large can a project be, and is it saved automatically?
Projects support 50 tables, 50 columns per table, 500 columns total and 200 relationships. Sample rows range from 1–100 per table. JSON projects are limited to 8 MiB, SQL imports to 1.5 million characters and standalone SQLite files to 20 MiB. Browser draft saving is optional; download a project for a portable copy.