For most development teams, a generator you run in CI is enough: tbls (MIT, a single Go binary that writes Markdown and ER diagrams and can lint for missing comments) or SchemaSpy (open source, Java, browsable HTML with diagrams). If you prefer to write the schema as code, dbdocs.io publishes a documentation site from a DBML file. On SQL Server, Redgate SQL Doc generates HTML, PDF, Word or Markdown from inside SSMS. For a GUI that documents and diagrams, DbSchema Pro exports HTML5, PDF and Markdown, and Azimutt is an open source explorer with notes and layouts. Choose Dataedo only when you need an organisation-wide data catalog with lineage and governance, which is a different, much larger purchase.
"Database documentation" covers two different products. Schema documentation generators read a database (or a schema file) and produce pages describing each table, column, key, index and relationship, usually with diagrams. They are cheap or free, and suit a team that wants its schema explained next to its code. Data catalogs document data across an organisation: many databases, BI tools and pipelines, with business glossaries, lineage, ownership and data quality. They are platforms with enterprise pricing. This guide covers both, labelled, so you do not buy a catalog when a generator would do, or the reverse.
There is overlap with diagram tools: most generators draw ER diagrams, and several ER tools export documentation. If a diagram is the main thing you need, our best ER diagram tools guide is the better starting point; this guide is about the written description of the schema and keeping it current.
Every tool here is only as good as the descriptions it can find. Most generators read comments stored in the database itself, so the cheapest improvement is to add them where they belong:
-- PostgreSQL and Oracle
COMMENT ON TABLE orders IS 'One row per customer order';
COMMENT ON COLUMN orders.status IS 'pending, paid, shipped or cancelled';
-- SQL Server (T-SQL): the MS_Description extended property
EXEC sys.sp_addextendedproperty
@name = N'MS_Description', @value = N'One row per customer order',
@level0type = N'SCHEMA', @level0name = N'dbo',
@level1type = N'TABLE', @level1name = N'Orders';
Quick picks
MIT-licensed single binary that writes Markdown and diagrams, diffs the live schema against the docs and lints for missing comments.
Browsable HTML documentation with relationship diagrams for any JDBC-accessible database, also published as a Docker image.
Write the schema in DBML, push it with a CLI, and get a shareable documentation site.
Generates HTML, PDF, Word or Markdown from SSMS, using extended properties for descriptions.
Catalog, lineage and data quality across 50+ connectors, with unlimited viewers on every plan.
How we chose
Considered: Dataedo, Redgate SQL Doc, ApexSQL Doc, dbdocs.io, SchemaSpy, tbls, DbSchema, Azimutt, and the documentation features of ER and client tools covered in other guides.
Inclusion criteria: currently maintained; produces documentation of a relational schema that people other than the author can read (HTML, Markdown, PDF, a hosted site or a catalog); and its licence or pricing model and supported databases could be confirmed on official pages or repositories. ApexSQL Doc (now supported through Quest) is not listed as an entry: the latest version we found on Quest's support site, 2024.01, is shown in Quest's lifecycle table as moving to Limited Support on 16 June 2025, which means no new fixes or enhancements as standard, so we do not recommend it for new work.
What was checked, not tested: product, pricing and documentation pages, GitHub repositories and release pages, on 7 October 2026. The order is not a ranking: open source generators first, then documentation-as-code, then commercial tools, then the data catalog.
At a glance
| Tool | Price | Type | Databases | Output | Main trade-off |
|---|---|---|---|---|---|
| tbls | Free (MIT) | Generator (CLI) | PostgreSQL, MySQL, SQL Server, SQLite, Snowflake, BigQuery and more; no Oracle listed | Markdown, diagrams (SVG, PNG, Mermaid, PlantUML), JSON, Excel | Command line only |
| SchemaSpy | Free (open source) | Generator (CLI, Java) | Over a dozen built in, plus any JDBC driver | HTML with diagrams | Needs a Java 17 runtime, or Docker |
| dbdocs.io | Free (paid plans via dbdiagram.io) | Documentation as code (hosted) | Any schema written in DBML | Hosted web documentation | You maintain the DBML; no live sync |
| Redgate SQL Doc | Paid (14-day trial) | Generator (Windows GUI and CLI) | SQL Server 2014 to 2025, Azure SQL | HTML, PDF, Word, Markdown | SQL Server and Windows only |
| DbSchema | Freemium (docs in Pro) | Design and documentation GUI | Relational and NoSQL | HTML5, PDF, Markdown | Documentation not in the free edition |
| Azimutt | Freemium (MIT open source) | Schema explorer with notes | PostgreSQL, MySQL, SQL Server, Oracle, MongoDB, Snowflake and more | Interactive diagrams and notes | Free hosted plan cannot save projects |
| Dataedo | Paid (annual, 14-day trial) | Data catalog and governance | 50+ connectors incl. BI and ETL tools | Web catalog | Priced as an organisation-wide platform |
tbls
tbls describes itself as "a CI-Friendly tool to document a database, written in Go". It reads the schema, including the comments stored in the database, and writes GitHub-flavoured Markdown with ER diagrams; output formats also include DOT, PlantUML, Mermaid, JSON, YAML, Excel, SVG and PNG. The latest release when we checked was v1.96.1 (28 September 2026).
Three features make it useful beyond a one-off export. tbls diff compares the live database with the committed documentation, so CI can fail when they drift. tbls lint enforces rules such as requireTableComment, requireColumnComment and requireForeignKeyIndex. tbls coverage reports the percentage of tables and columns that are documented. You can also add comments in .tbls.yml without altering the database. Supported sources include PostgreSQL, MySQL, MariaDB, SQLite, SQL Server, Azure SQL, BigQuery, Cloud Spanner, Redshift, Snowflake, ClickHouse, Databricks, DynamoDB and MongoDB.
- Oracle is not in its list of supported databases.
- No GUI; the output is files, so you need a docs site or Git host to present them.
SchemaSpy
SchemaSpy is "a database metadata analyzer" that produces an HTML report of a schema with entity relationship diagrams drawn by Graphviz. Its GitHub repository carries LGPL-3.0 and GPL-3.0 licence files. The latest release, v7.0.2 (20 September 2025), requires Java 17 or newer, adds an AsciiDoc markup processor, and stops including routine definitions in the output by default (use --include-routine-definition to show them).
It supports more than a dozen databases out of the box and others through their JDBC drivers, and the schemaspy/schemaspy Docker image avoids installing Java locally. It is a good fit for publishing a static documentation site from a nightly job.
- No releases since September 2025 at the time of checking.
- Static output: it documents what is there, with no editing of descriptions in the tool.
- Needs a Java 17 runtime, or Docker.
dbdocs.io
dbdocs.io, from Holistics (the makers of dbdiagram.io), publishes web-based database documentation from code written in DBML, an open source schema language. You install the CLI with npm install -g dbdocs, run dbdocs build database.dbml --project=your_project, and get a shareable URL. Keeping the DBML file in Git and rebuilding on commit keeps the site current; projects can be password-protected or made private, and a self-hosted version is available on request.
The site calls dbdocs "a free & simple tool"; its pricing link now redirects to the dbdiagram.io pricing page. If you start from a live database, the open source DBML CLI can generate DBML from PostgreSQL, MySQL, SQL Server, Snowflake, BigQuery or Oracle, as covered in our ER diagram tools guide.
- It documents the DBML you write, not the live database, so it drifts unless you regenerate the DBML.
- Documentation is hosted by the vendor unless you arrange the self-hosted version.
Redgate SQL Doc
Redgate SQL Doc generates documentation for SQL Server databases as HTML, PDF, Microsoft Word or Markdown files, from its own interface or by right-clicking a database in SSMS Object Explorer. It shows object definitions and dependencies, stores your annotations as extended properties (so descriptions live in the database), and supports white-label branding. A sqldoc command line runs a saved project from scripts or build servers.
The SQL Doc 5 requirements list SQL Server 2014 to 2025, Azure SQL Database, SQL Server on Amazon RDS and Google Cloud SQL, and SSMS 18 to 22. It is sold per user per year as a standalone subscription and is also part of Redgate's SQL Toolbelt Essentials bundle.
- SQL Server family only.
- Windows only.
- Subscription pricing for what is a fairly narrow job; teams already on the Toolbelt get it in the bundle.
DbSchema
DbSchema is a diagram-centred design tool for relational and NoSQL databases. According to its purchase page, the free Community edition connects, reverse-engineers and diagrams a database but has no documentation generation or saved model files. Pro adds offline model files and HTML5, PDF and Markdown documentation, plus a query builder, schema synchronisation and data tools; Architect adds logical and conceptual design. Licences are per developer, perpetual with a first year of updates or monthly, and every download starts with a 15-day trial of all features.
- Documentation generation needs a paid edition.
- A desktop tool, so automating documentation in CI is less natural than with tbls or SchemaSpy.
Azimutt
Azimutt calls itself a "Next-Gen ERD" to design, explore, document and analyse databases. Its MIT-licensed repository lists documentation features such as table and column notes, tags, layouts and memos, plus a schema analysis for inconsistencies, and it can be self-hosted with Docker. The repository lists PostgreSQL, MySQL, MariaDB, Oracle, SQL Server, SQLite, MongoDB, Couchbase, Snowflake, BigQuery and Apache Hive among supported sources.
The hosted Free plan allows unlimited tables for exploration but one user and no saved projects; paid plans add saving, collaboration and AI features, and on-premises support is in the enterprise plan. You can import only the schema rather than connect the tool to the database.
- The hosted Free plan cannot save projects, so ongoing documentation needs a paid plan or self-hosting.
- Notes live in Azimutt rather than in the database, so other tools will not see them.
Dataedo
Dataedo now describes itself as "an all-in-one Data Governance platform" for mid-size organisations, covering a data catalog, data lineage, data quality and governance, with "50+ native connectors" for databases, ETL tools, BI tools, data lakes and applications. That makes it a data catalog, not just a schema documenter: its value is a shared, searchable description of data across many sources, maintained by data stewards.
Its pricing page publishes three annual plans (Essentials, Data Lineage and Data Quality), priced by editor licences with a minimum of three editors and unlimited viewers, plus a 14-day trial and a proof-of-concept licence. Prices are set for organisation-wide use; check the pricing page before shortlisting it for a single application.
- Priced as a governance platform, far above the other tools here.
- More process than a development team documenting one schema needs.
How to choose
One application, one team: put descriptions in the database with COMMENT ON or MS_Description, then generate documentation in CI with tbls (Markdown in the repo, with lint and drift checks) or SchemaSpy (an HTML site). If you design schemas in DBML anyway, dbdocs.io turns the same file into a shared site. SQL Server shops needing formal documents: Redgate SQL Doc. Visual, GUI-led teams: DbSchema Pro or Azimutt.
Many systems, many owners: that is a data catalog problem, and Dataedo is one option in that market. Start small first: a generator in CI will tell you how much of your schema is undocumented before you buy a platform. To practise reading and querying documented schemas, try our SQL exercises.
Frequently asked questions
What is the best free database documentation tool?
For generated documentation, tbls (MIT) and SchemaSpy (open source) are free and both run in CI. dbdocs.io is free to publish DBML-based documentation, and Azimutt is open source if you self-host it. DbSchema's free Community edition does not generate documentation.
What is the difference between database documentation and a data catalog?
Database documentation describes one schema: tables, columns, keys and relationships, usually generated from the database. A data catalog describes data across an organisation, with search, business glossaries, lineage between systems, ownership and data quality. Generators such as tbls and SchemaSpy do the first; platforms such as Dataedo do the second.
How do I keep database documentation up to date?
Generate it from the database instead of writing it by hand, and run the generator on every schema change. tbls can compare the live database with the committed docs (tbls diff) and fail a build on missing comments (tbls lint). Store descriptions as database comments or extended properties so every tool can read them.
Can I document an Oracle database with these tools?
tbls does not list Oracle. SchemaSpy works with JDBC databases, Azimutt lists Oracle, the DBML CLI can generate DBML from Oracle for dbdocs.io, and Dataedo has a wide connector list. Oracle SQL Developer Data Modeler is another free option; see our best Oracle database tools guide.
Is ApexSQL Doc still available?
ApexSQL Doc is supported through Quest. The latest version we found on Quest's support site, 2024.01, is listed as moving to Limited Support on 16 June 2025, which means no new fixes or enhancements as standard. For SQL Server, Redgate SQL Doc is the actively sold alternative.
Sources
- tbls GitHub repository
- tbls releases
- SchemaSpy GitHub repository
- SchemaSpy releases
- dbdocs.io
- Redgate SQL Doc product page
- Redgate SQL Doc 5 requirements
- Redgate SQL Doc: using the command line
- DbSchema purchase and editions
- Azimutt GitHub repository
- Azimutt pricing
- Dataedo
- Dataedo pricing
- ApexSQL Doc product life cycle (Quest)
Checked October 2026.
How we research these guides: our editorial method.