🔥 Summer Sale - 45% off the Schemity License with code HOTSUMMER · ends Aug 31 · Get the deal → 🔥 45% off License · code HOTSUMMER →

The Offline ERD Tool
Built For Software Engineers

Schemity is an offline desktop ERD tool for software engineers on macOS, Windows, and Linux - a $129 one-time purchase, no cloud, no subscription. Break complex schemas into focused Context Views - one source of truth, many perspectives - stored as Git-friendly JSON files that never leave your machine.

2-week trial, all features unlocked, no credit card. See all platforms

The Schemity desktop app showing a PostgreSQL schema as an ERD: entities grouped into colored legends named auth, audit and account, crow's foot relationships between tables, red U badges for unique constraints, TEXT[] array columns on sso_configs, a minimap in the corner, and a status bar reading Entities: 59, Relations: 71, Context view: Main, PostgreSQL: 17.5

The Difference

How Schemity Differs From Other ERD Tools

Most ERD tools are drawing canvases that live in a browser. Schemity is a desktop tool wired to the database it describes - and every difference below is one you can check in the first ten minutes of the trial.

It reads your database, and keeps up with it

Browser ERD tools take your schema as text you paste in, so the diagram starts drifting the moment the next migration lands. Schemity opens a real connection, reverse engineers the schema, and re-syncs every time you open the diagram: entities keep the layout you gave them, dropped tables disappear, and new ones arrive ready to place.

Many perspectives, one source of truth

Past about thirty tables, a single canvas stops being readable, and most tools answer with zoom and auto-layout. Schemity answers with Context Views - focused sub-diagrams you arrange freely while the schema itself stays untouched - and a Context Map that draws the dependencies between them from the real foreign keys.

The diagram is a file you own

In most tools the diagram is a row in the vendor's database, reachable for as long as you keep paying. Schemity writes plain JSON into a folder you choose, so a schema change is reviewed in a pull request as a diff - versioned, branched, and revertible with the tools you already use.

You can only draw what a database would accept

Most canvases let you join any column to any column and pick a cardinality from a menu. In Schemity a foreign key targets the parent's primary key, cardinality follows that key's uniqueness, referential actions are set per relationship, and duplicate table names are refused - so a diagram that looks valid is valid.

AI help that never routes through us

Cloud tools bundle AI as a metered feature and send your schema through their servers to get it. Schemity's assistant is bring-your-own-key: the schema goes straight to the provider you picked, on your account - or nowhere at all, if you point it at a local model through Ollama.

One purchase, and no meter on your model

Subscription tools price per seat and cap how many tables you may model, which quietly changes how you design. Schemity is $129 once, with no limit on tables, diagrams, workspaces, or Context Views - and no reason to merge two entities to stay under a quota.

Coming from a specific tool? Read the honest comparison: ChartDB, dbdiagram.io, DbSchema, DrawSQL, or Lucidchart.

Capabilities

Visual Modeling That Stays Out of Your Way

A schema visualizer with smart defaults, drag-and-drop relationships, and a visual editor that gets out of your way - so your team spends time understanding the schema, not fighting the tool.

Smart Relationships

Create 1:N, 1:1, or N:N relationships with simple drag-and-drop. Auto junction table generation, auto FK naming - no manual wiring needed.

Safe Migration Workflow

Every schema change requires explicit migration confirmation - no accidental alterations to your database. Review the exact ERD migration SQL diff before applying.

Import SQL/DBML

Import CREATE TABLE statements, a SQL dump file, or a DBML file. Schemity builds entities, fields, and relationships automatically - no database connection needed. Export back to DBML anytime.

Rapid Prototyping

Sketch your schema in seconds, before the idea fades.

Flexible Relationship Lines

Reshape any connector with custom waypoints and smart routing.

Check Constraints as Documentation

Fields with an IN constraint are underlined, with their allowed values one keystroke away.

Custom Entity Colors

Color an entity and every relationship leaving it inherits the color.

Clear Unique Together

Composite unique constraints render as named, color-coded badges.

Tabs as Systems

Open several diagrams at once, each with its own undo history.

Schemas as Structure

Model across PostgreSQL schemas, not just the public one.

AI Assistant

BYOK or local Ollama - your schema never routes through our servers.

Workflow

How Schemity Works: Three Steps From Database to Documented Schema

Connect your database, break it into focused Context Views, and evolve the schema with confidence - all from a single source of truth.

1

Connect, Import, or Start Fresh

Reverse engineer PostgreSQL to ERD in seconds, visualize a MySQL schema on your desktop, or start from scratch. Get a complete visual picture of your schema - no weeks of manual documentation. Everything stays on your machine.

