ErdDocs

ER図作成ツール

ErdDocs は、ER図を「描く」のではなく「生成する」ツールです。SQL のダンプ、Prisma スキーマ、マイグレーション、ORM モデルを貼り付けると、エンティティ・カラム・IE 記法(鳥の足)のリレーションが数秒で表示されます。無料、登録不要、インストール不要で、何もアップロードされません。

スキーマ

左の SQL から生成した映画カタログの ER図です。ご自身のスキーマを上書きして貼り付けてください。

映画カタログのスキーマから生成した ER図。studios・people・films・film_credits・theaters・screenings の各テーブルがあり、すべてのリレーションに IE記法(鳥の足)の記号がついている。映画カタログのスキーマから生成した ER図。studios・people・films・film_credits・theaters・screenings の各テーブルがあり、すべてのリレーションに IE記法(鳥の足)の記号がついている。
同じ映画カタログのスキーマを、SVG 書き出しが描いたままの姿で載せています。

作図ツールですか?

いいえ。ErdDocs は貼り付けたスキーマから図を導き出します。図形パレットも、線を引く道具も、白紙から始めるキャンバスもありません。ここでの ER図は、スキーマを読んだ結果です。自分で組み立てるものではありません。データベースを記述しているテキストを貼り付けると、箱・カラム・キー・カーディナリティがそこから導かれます。テーブルをドラッグして配置を整えることはでき、その配置は共有リンクにも残ります。それでも、図に表示される内容はすべてスキーマから取り出したもので、手で打ち直す必要はありません。

この検索で上位に出てくるツールは、ほぼすべてがその逆の作りです。次の節では、ErdDocs が作図ツールに任せている唯一の場面を扱います。まだ存在しないデータベースです。

描くか、生成するか

決め手は一つ、スキーマがもう存在するかどうかです。

  • スキーマがまだない:描きましょう。 ErdDocs はスキーマを読むツールなので、この場面だけは扱いません。データベースがまだ存在しない段階では、ホワイトボードや作図ツールでエンティティを並べながら議論するのが正解です。注文は住所を持つのか、住所を参照するのか。このリレーションは本当に多対多なのか。そうした議論の場には、キャンバスやホワイトボードが合っています。議論がマイグレーションや CREATE TABLE にまとまったら、そこから先は ErdDocs が読みます。
  • スキーマがもうある:生成しましょう。 テーブルが実在するなら、その定義はすでに正確に書かれています。CREATE TABLE 文、Prisma スキーマ、マイグレーションファイル、ORM のモデルクラスです。その段階で ER図を手で描き直すのは、すでにある定義の書き写しにすぎません。時間をかけて得られるのは、手元にある記述の、信頼性の低い二つ目のコピーだけです。

ER図ツールのなかで、ErdDocs はすでに存在するデータベースのために作られています。ほかのツールは、ゼロから下書きするために作られています。ER図ツールを探す人の多くは、すでにスキーマを持っています。それでも検索結果に並ぶのが作図ツールなので、作図ツールを手に取ります。

ErdDocs にできて、ほかの ER図ツールにできないこと

下のツールはどれも ER図を描けます。表では、ErdDocs ができることを比べています。

機能ErdDocsdbdiagramEraserdiagrams.netLucidchartSmartDrawMiroFigma FigJam
SQL からテーブルとすべてのリレーションを自動で描画✓ あり✓ あり一部:SQL を AI へのプロンプトに使う一部:テーブルのみ、線は手で引く一部:テーブルを手でキャンバスに置く一部:SQL ではなく CSV から一部:AI か Mermaid のコードから一部:Mermaid のコードからのみ
Prisma と ORM モデルの読み込み✓ あり× なし一部:コードを AI へのプロンプトに使う× なし× なし× なし× なし× なし
外部キーのないリレーションを無料で検出✓ あり一部:有料プランの AI のみ記載なし× なし× なし× なし一部:AI がリレーションを提案記載なし
スキーマを提供元のサーバーに送らない✓ あり一部:リンク生成機能でのみ× なし✓ あり× なし× なし× なし× なし
アカウントなしで画像を書き出し✓ あり記載なし× なし✓ あり× なし× なし一部:シンプルなボードのみ× なし
Mermaid・DBML・PlantUML への書き出し✓ あり一部:DBML のみ× なし× なし一部:Mermaid を MCP 経由でのみ× なし一部:Mermaid のみ× なし
印刷できるテーブル定義書✓ あり一部:Web ドキュメント、PDF なし記載なし× なし× なし× なし記載なし× なし
サブスクリプションなしで使える✓ あり× なし× なし✓ あり一部:無料プランでは ER図の取り込み不可× なし× なし× なし

