Free forever · No account needed

Design databases visually. Own your data.

A modern ER modeler that runs entirely in your browser. Generate SQL for 14 engines, version every change, and push to GitHub or GitLab on your own terms.

14 engines · 4 storage providers · GitHub and GitLab
v3 · postgresql
10 screens · live preview click to expand
Why DBModeler

Three promises the product is built on.

No accounts to create, no quotas to outgrow, no vendor holding your schema hostage.

Free, with no asterisk

Every feature is available to everyone — no usage quotas, no paywalled engines, no premium tier hiding the parts that matter.

Front-end only, secure by design

There is no backend. The app loads in your browser and stays there, and works offline once installed as a PWA. Provider tokens and repository secrets are encrypted at rest with a key derived from a master password you set — so private things stay private, even on your own device.

Your data lives where you choose

Keep your models on this device, or sync them through Google Drive, OneDrive or Dropbox. When you are ready, push the schema straight into your own GitHub or GitLab repository.

A managed edition for teams is on the way. Coming soon.
Features

Everything a serious schema needs.

A focused toolkit for the people who actually maintain databases.

Visual ER modeling

A real editor designed for everyday schema work, with a multilingual interface in 12 languages including right-to-left.

  • Undo and Redo
  • Zoom in and Zoom out
  • Drag and drop tables
  • Snap to grid and auto arrange
  • Keyboard friendly type autocomplete and multi-select
  • Copy/Duplicate tables
  • Panel editor: Properties, Constraints and SQL viewer
  • Foreign-key conflict resolution
  • Export diagram as PNG
  • Operations for bulk tables
  • SQL export/copy, Schema generation
duplicate
themes
12 langs · rtl

Smart SQL generation

Engine-aware DDL with correct dependency ordering — full CREATE for v1, precise ALTER migrations for every version after.

ALTER TABLE projects
  ADD COLUMN archived_at TIMESTAMPTZ;
CREATE INDEX idx_projects_owner
  ON projects(owner_id);

First-class versioning

Every change is captured as a version. Compare, roll back, regenerate SQL or sync any past version to Git.

Schema validators

A curated catalog of validation libraries you can copy, download, or push to your repo through the same workflow as your migrations.

Constraints and rules

Primary keys, foreign keys, unique, check and default expressions — declared inline on the column or as table-level rules. Engine-aware syntax included.

PRIMARY KEY FOREIGN KEY UNIQUE CHECK DEFAULT NOT NULL

SQL import

Paste or upload existing DDL. The import planner previews every change before it touches your model.

Custom scripts

Attach pre- and post-migration SQL to any version. Seed data, grants, materialized views — anything your engine accepts, shipped alongside the schema.

-- post-migration
GRANT SELECT ON projects
  TO readonly;
Supported engines

14 engines. One workflow.

From classic relational stores to distributed SQL and cloud warehouses, DBModeler emits DDL that targets your real engine — never a lowest-common-denominator dialect.

Relational · 7
postgresql
mysql
mariadb
oracle
sqlserver
sqlite
db2
Distributed SQL · 3
cockroachdb
yugabytedb
tidb
Cloud warehouses · 3
snowflake
bigquery
redshift
Analytics · 1
duckdb
Storage you control

You decide where your models live.

Connect a cloud provider for cross-device sync, or keep everything strictly on this device. Switch whenever you like.

This browser

Local-first storage via IndexedDB. Nothing leaves your device.

ready

Google Drive

OAuth 2.0 with PKCE. Folders you choose, files you own.

ready

OneDrive

Microsoft Graph integration that works with personal and work accounts.

ready

Dropbox

Native Dropbox API with background sync and conflict resolution.

ready

Auto-sync, three-way merge and offline base snapshots are built in.

Zero trust by default

Your master password never leaves the browser.

Sensitive material — OAuth refresh tokens, Personal Access Tokens and repository secrets — is encrypted at rest with a key derived from a master password you set.

Asked only when needed

You are prompted for the master password the first time you connect a storage provider (Google Drive, OneDrive, Dropbox) or a Git provider (GitHub, GitLab), and again to unlock those secrets when you return.

AES-GCM encryption at rest

Secrets are encrypted with AES-GCM using a key derived from your master password through PBKDF2. Plain-text tokens never touch IndexedDB.

We never see your password

There is no backend. The master password and the derived key live only inside this browser tab — nothing is uploaded, neither the password nor the encrypted material.

Git-native workflow

Push your schema where your code already lives.

Connect GitHub or GitLab with a Personal Access Token. Each new version becomes a commit, a branch, or a Pull or Merge Request — whichever fits your team.

  • Per-project repository selection
  • Branch-per-version or commit-to-default strategies
  • Templated commit messages with version metadata
  • Same publishing flow for schemas and validators
GitHub GitLab
repository: app/db connected
init v1 merge v2 audit cols feat/v2 split orders feat/v3 (PR open)
commit
chore(schema): v2 audit columns
branch
feat/schema-v3
action
Open Pull Request →
Versioning

Every change has a story.

DBModeler captures a full snapshot and a diff for every version. Roll back, branch off, regenerate SQL or sync to Git without losing the context behind each decision.

  1. v1

    Initial schema

    CREATE statements for the entire model.

    compare·rollback·push
  2. v2

    Add audit columns

    ALTER TABLE with proper dependency ordering.

    compare·rollback·push
  3. v3

    Split orders table

    Push as PR — review with your team in GitHub.

    compare·rollback·push
Schema validators

Validation, ready to ship.

A curated catalog of validation libraries that mirror your model. Copy a snippet, download a file, or push it to Git the same way you ship a migration.

Copy Download Push to Git
YupZodJoiAjvPydanticclass-validatorMarshmallowCerberusVineVestSuperstructTypeBox
users.schema.js · Yup
import * as yup from 'yup';

export const userSchema = yup.object({
  id:    yup.string().uuid().required(),
  email: yup.string().email().required(),
  name:  yup.string().min(2).required()
});
On the horizon

Two things we are working on next.

Both will land without a price tag — because there is none.

Coming soon

Template marketplace

Bootstrap a project from a curated, ready-to-edit base: auth, billing, multi-tenant, e-commerce and more.

Coming soon

AI prompt-to-schema

Describe the product, get a starting model, then iterate visually with the editor you already know.

Community

A roadmap shaped by the people who use it.

Our roadmap lives in public. The board is where you vote, comment and tell us what hurts — every issue is read, and priorities follow community signal.

Issues live on a public GitHub project board. No account is needed to browse it.

Documentation

Two complete handbooks, written and maintained alongside the product itself.

  • User documentation

    Guides, walkthroughs and reference for everyday modelers.

  • Developer documentation

    Architecture notes, integration details and contributor primers.

Open the documentation
FAQ

Quick answers.

Is it really free?
Yes. Every feature, every engine and every storage provider — with no tier, no quota and no card on file.
Where is my data stored?
In your browser by default. You can opt in to Google Drive, OneDrive, Dropbox, or push directly to your own GitHub or GitLab repository. Nothing is ever sent to us.
Do I need an account?
No. The app loads and works immediately. You only authorize a provider when you want cloud sync or a Git push.
Does it work offline?
Yes. Install it as a PWA and the editor keeps working without a network. Sync resumes the moment you are back online.
Will there be a paid version?
A managed edition for teams is on the way. The browser app stays free, with no feature held back.
How do I report a bug or request a feature?
Use the feedback form below — every submission lands directly on our public roadmap.

Looking for the full reference? Browse the documentation for guides, API details and step-by-step tutorials.

Ready when you are

Open the app and model your first table in under a minute.