DBML in, diagrams out, teammates included

Draw your database
by typing it.

Write a few lines of DBML and watch the diagram build itself. Bring the whole team, edit together live, and ship it out as a migration, SQL, or a slick PNG.

blog_schema.dbml ALG
✓ Diagram up to date

Drag the tables around ↗

👆 That's a real (tiny) DBML renderer. Click into the code and type. Break it on purpose, too: we'll keep drawing what still makes sense.

Rails schema.rbstructure.sqlPostgreSQLMySQLSQL ServerSnowflakeDBML → schema.builders →Rails migrations + modelsPostgreSQLMySQLMarkdown data dictionaryAI promptsPNGSVGPDFDBML ✦

Why it's fun

Diagrams at the speed of thought.
No dragging boxes from a palette.

Text-first editor

CodeMirror with DBML highlighting, autocomplete for keywords, types, tables and even table.column refs. Errors show up inline, right where you made them.

Typo-proof diagrams

Half-finished line? Missing brace? The broken bit gets skipped, not the whole diagram. Your canvas never blinks out mid-thought.

A canvas that behaves

Drag tables, pan, zoom, auto-layout, groups. Click a table to jump to its DBML. Hover a column to light up every relation it touches.

Live share links

Hand anyone a view-only link. It updates live as you type, and you can switch it off whenever you like.

Personal + team workspaces

Everyone gets a private Personal workspace. Teams are joined by invite link, and joining one never exposes your personal diagrams.

Version history

Every change, per person, as a readable diff. One click puts any earlier version back.

Multiplayer mode

Schema review, but everyone's actually in the room.

Open the same diagram and you're all in it together: live cursors in the editor, live pointers on the canvas, table selections, presence avatars. Drag a table and it moves on everyone's screen.

Under the hood it's a CRDT (Yjs), so two people typing on the same line at once just… works. No locks, no "someone else is editing," no lost changes.

  • Shared text with live cursors
  • Synced table positions
  • Presence for every collaborator

Import & export

Anything in. Everything out.

Bring what you've got

Paste or upload it, then replace the diagram or append to it.

  • Rails schema.rb
  • structure.sql
  • PostgreSQL
  • MySQL
  • SQL Server
  • Snowflake
  • DBML

Take it anywhere

Docs for humans, DDL for databases, prompts for your AI pair.

  • Rails migrations + models
  • PostgreSQL
  • MySQL
  • Markdown data dictionary
  • AI prompts
  • PNG
  • SVG
  • PDF
  • DBML

For Rails folks

Drop in db/schema.rb. Get a diagram. Go get coffee.

Your whole Rails app, mapped in seconds. Sketch the next feature in DBML, then export the migration and models to drop straight back into your app.

# db/schema.rb
create_table "posts" do |t|
  t.references :user, null: false
  t.string "title"
end

↓ becomes ↓

Table posts {
  user_id bigint [not null, ref: > users.id]
  title varchar
}

Time travel included

Who dropped the email column? Now you'll know.

Every edit lands in version history as a per-person diff. Scroll back through what changed and who changed it, then restore any version in one click.

  1. AAda2 minutes ago
    +   archived_at timestamp
    
  2. LLinus14 minutes ago
    -   body varchar
    +   body text [note: 'Markdown content']
    
  3. GGraceyesterday
    + Enum post_status {
    +   draft
    +   published
    + }
    

FAQ

Questions, answered.

Still curious? The fastest way to find out is to make a diagram.

What's DBML?

DBML (Database Markup Language) is a tiny, readable language for describing tables, columns and relationships. If you've used dbdiagram.io, you already know it. schema.builders parses it with the official @dbml/parse compiler, so your existing files just work.

Can I bring my existing Rails app?

Yes. Import db/schema.rb or db/structure.sql and you'll have a diagram in seconds. Going the other way, export Rails migrations and models straight from your diagram.

What other databases can I import?

PostgreSQL, MySQL, SQL Server and Snowflake DDL, plus plain DBML. You can replace the current diagram or append to it.

How does real-time collaboration work?

Everyone edits the same text through a CRDT (Yjs), so simultaneous edits merge cleanly instead of clobbering each other. You see each other's cursors in the editor and pointers on the canvas, and table positions sync too.

If I join a team, can they see my personal diagrams?

No. Your Personal workspace stays private. Teams are separate workspaces you join by invite link, and you choose which diagrams move into them.

Can I share a diagram with someone who doesn't have an account?

Yes. Create a public view-only link. It stays live as the diagram changes, and you can disable it at any time.

What can I export?

PNG, SVG and PDF images; PostgreSQL and MySQL DDL; Rails migrations and models; DBML; a Markdown data dictionary; and ready-made AI prompts that give a model your schema as context.

Your schema is
one keystroke away.

Start with a blank diagram, or bring your schema.rb along for the ride.

Start building