Free diagram maker

ER diagram tool

An entity relationship diagram is how you settle the shape of a database before anyone writes a migration. Boxes are the things you store, lines are how they relate, and the marks on the ends of the lines say how many of each.

Free, no account, and nothing you draw is uploaded.

Published . By the DiagramDesk team.

Example er diagram toolplacescontainsappears inCustomerid PKemailnamecreated_atOrderid PKcustomer_id FKplaced_attotalOrder itemid PKorder_id FKskuquantityProductsku PKtitleprice

The editor has entity boxes with a heading band for the table name and crow's foot ends for the relationships, which is the notation nearly every team uses in practice.

Drawing the entities and relationships

  1. Open the template. It has customers, orders, order items and products already joined up.
  2. Rename each entity by double-clicking its heading band.
  3. List attributes in the body of the box, marking the primary key PK and foreign keys FK.
  4. Connect two entities by dragging a dot from one to the other.
  5. Select the connector and set the ends: a bar for one, a crow's foot for many.
  6. Label each relationship with a verb, so the line reads as a sentence.

Reading crow's foot notation

Bar (one)
Exactly one. A single stroke across the line near the entity.
Crow's foot (many)
Zero or more. The three-pronged fork.
Bar and crow's foot
One or more. The relationship must have at least one on that side.
Circle (zero)
Optional. Combined with a crow's foot it means zero or more, which is the most common case of all.
Read it both ways
A good relationship label makes sense in both directions: a customer places many orders, an order is placed by one customer.

A worked example: a small library

Three entities cover most of it. Member, with a member number as its key; Book, with an ISBN; and Loan, which records a member borrowing a copy on a date. A member can have many loans and each loan belongs to one member, so the line from Member to Loan has a single bar at the Member end and a crow's foot at the Loan end.

The trap is drawing a direct many-to-many line between Member and Book. It looks right, since a member borrows many books and a book is borrowed by many members, but it leaves nowhere to put the date or the return. The Loan entity in the middle is where that information lives, and spotting that kind of missing entity is most of what an ER diagram is for.

Why draw the data first

  • Designing a schema before you build it
  • Documenting a database somebody else built and nobody wrote down
  • Coursework on normalisation and relational design
  • Agreeing what a record actually means before an integration

Ready to draw yours?

The example above opens in the editor, so you can edit rather than start cold.

Open the editor

ER diagram questions

Can it generate SQL?

No. This is a drawing tool, so it produces the diagram rather than a schema file. The diagram is the thing you agree on before the SQL gets written.

Can I import an existing database?

No, there is no database connection. Nothing in this editor talks to a server, which is also why nothing you draw is uploaded.

Chen notation or crow's foot?

The template uses crow's foot because that is what most teams read fluently. You can build Chen-style diagrams with the diamond and ellipse shapes if a course requires it.

How do I show a many-to-many?

Draw the join table explicitly, as the template does with order items. It is nearly always clearer than a bare many-to-many line.