Schemity's Connection Manager: a Workspace column listing demo, default, work, erd and suberd, beside a Diagram column mixing live PostgreSQL connections on 127.0.0.1, a SQLite file path, a Supabase database, and several diagrams marked Offline ERD, with MySQL and SQL Server icons among them
Live PostgreSQL, a SQLite file, Supabase, MySQL, SQL Server - and diagrams marked Offline ERD that never touch a database.
2

Break It Into Context Views

Reduce 50 tables down to a 10-table focused view. Create one Context View per concern - auth, billing, analytics - ready for audits, handovers, or onboarding new team members.

Schemity's Context Views panel over a 67-entity CMS diagram: Main marked Active, followed by twelve named views - Auth, catalog, mission, account, localization, targeting, assistant, attribute, progress, config, speech, learning - each with a coloured dot, and a status bar reading Entities: 67, Relations: 101
67 entities and 101 relations in Main, split into twelve named views. The Auth view is eight entities.
3

Evolve with Confidence

Schemity diffs your ERD against the live database and generates the exact SQL migration. Your ERD lives as plain JSON in your repo - no third-party server ever sees your schema.

Schemity's Migration confirm dialog after adding an address field on the canvas: the generated statement ALTER TABLE users ADD COLUMN address TEXT NOT NULL DEFAULT, a note that migrations run inside a transaction and roll back on error, and a Cancel button beside Apply SQL statement
One field added on the canvas, the exact ALTER TABLE it generates, and a Cancel button next to Apply.
Context Map

See How Your Bounded Contexts Depend On Each Other

Context Views zoom you in on one part of the schema. The Context Map zooms you out: every context becomes a single node, and the arrows between them are derived from the foreign keys that actually exist in your database - so the map cannot drift from the schema.

Schemity's Context Map for a CMS schema: each bounded context is a single node labelled with its entity count - learning 17 entities, progress 7, localization 5, attribute 4, catalog 3, account 3 - joined by arrows carrying a badge with the number of foreign keys flowing that way, over a status bar reading Contexts: 12, Dependencies: 20
  • Every arrow is counted. A badge shows how many foreign keys flow that way, so coupling between contexts is a number, not a feeling.
  • Circular dependencies show up as curves. A straight arrow is one-way; a curved one means both contexts depend on each other.
  • Double-click for the actual foreign keys. Source field, target entity, constraint name - a suspicious arrow becomes a list of columns to fix.
  • Ask the AI about your architecture. The BYOK assistant finds indirect cycles spanning several contexts, which no visual scan can reveal.
The learning to account arrow opened in Schemity: a panel headed This arrow exists because of the following entity relations, listing trainees.member_id to members via fk_trainees_member, training_sessions.presenter_id to members via fk_training_sessions_presenter, and three more tenant_id foreign keys with their constraint names
Double-click any arrow and it decomposes into the foreign keys underneath it - source field, target entity, constraint name. Nothing here is drawn by hand, which is why the map cannot drift from the schema.
Philosophy

Why Schemity Has No Real-Time Co-Editing

Schema design is deep work: one designer holds the pen, and the whole room debates the design.

Security

Security: Your Schema Never Leaves Your Machine

An ERD tool with no cloud means your client's schema never touches a third-party server. What we don't store, we don't have to protect - and you don't have to audit. Safe for NDA projects, client work, and air-gapped environments.

No Personal Data Stored

We only store an auto-generated device ID and your country - for license management and regional support. No name, no email, no usage tracking. Nothing that identifies you.

Payments Handled by LemonSqueezy

All payment processing and billing are managed by LemonSqueezy. Schemity never sees or stores your payment information.

SOC 2 and ISO 27001 Ready

Because Schemity stores almost nothing, it largely satisfies SOC 2 and ISO 27001 requirements by design. Your ERD files live locally in your repo - not on our servers.

Cross-Platform

Native on Every Platform

Experience seamless performance and native feel across all major operating systems.

Design your schema where it belongs - on your machine

$129 one time. Two-week trial with every feature unlocked, no credit card, and your diagrams stay yours whether you buy or not.

From the Blog

Notes on Schema Design and ERD Perspectives

Working notes on context views, ERD best practices for software engineers, and the principles behind a Git-native ERD tool. The latest few posts.

Unique Constraints on Nullable Columns: What They Enforce and What They Exempt
Unique Constraints on Nullable Columns: What They Enforce and What They Exempt
A unique constraint covers only the rows where every column in the key has a value. Sometimes that exemption is the design and sometimes it...
Postgres Array Column vs Junction Table: What Each One Does to Your ERD
Postgres Array Column vs Junction Table: What Each One Does to Your ERD
An array of IDs is a many-to-many relationship with no foreign key and no line on the diagram. Schemity renders PostgreSQL array types as re...
DrawSQL Alternative: An Offline Desktop ERD Tool With No Table Limits
DrawSQL Alternative: An Offline Desktop ERD Tool With No Table Limits
DrawSQL has no live database connection and caps tables on every plan. Schemity is the offline DrawSQL alternative that reverse engineers yo...