表は、2026 年 11 月時点の各提供元の公式ページにもとづいています。「記載なし」は、提供元がその点に触れていないという意味です。製品名はそれぞれの権利者に帰属します。

いちばん近いのは dbdiagram です。dbdiagram も SQL から図を作ります。ただし Prisma や ORM モデルは読めず、Mermaid や PlantUML への書き出しもありません。外部キーのないリレーションを見つけるのは AI だけで、それも有料プランに限られます。有料プランはサブスクリプションしかありません。ErdDocs の支払いは一度だけです。

Eraser は SQL を解析しません。SQL をプロンプトとして AI モデルに渡すので、スキーマは端末の外に出ます。書き出しにはアカウントが必要です。書き出せる形式に Mermaid・DBML・PlantUML はありません。

diagrams.net は、貼り付けた SQL からテーブルを作ります。ただし、テーブル間のリレーションは手で引きます。ORM モデルは読めず、テーブル定義書も作りません。

Lucidchart では、アカウントと、稼働中のデータベースで実行したクエリが必要です。取り込んだテーブルは、そのあと手でキャンバスに並べます。リレーションは、宣言された外部キーからしか作られません。

SmartDraw は、稼働中のデータベースからクエリで書き出した CSV をもとに ER図を作ります。SQL ダンプや ORM モデルは読めません。動くのはオンラインだけです。

Miro と Figma FigJam は、SQL ではなく、AI か Mermaid のコードから ER図を作ります。スキーマは各社のクラウドに保存されます。書き出しもアカウントを通して行います。

手で描いた ER図は古くなり、生成した ER図は古くならない理由

手で描いた図は、データベースとのつながりを持たないスナップショットです。次のマイグレーションで、カラムが増えたり、テーブル名が変わったり、外部キーが消えたりします。それでも図は古い形を示し続けます。誰かが図の存在を思い出し、ファイルを見つけ、編集ソフトのライセンスを持ち、時間を割くまでそのままです。たいていは、描いた週に更新されたきり二度と直されません。スキーマのすぐ隣に、そのスキーマと食い違う図を置いたリポジトリはよくあります。

生成した図には、同期を保つべき別の版がありません。スキーマのテキストをそのまま表示したものなので、最新のダンプで作り直すのに数秒しかかからず、結果は作り方からして正確です。リリースのたびに生成し直せます。同じ貼り付けから、README 用の Mermaid、ドキュメントサイト用の SVG、引き継ぎ用の完全なテーブル定義書を書き出せます。

貼り付けられる形式

10 種類の形式に対応し、形式は自動で判定されます。ファイルはそのまま貼り付けてください。何が書かれているかはツールが見分けます。

  • SQL: PostgreSQL・MySQL・SQL Server・SQLite の SQL を、サーバーやツールが書き出したままの形で読みます(pg_dump、mysqldump、SSMS の「スクリプトの生成」)。バッククォート、AUTO_INCREMENT、SSMS の GO バッチ、あとの ALTER TABLE で宣言されたキーもすべて読み取ります。ダンプに何が含まれるかは MySQL のページをご覧ください。
  • スキーマ言語: Prisma、DBML、Mermaid、PlantUML。これらはもともとテキストで書かれた図なので、描画するだけです。
  • ORM のモデル: Django・SQLAlchemy・Sequelize・TypeORM のクラスと、Laravel のマイグレーション。データベースがアプリのコードで定義されているため、これまで図が一度もなかった種類です。

