ErdDocs

Data dictionary generator

ErdDocs generates a data dictionary from a SQL dump, a Prisma schema or framework models. Every table, column, type, default, index and relationship goes into one reference document, which you save as a PDF from the browser’s print dialog. An interactive ER diagram sits beside it. No signup, no install. The schema is parsed in your browser and never uploaded.

Your schema

The example above carries schema comments, so its dictionary has a Description column. Paste your own dump to see yours.

From database to dictionary in three steps

  1. 01Export the schema: pg_dump --schema-only mydb > schema.sql for PostgreSQL, mysqldump --no-data mydb > schema.sql for MySQL, or take your Prisma schema.prisma as it is.
  2. 02Paste it above or drop the file onto the panel. The dictionary appears as the schema is read.
  3. 03Click Save as PDF, and your browser’s print dialog produces the document. It never touches a server either.

Descriptions come from your schema

Databases already have a place for descriptions, but they are rarely rendered.

  • PostgreSQL: COMMENT ON TABLE orders IS '…' and COMMENT ON COLUMN orders.status IS '…'. pg_dump exports them with the schema automatically.
  • MySQL: inline COMMENT '…' on columns and tables in CREATE TABLE. mysqldump keeps them.
  • Prisma: /// documentation comments above models and fields land in the dictionary as descriptions.

Everything else is read from the DDL itself. That covers types as written, nullability, defaults, keys, indexes, and partitions folded under their parent table. Some dumps declare no foreign keys at all (Rails and Django rarely do). Then relationships are recovered from column naming and marked as such, so an auditor can always tell declared keys from inferred ones.

Who needs a data dictionary

  • Audits and compliance. “Send us the data dictionary” is a standard request. ErdDocs answers it from a pasted schema dump in minutes, while assembling one by hand against a live database takes days.
  • Client handover. Agencies close projects with documentation. ErdDocs produces that deliverable as a document the client can print and keep.
  • Onboarding. A new engineer reads one document instead of interrogating information_schema table by table.

FAQ

What does the generated data dictionary contain?

ErdDocs describes every table. For each one it lists the columns with data types exactly as declared, nullability and default values. It adds primary and foreign keys with the columns they point at, unique constraints, indexes, and both directions of every relationship. Table and column comments from the schema become descriptions. Partitioned tables are listed once, with their partitions named under the parent.

How do I generate a data dictionary from an existing database?

Export the schema as SQL: pg_dump --schema-only for PostgreSQL, mysqldump --no-data for MySQL. Then paste the file above and switch to the Data Dictionary view. Printing the document with your browser produces the PDF. Nothing is installed and the SQL never leaves your machine.

How do descriptions get into the dictionary?

From the schema itself. PostgreSQL COMMENT ON TABLE and COMMENT ON COLUMN statements, MySQL inline COMMENT 'text' clauses, and Prisma /// documentation comments all land in the Description column. Where a schema carries no comments, ErdDocs leaves the Description column out entirely rather than printing it empty.

Is it free?

The diagram renders up to 25 tables free. The dictionary describes the three most-connected tables in full. The tables that follow are shown as named outlines in the places they would occupy, and any remainder is counted. That is enough to see the exact document you would get. One payment of $9 unlocks the complete dictionary and the full diagram, with no subscription, no renewal and no account.

Does my schema get uploaded anywhere?

No. Parsing, the diagram and the dictionary all run inside your browser, and the PDF is produced by your browser printing the page. The schema never reaches a server, because there is nothing to upload it to.

Related