ER図作成ツール
ErdDocs は、ER図を「描く」のではなく「生成する」ツールです。SQL のダンプ、Prisma スキーマ、マイグレーション、ORM モデルを貼り付けると、エンティティ・カラム・IE 記法(鳥の足)のリレーションが数秒で表示されます。無料、登録不要、インストール不要で、何もアップロードされません。
左の SQL から生成した映画カタログの ER図です。ご自身のスキーマを上書きして貼り付けてください。
作図ツールですか?
いいえ。ErdDocs は貼り付けたスキーマから図を導き出します。図形パレットも、線を引く道具も、白紙から始めるキャンバスもありません。ここでの ER図は、スキーマを読んだ結果です。自分で組み立てるものではありません。データベースを記述しているテキストを貼り付けると、箱・カラム・キー・カーディナリティがそこから導かれます。テーブルをドラッグして配置を整えることはでき、その配置は共有リンクにも残ります。それでも、図に表示される内容はすべてスキーマから取り出したもので、手で打ち直す必要はありません。
この検索で上位に出てくるツールは、ほぼすべてがその逆の作りです。次の節では、ErdDocs が作図ツールに任せている唯一の場面を扱います。まだ存在しないデータベースです。
描くか、生成するか
決め手は一つ、スキーマがもう存在するかどうかです。
- スキーマがまだない:描きましょう。 ErdDocs はスキーマを読むツールなので、この場面だけは扱いません。データベースがまだ存在しない段階では、ホワイトボードや作図ツールでエンティティを並べながら議論するのが正解です。注文は住所を持つのか、住所を参照するのか。このリレーションは本当に多対多なのか。そうした議論の場には、キャンバスやホワイトボードが合っています。議論がマイグレーションや CREATE TABLE にまとまったら、そこから先は ErdDocs が読みます。
- スキーマがもうある:生成しましょう。 テーブルが実在するなら、その定義はすでに正確に書かれています。
CREATE TABLE文、Prisma スキーマ、マイグレーションファイル、ORM のモデルクラスです。その段階で ER図を手で描き直すのは、すでにある定義の書き写しにすぎません。時間をかけて得られるのは、手元にある記述の、信頼性の低い二つ目のコピーだけです。
ER図ツールのなかで、ErdDocs はすでに存在するデータベースのために作られています。ほかのツールは、ゼロから下書きするために作られています。ER図ツールを探す人の多くは、すでにスキーマを持っています。それでも検索結果に並ぶのが作図ツールなので、作図ツールを手に取ります。
ErdDocs にできて、ほかの ER図ツールにできないこと
下のツールはどれも ER図を描けます。表では、ErdDocs ができることを比べています。
| 機能 | ErdDocs | dbdiagram | Eraser | diagrams.net | Lucidchart | SmartDraw | Miro | Figma 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 を支払うと上限がなくなり、テーブル定義書も使えます。
関連ページ
- ER図とは:考え方と、図の読み方。
- データベース図ツール:同じツールを、モデルではなくデータベースを見ている人向けに説明したページ。
- ER図の記号:図形と線端の意味。
- スキーマ図:スキーマ図と ER図の違い。
- ER図のサンプル:題材ごとのスキーマと、その元になった SQL。
- ERDPlus の代わり:作図ツールにはできず、ErdDocs にできること。
- SQL から ER図:読めるすべての形式に対応したツール本体。