Mermaid の erDiagram、DBML、PlantUML、SQL として書き出すこともできるので、README やドキュメントにそのまま貼れます。各形式で何を読み、何をあえて読まないかは、形式のページに一覧があります。

生成された図には何が描かれるか

テーブルごとに箱が一つあり、中には実際の型つきのカラムが並び、キーには印がつきます。すべてのリレーションの両端には IE記法(鳥の足)の記号が描かれます。そのため図はカーディナリティを暗示するのではなく、はっきり示します。上の映画カタログでは、film_credits が自分のカラムを持つ中間テーブルです。多対多がデータベースに落ちると、実際にこの形になります。

Rails や Laravel のプロジェクトでは、外部キー制約をデータベースに定義していないことがよくあります。スキーマが宣言していないリレーションは、カラム名の規則から推定します(film_id は films を指す)。推定したリレーションは破線で描くので、データベースが強制しているリレーションと取り違えることはありません。この手順がいちばん効くのは、引き継いだ本番データベースです。その理由はデータベース図ツールのページで詳しく説明しています。

よくある質問

箱をドラッグして並べる ER図作成ツールですか?

いいえ。ErdDocs は貼り付けたスキーマから図を生成するので、図形パレットも線を引く道具もありません。これは意図した設計です。テーブルをドラッグして配置を整えることはでき、その配置は共有リンクにも残ります。それでも手で描くものは何もなく、箱も線もすべて SQL から作られます。

ER図は生成せずに手で描くべきですか?

テーブルが実在するようになったら、ErdDocs が ER図を生成します。ほとんどの人がいるのはこの場面です。誰かが図を求めるころには、たいていスキーマはもうあるからです。扱わないのは、まだ作られていないデータベースだけです。マイグレーションを書く前のデータモデルは、キャンバスにエンティティを描きながら議論して決めます。その場面には汎用の作図ツールが向いています。下書きがマイグレーションや CREATE TABLE になったら、ここに貼り付けてください。図はスキーマそのものから作られます。

何を貼り付けられますか?

10 種類の形式です。PostgreSQL・MySQL・SQL Server・SQLite の SQL、Prisma スキーマ、DBML、Mermaid、PlantUML、Django のモデル、SQLAlchemy のモデル、Sequelize のモデル、TypeORM のエンティティ、Laravel のマイグレーション。形式は自動で判定されます。ファイルはそのまま貼り付けてください。事前の整形も書き出しの手順も要りません。

アカウント、インストール、データベース接続は必要ですか?

どれも必要ありません。パーサーはブラウザで動く JavaScript なので、接続するサーバーも、アップロードするスキーマもありません。テーブル名やカラム名が端末の外に出ることはありません。ページを開いて貼り付ければ、図が表示されます。

VSCode や A5:SQL Mk-2 の ER図機能とは何が違いますか?

インストールもデータベースへの接続も不要で、手元の SQL や Prisma ファイルを貼り付けるだけで描ける点です。ER図と同じ貼り付けから、印刷できるテーブル定義書も作れます。

スキーマを変更したら図はどうなりますか?

新しいダンプを貼り付ければ、数秒で作り直されます。手で描いた ER図は、その存在を覚えている人が直さない限り古いままで、次のマイグレーションからデータベースとずれ始めます。生成した図は毎回スキーマから作られるので、ずれようがありません。

無料で使えますか?

25 テーブルまでのスキーマは登録なしで全体を表示でき、PNG・SVG・Mermaid・DBML・PlantUML・SQL の書き出しも無料です。それより大きいスキーマも全体を解析し、上限を超えたテーブルはロックして表示します。一度 $9 を支払うと上限がなくなり、テーブル定義書も使えます。

関連ページ