ER Diagram Maker — Text to Entity Relationship Diagram
Write your database schema as text, see the entity-relationship diagram render live — export to PDF or SVG.
Everything runs in your browser — your diagram is never uploaded. Scroll to zoom, drag to pan. PDF export opens your print dialog: choose "Save as PDF".
This free ER diagram maker turns text into a rendered entity-relationship diagram as you type. Define your tables and their fields on the left, connect them with standard cardinality notation (one-to-many, many-to-many), and the diagram on the right updates live — then export it as a PDF for documentation or an SVG for slides and wikis.
Text-based diagramming beats drag-and-drop for real database work: your schema is versionable (paste it into git alongside your migrations), reviewable in a pull request, and editable in seconds instead of minutes of rectangle-shuffling. The syntax is standard Mermaid erDiagram notation, so diagrams you build here also render on GitHub, GitLab, and Notion.
How to use
- Open the Guide (toolbar) for the two-minute syntax reference, or load one of the built-in example schemas.
- Define each entity as a block: entity name, then one line per attribute with its type. Mark primary keys PK and foreign keys FK.
- Connect entities with cardinality arrows — CUSTOMER ||--o{ ORDER : places reads as 'one customer places zero-or-more orders'.
- Scroll to zoom, drag to pan, Fit to re-center. Export with Download PDF (opens your print dialog — choose 'Save as PDF') or Download SVG.
Frequently asked questions
What is an ER diagram?
An entity-relationship diagram is the standard way to design and document a database: boxes for entities (the things you store — customers, orders, products), attributes inside each box (the fields), and lines with cardinality markings showing how entities relate (one-to-one, one-to-many, many-to-many). Teams use them to agree on a schema before writing migrations, and to document existing databases.
What syntax does this tool use?
Standard Mermaid erDiagram syntax — an open, widely-supported text notation. Diagrams you write here render identically in GitHub READMEs, GitLab, Notion, Obsidian, and anywhere else Mermaid is supported, so your source text stays portable.
How do I show a many-to-many relationship?
Use }o--o{ between the entities (zero-or-more on both sides), or model it explicitly with a junction table — e.g. POST ||--o{ POST_TAG and TAG ||--o{ POST_TAG — which is closer to how you'd actually implement it in SQL. The built-in blog example shows the junction-table pattern.
Is my schema uploaded anywhere?
No. Rendering happens entirely in your browser — the text never leaves your device, which matters when you're diagramming a production database schema.
How do I save my work?
Your diagram source is plain text — copy it into a file, a ticket, or your repo, and paste it back anytime to continue. For the finished visual, export PDF (documentation) or SVG (infinitely scalable, embeds cleanly in slides and wikis).
Cardinality notation cheat sheet
• || — exactly one (a mandatory single record)
• o| — zero or one (optional single record)
• |{ — one or more (mandatory many)
• o{ — zero or more (optional many)
Combine one symbol from each side: CUSTOMER ||--o{ ORDER means every order belongs to exactly one customer, and a customer can have any number of orders — the most common relationship in business schemas. Use a dashed line (..) instead of solid (--) for non-identifying relationships.
Why design your schema before writing code
Most expensive database problems — orphaned records, duplicated data, tables nobody can join — trace back to schemas that grew without a plan. Ten minutes of ER diagramming forces the questions that matter early: What uniquely identifies this entity? Can this relationship really be one-to-many, or will it become many-to-many the first time a customer has two addresses? What happens on delete?
It's also the fastest shared language between technical and non-technical stakeholders: a business owner can read 'one customer places many orders' off a diagram and correct you — before the wrong assumption is baked into six months of code. Schema design is part of every system we build in our platform engineering practice, and a diagram is always the first artifact.
Related free tools
- Mind Map Maker — Type an indented outline, get a mind map instantly — export to PDF or SVG. No account, no drag-and-drop.
- Image Converter — Convert images between PNG, JPG, and WebP right in your browser. Files never leave your device.