Features

Everything the board can do

A database diagram board built for how teams actually design schemas: readable DBML as the source of truth, a live shared canvas, and designs that leave the board as working code.

ERD

Interactive entity relationship diagrams

Every table renders as a card with typed fields, PK and FK badges, and not-null markers. Enums are draggable cards of their own, and enum-typed fields are highlighted so you can spot them at a glance. Foreign keys draw as curved lines from the referencing field to the referenced primary key, and hovering a table highlights all of its relationships.

USE

Modular DBML across multiple files

Real schemas outgrow a single file. Split yours across as many DBML documents as you want: every file in a project is resolved together, so tables and enums reference each other file to file with no import lines to write or keep in sync.

Pasting in a file that already carries use * from './file' lines works too, since those are recognized and ignored.

// catalog.dbml

Table artists {
  id uuid [pk]
  name varchar(120)
}

Table albums {
  id uuid [pk]
  artist_id uuid [ref: > artists.id]
  title varchar(200)
}
// tracks.dbml

Table tracks {
  id uuid [pk]
  album_id uuid [ref: > albums.id]
  title varchar(200)
  track_number smallint
}

Two files, nothing importing anything. tracks.album_id resolves to albums in the other file because both belong to the same project.

LIVE

Real-time collaboration

The board is shared: everyone signed in sees the same tables, positions, and notes, updated live. Organizations group your projects and members with owner, admin, and member roles, and each project grants editor or viewer access, so permissions match responsibility. Layout, zoom, and pan state persist between sessions, with a local cache for instant first paint.

SQL

SQL import for Postgres, MySQL, and MSSQL

Paste a DDL dump from Postgres, MySQL, or MSSQL and DB Planner converts it to DBML and renders the diagram. It is the fastest way to get an existing production schema onto a board your team can talk around.

OUT

Export to C#, SQL, DBML, Mermaid, and images

Designs leave the board as working code. Generate C# model classes with Entity Framework annotations or as plain POCOs, with naming and namespace options to match your codebase. The file split carries through: a class whose table references another document gets the using for it.

Export SQL for Postgres, MySQL, or MSSQL and anything that does not survive the trip is listed before you run it, not after.

The schema itself travels as DBML, diagrams as Mermaid, and any board exports as an image, ready to drop into a README, a wiki page, or a design doc.

using Cadence.Models.Catalog;

namespace Cadence.Models.Tracks;

[Table("tracks")]
public class Track
{
    [Key]
    [Column("id")]
    public Guid Id { get; set; }
    [Required]
    [Column("album_id")]
    public Guid AlbumId { get; set; }
    [Column("genre_id")]
    public Guid? GenreId { get; set; }
    [Required]
    [Column("title")]
    public string Title { get; set; }
    [Required]
    [Column("track_number")]
    public short TrackNumber { get; set; }
    [Required]
    [Column("duration_ms")]
    public int DurationMs { get; set; }
    [Required]
    [Column("is_explicit")]
    public bool IsExplicit { get; set; }

    [ForeignKey(nameof(AlbumId))]
    public Album? Album { get; set; }
    [ForeignKey(nameof(GenreId))]
    public Genre? Genre { get; set; }
}

Exporting the same schema to MySQL

  • citext is not a MySQL type; use VARCHAR or TEXT (MySQL text compares case-insensitively by default)
  • timestamptz is not a MySQL type; use TIMESTAMP or DATETIME
  • uuid is not a MySQL type; use CHAR(36) or BINARY(16)
TXT

A real DBML editor, built in

Edit schema text side by side with the diagram in a CodeMirror editor with DBML syntax highlighting, bracket matching and auto-closing, auto-indent, and an in-editor find with match highlighting. Parse errors surface with the offending line number, and the diagram reloads as you type.

NOTE

Notes on the board and in the DBML

Drop draggable, resizable sticky notes anywhere on the board in seven colors. These live on the canvas, independent of the schema.

Table and column notes work the other way round: you write them in the DBML, as a table Note: or a column note:, and they render on the diagram. A table note appears in a collapsible footer on the table card. A column note puts an icon beside that field, and clicking it opens the note next to the card. Both render as markdown, so the reasoning behind a field lives next to the field itself and stays in the schema text where it can be reviewed.

VIEW

A canvas that stays out of your way

Scroll to zoom toward the cursor, drag the background to pan, collapse tables to just their headers, undo and redo with standard shortcuts, and auto-arrange the whole board with one click when you want a fresh layout.

MCP

Connect an AI agent over MCP

DB Planner hosts a Model Context Protocol server, so an MCP client like Claude Code, Claude Desktop, or Cursor can work on your schemas as tools. Add the endpoint, authorize once in the browser, and the agent can list and edit your organizations, projects, DBML and SQL documents, and board layout, all against the same live data your team sees.

Access is granted by OAuth scope and enforced on the server: dbplanner:read lists and reads, dbplanner:write creates, edits, and deletes. You choose which one a client gets on a consent screen, and no password or API key lives in the config.

Add it in Claude Code with one command, claude mcp add --transport http db-planner https://api.dbplanner.io/mcp, or drop the server into your .mcp.json:

{
  "mcpServers": {
    "db-planner": {
      "type": "http",
      "url": "https://api.dbplanner.io/mcp"
    }
  }
}

See it on your own schema

Import a dump or paste a few lines of DBML and the diagram appears immediately. Check what it costs or see how it compares to dbdiagram.io.

Start designing free