ADVANCED WORKSPACE · DATABASE DESIGN

Database Schema Designer

RecommendedFull workspace

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
Drag tables to arrange · drag empty space to pan · Ctrl + wheel to zoom
100%
Opening the starter schema…
BRING YOUR OWN STRUCTURE

Import a schema

Supports ordinary tables, columns, literal defaults, primary/unique keys, foreign keys and simple indexes. Schema qualifiers are flattened. CHECK, generated expressions, triggers, views and advanced vendor clauses are unsupported. Imported SQL is parsed, never executed.

CONNECT YOUR TABLES

Foreign-key relationship

Key / index

TAKE IT INTO YOUR PROJECT

Export your design

SQLite export uses SQLite type mappings. SQL targets the selected dialect. The original database is never changed. Review generated SQL against your target server before deployment.

Work faster

Move a table
Drag its header.
Connect columns
Drag the small connector beside a child column onto a parent column, or click it for the relationship editor.
Pan / zoom
Drag empty canvas; Ctrl/⌘ + wheel zooms around the pointer. Use Fit or the overview map to find your tables.
Ctrl/⌘ S
Download the editable project.
Ctrl/⌘ Z / Shift Z
Undo / redo workspace changes. Text inputs retain their native editing shortcuts.
F / + / −
Fit / zoom when the canvas is focused.
Delete
Remove the selected object when you are outside a text field. Undo restores it.

50 tables, 50 columns per table, 500 columns total, 200 relationships. Sample data: 1–100 rows per table. Project files: 8 MiB. SQL import: 1.5 million characters. SQLite files: 20 MiB, with 20-second task cancellation.

From idea to working schema

  1. Choose a starter or create your first table. Select a table or column to edit its properties.
  2. Mark primary keys, define unique groups and indexes, then connect child columns to parent keys.
  3. Use Review to resolve invalid definitions. Explore linked sample records in Sample data.
  4. 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.

  1. 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.
  2. 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.
  3. 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.
  4. 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.
  5. 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.

Help improve this tool

Report a problem or suggest an improvement

Describe the issue without pasting private tool input. Feedback goes to our admin inbox.

Find another tool · Read practical guides